It is no exaggeration that knowing excel formulas can give you a career boost. From someone starting at the long list of numbers, you can become a data god who can lookup, manipulate and analyze any spreadsheet by learning few excel formulas.
So when our little excel blog hit the 5000 RSS Subscriber milestone, I celebrated the occasion by asking you to share an excel formula through twitter or comments with rest of us. And boy, what an excellent list of formula tips you have shared with us all.
Here is the complete list of entries for the twitter formula contest.
Follow the links next to contributor’s name to see the original twitter post or comment
To return the full Path+Filename of your (saved) workbook
by Dmurphy on PHD comments
To return the full Path+Filename of your (saved) workbook (and dropping the [] characters) to get, for example, C:\Data\ExcelFiles\MyWorkbook.xls: =SUBSTITUTE(SUBSTITUTE(LEFT(CELL(”filename”,$A$1), FIND(”]”,CELL(”filename”,$A$1))),”[“,””),”]“,””)
Create a Dynamic Range that Grows and Shrinks with Data
by ps62 on twitter [@ps62]
IF($A6=””,””, SUM(OFFSET(Data,$A6-1,StartDateIndex-1,1,NumCols))) – makes stuff dynamic
Find the last cell in a row
by govi on twitter [@govi]
Return last filled cell in a row: =LOOKUP(9,999E+307;A1:IV1)
Cleaning your data (Example, changing the values in a column)
by artjohnson on twitter [@artjohnson]
Excel. Cust name header in C9 and text datalist below. Formula in B9 moves name from C9 to B9. Copy down. =if(isblank(C8),c9,b8)
Extract the month from a date
by Alan on PHD comments
Probably a easier way of doing this , extracting the month from a date as text. A1 is date =TEXT(DATE(0,MONTH(a1),1),”mmmm”)
Clean your text before you lookup
by rushikul on twitter [@rushikul]
=VLOOKUP(CLEAN(TRIM(E20)),F5:G18,2,0). To make sure you are using clear text, as text is most used in vookup_value
Find if two ranges are statistically different
by nandoaires on twitter [@nandoaires]
=IF((1-(1-NORMSDIST(ABS(A1-A2)/SQRT((2*AVERAGE(A1:A2)*(1-AVERAGE(A1:A2)))/(A3))))*2)>0,95;”Different”;”Equals”)
Lookup 3 criteria and return the match
by Alan_xls on twitter [@Alan_xls]
=Index(return,Match(1,(1stRange=criteria1)*(2ndRange=criteria2)*(3rdRange=criteria3),0)) Return result where 3 values match,Array Form
Offset with Match, get data from somewhere else
by Arnab Bose on PHD comments
This formula looks up data from another sheet considering three parameters keeping into account the column A and column B with sub-components (both on another sheet) and matching them up with the heading on both sheets. =OFFSET(’Data Sheet’!$C$1,MATCH(D$2,’Data Sheet’!$A$2:$A$140,0)+MATCH($B5,’Data Sheet’!$B$2:$B$20,0)-1,MATCH(D$3,’Data Sheet’!$C$1:$J$1,0)-1)
Using SUM with multiple conditions
by ps62 on twitter [@ps62]
{=SUM(IF(shoes=”nike”,Units,0))} – array formula – two conditions
VLOOKUP but get values from the left
by bsamson on twitter [@bsamson]
VLookup to return values to the left of the lookup range: =INDEX(SearchRange,MATCH(LookupValue,LookupRange,FALSE))
Getting data from a dynamic range
by Arnab Bose on PHD comments
This formula extracts data from a dynamic data range and returns a zero value if there is an #N/A error. =IF(ISNA(HLOOKUP($A14,Data!$AB$2:$AW$9,MATCH(”P”,Data!$AB$2:$AB$2,0),0)), 0,HLOOKUP($A14,Data!$AB$2:$AW$9,MATCH(”P”,Data!$AB$2:$AB$2,0),0))
Find the difference between maximums of two ranges
by PreetAulakh on twitter [@PreetAulakh]
{=MAX(K5:M5-K4:M4)}, one step formula to determine the max of difference of two ranges! No curly brackets in excel, Cltr+Shift+Enter
Find the top 3 values of a range
by JassiAulakh on twitter [@JassiAulakh]
Large(A1:A100,{1,2,3}). Gives you 3 highest values of a range. Select three cells and enter this formulas. Then Cltr+Shift+Enter
SUMPRODUCT with multiple conditions
by Martin on PHD comments
Here’s my little contribution (previously posted 😉 Named Ranges (should be dynamic, but….) Ship $A$2:$A$8 Captain $B$2:$B$8 flights $C$2:$C$8 in F:F Summary_ship $F$2:$I$2 this 3:3 Summary_Captain $E$3:$E$6 data is in range A1:C8, and summary is in E1:I6. =SUMPRODUCT((Ship=in Summary_ship)*(Captain=this Summary_Captain)*(flights))
Get the name of the workbook
by Dmurphy on PHD comments
To return the name of the workbook only, e.g. MyWorkbook.xls: =MID(CELL(”filename”,$A$1),FIND(”[“,CELL(“filename”,$A$1))+1,FIND(“]“,CELL(”filename”,$A$1))-FIND(”[”,CELL(”filename”,$A$1))-1)
Excel Formula Fun – Should we fight… ?
by chrismelck on twitter [@chrismelck]
=IF(ISERROR(VLOOKUP(WOMD,Iraq,1,FALSE)),”Declare war”,”Declare war anyway”)
More ways to use IF and Then formula
by Olu D. on PHD comments
This formula determines the Active (=”T”) status or otherwise of Employees in an Excel spreadsheet: =IF(AC2=””,”X”,IF(AND(AC2=500000,AD2=””),”T”,IF(AND(AC2500000,AD2?”),”F”,”Pls Enter Leaving Reason!!”)))
Using INDIRECT along with VLOOKUP to make dynamic lookups
by squash86 on twitter [@squash86]
=VLOOKUP(B3, INDIRECT(B36), COLUMN()-1,FALSE) The INDIRECT returns the name of a named range that holds the data table.
Calculate the p-value of a t-statistic [Don’t ask me what it is 😛 ]
by David on PHD comments
=NORMDIST(-1*ABS((Z27-AE27)/AG27),0,1,TRUE). Calculate p-value for t-statistic based on means in Z27 and AE27 and the std err of mean in AG27.
What is on the right side of that string
by aniVy on twitter [@aniVy]
=RIGHT(A1,LEN(A1)-FIND(“-“,A1,1)) – Extracts right side string after a hyphen.
Find frequency distribution of a range of values
by Cody on PHD comments
=FREQUENCY(DY5:DY118,EU4:EU14) for creating frequency distributions. I can’t believe I went so long before discovering that there’s an easy built-in array function that does this. Constructing the distribution by hand was always a pain.
In-cell bar graph
by JohnCorp on twitter [@JohnCorp]
=REPT(“|”,A1/MAX($A$1:$A$5)*30) creates a bar graph from the data in the range a1:a5, change the font to change the look of the graph
Get the name of the current worksheet
by Dmurphy on PHD comments
To return the name fo the current worksheet, e.g. “Sheet1?: =MID(CELL(”filename”,$A$1),FIND(”]”,CELL(”filename”,$A$1))+1, LEN(CELL(”filename”,$A$1))-FIND(”]”,CELL(”filename”,$A$1)))
Excel formula fun – Usetheforce()
by _mikii on twitter [@_mikii]
=usetheforce(choke,”Moff Jerjerrod”)
UDF to calculate to royalty, I am not getting any
by chrislbs on twitter [@chrislbs]
=TieredRoyalty($R$16:$T$19,I5) @r1c1 Uses a UDF to calculate royalty on I5 based on a TierTable in R16:T19, saving nested vlookups
Find the Next Friday the 13th
by S3bast1an on twitter [@S3bast1an]
ARRAYformula – Next Friday 13th is =MIN(IF(((WEEKDAY(TODAY()+ROW(1:1000);2)=5)*(DAY(TODAY()+ROW(1:1000))=13))=1;TODAY()+ROW(1:1000)))
Split first name and last name
by Mahmut on PHD comments
=LEFT(A1,FIND(” “,A1)-1) =RIGHT(A1,LEN(A1)-FIND(” “,A1)) Split first names and last names.
IF with a VLOOKUP
by m4th1337 on twitter [@m4th1337]
=IF(VLOOKUP(C1,’Historical Data’!$A$2:$S$332,4,FALSE)>F1,”-“,IF(VLOOKUP(C1,’Historical Data’!$A$2:$S$332,4,FALSE)
And now for the winners
I wish I had more prizes to give. All the tips are truly marvelous. I have learned several cool uses of excel formulas. But alas, we have only 2 prizes in this contest.
Dashboard bundle from Bonavista Systems goes to Govi
The excel formulas 2007 book by John Walkenbach goes to DMurphy
Both the winners are randomly selected. I have already sent them an e-mail with the further instructions to claim the prizes.
Big thank you to Bonavista Systems, the contest sponsor
I would like to thank Andreas from Bonavista systems for sponsoring the dashboard bundle. Bonavista systems makes some really cool tools for excel dashboards, spark-lines and helps you make cleaner and better looking charts. Checkout their products and know more about them from their site.
Further Resources if you want to learn Excel Formulas

24 Responses
I’d suggest simply using the subtotal function and filtering the data using the Win/Loss column. You get the same results and the formula is more comprehensible.
@John
That is one option.
There are times however when you want to see the whole data table or a filtered subset and still want to produce summary reports against an unfiltered field.
Is there a particular reason why you are using a comma and the unary (–) operator for the second array in the SUMPRODUCT formula? It seems to work the same if you were to string the arrays together using the asterisk (*). The advantage is that SUMPRODUCT treats the entire string of arrays as a single array.
@Mathew
Your correct, There is no difference.
I thought it may have been easier to explain this method.
Is there a way to do this on a large set of data? As in ~100,000 rows? When I try I get an error because the formula becomes too long. It says the max length of a formula is 8,192 characters. Excel 2010.
How do I incorporate a specific text within a cell for the second array. For instance, – -(C7:C13=”Apple”)
when I chose a specific text the formula does not work.
@RB
I am not sure what is the issue as if I use the sample data in the post the following work fine
Count:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(C7:C13,ROW(C7:C13)-MIN(ROW(C7:C13)),,1)), –(C7:C13=”L”))
Sum:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(C7:C13,ROW(C7:C13)-MIN(ROW(C7:C13)),,1)),(C7:C13=”L”)*(D7:D13))
You may want to check that there are no leading or trailing spaces in your list of Apples
I should have given a better explanation. Heres my situation. I have a column with cells filled with names like Column 1, Column 2, Pier 1, Pier 2, etc. If the cell just contained Pier and searched for that it works. But because it has other characters in the cell its not recognizing the pier. So how can I extract specific characters of a string of text in this formula?
Hopefully this was a better explanation
Hello-
This formula works pretty well for me except that it slow down excel and prevents some of my macros from working. I was wondering if there was a way to program this in VBA so that excel isn’t always trying to recalculate it. I would like to use a push of a button to get it to run then paste in a cell.
Thanks!
I am trying to sum filtered data in a column, but would want to ignore the negative values in the column. How to go about doing this?
@Akshay
Why not just add a filter to that column to only show the values greater than zero?
The negative values are required for reporting purposes, but their effect on the total is distorting the required output. Please advise.
@Akshay
I’d suggest making a post in the Chandoo.org Forums
http://forum.chandoo.org/
Attach a sample file to simplify the task
I have this working for counting and summing, however, I have a list and for the second array, I need a criteria. That is, I’m looking for b13:b200=”01.??.??” or =left((a1,2) or something like that. These types of criteria matches do not appear to work as I get a blank as a result.
Thanks!
@Bob
As your formula b13:b200=”01.??.??” looks like you are trying to check the first day of the month of the range
What about trying Day(B13:B200)=1
Hai Experts,
i understood this formula well and working fine in MS Excel 2013
but when the same am trying to place in google Spreadsheet it shows error as
“SUMPRODUCT has mismatched range sizes. Expected row count: 1. column count: 1. Actual row count: 2014, column count: 1.” and as a result #VALUE! Appears in cell.
Can anyone please help me how would i get it done in Google Spread sheet
or is there any other formula as a substitute for this.
Thank you very much.
thanks for providing this.. but why does excel keeps on prompting Circular referencing in cell D3?
@Vivek
I don’t know
I just downloaded the file and it is working fine and not showing that error
Goto the Formulas, Calculation Options Tab and check that Calculation is set to Automatic
What version of Excel and Windows are you using ?
I know that this forum is for MS Excel, but I am trying to help someone who is working in Google Sheets. The below formula works in Excel but Google Sheets returns:
“SUMPRODUCT has mismatched range sizes. Expected row count: 1. column count: 1. Actual row count: 39000, column count: 1.” and as a result #VALUE! Appears in cell.
This is the same problem asked by Srichirin above. Does anyone know if there is a formula for Google Sheets that will replicate what MS Excel does?
=SUMPRODUCT(SUBTOTAL(3,OFFSET($C$6:$C$39500,ROW($C$6:$C$39500)-MIN(ROW($C$6:$C$39500)),,1)),- -($C$6:$C$39500=H1),($D$6:$D$39500))
Trying to find a SUMPRODUCT formula that counts the word Closed by date for the last 7 days in a filtered list.
=COUNTIF(M:M,”>”&TODAY()-7) works ok for unfiltered count Column M contains Closure dates (blank if open) and Column L is Status Open or Closed
@ Terry
Please ask the question at the Chandoo.org Forums
https://chandoo.org/forum/
Please attach a sample file to ensure a quicker more accurate answer
I used this formula and worked like a charm! But, now I’ve been requested to use it but adding not one but two criteria in the same formula. For instance the sum I was doing added negative and positive numbers. I’ve been asked to use the exact same formula but adding that only positive numbers were considered… any idea on how to do this?
How exactly do you do sum filtered cells when two criteria are need not just one?
Thank you so much brother literally I have been struggling since morning to get the sum of the filtered category, however, after reading your blog attentively i got my solution, so thanks a lot once again.