It is the 3rd day of Your week @ PHD and we have already posted some excellent array formulas, productivity hacks and other very useful tips. Just one more day is remaining, so if you want to share something with all of us, go ahead and submit your tips for your week.
Must read: part 1 of excel tips shared by readers | part 2
Display file path in Excel using Web Toolbar by Ang Kean
Excel by default not display the open workbook full path name.
Tips : add the web toolbar item
1. Right click at the toolbar area, choose “Customize…”
2. Browse “Categories:” to “Web” and “Commands:” to “Address”
3. Drag the “Address” Commands to toolbar area by holding left mouse key.
Making VLOOKUP ranges dynamic by Thuy
I use VLOOKUP a lot in my work and while it was great to use, I wanted a bit more ability to check my formula without having to click on every cell to do so.
Now, I use both the INDIRECT, MATCH, and named ranges in my VLOOKUP to help check the accuracy of my references quickly.
In this example, to get my scores for each region for q3_12, my old VLOOKUP formula would be a simple:
=VLOOKUP(W$29,’Data’!$A$1:$AZ$200,6,FALSE)
To
=VLOOKUP(W$26,INDIRECT(“‘”&$Q29&”‘!a1:az200”),MATCH($R29,INDIRECT($S29),0),FALSE
I actually put the data range in a column Q29 on my spreadsheet and indicate the named Range of in the column. In this case, my reference named range is “Data”.
For the column count, before using match, I would count manually but whenever there was a data change (as in, columns would get moved around), I would need to change the column manually. It would get very confusing considering I use over 500 lookup formulas in my workbooks and not very accurate.
I use the MATCH function to help me locate the column that I needed the LOOKUP to look under. First, I would name the row of my data reference sheet to something like DataCol: =Data!$1:$1.
Then in my vlookup formula worksheet, I would put in column R29, put the heading of the column I was looking for in Column Q29, in this case it would be “q3_12”. In column S, I would indicate the named range of where to look for the match. In this case it is “DataCol.”

R1C1 still makes sense by Vishy
What is R1C1 reference style
Instead of using letters for columns and numbers for rows (i.e. A1 reference style), R1C1 style enables using numbers for both rows and columns.
Why should you know this
- You are working on a machine with such setting, so instead of getting flummoxed, you better understand it (or at least learn to revert to A1 style referencing)
- Easy to construct “Indirect” addresses, “offset” references etc. (used in conjunction with Row, Column, Address, Rows, Columns functions)
- Easy to write macro loops (since dealing with numbers instead of single/double letters)
- The two styles are equivalent in power, but R1C1 style has an advantage when it comes to formula editing (eg. find/replace functionality)
How to setup
- XL 2003 : Tools > Options > General > Settings > R1C1 reference style
- XL 2007 : Office > Excel Options > Formulas > Working with formulas > R1C1 reference style
How to use
- RxCy : absolute reference to xth row and yth column (any of x / y could be missing which then means “current”)
- R2C10 refers to 2nd row 5th column (equivalent to E2 in A1 style)
- RC5 refers to current row 5th column
- R[x]C[y] : relative reference w.r.t. current cell to xth row down (up if x is -ve) and yth column right (left if y is -ve)
- R[2]C[-10] refers to 2nd row down and 10th column left of current row
- RxC[y] : mixing of absolute/relative reference
Where should one not use this
While working on the sheet, relative reference may be far apart from current cell. If there is large number of such references, avoid R1C1 style.
Interesting Trivia (added by PHD)
my twitter handle is r1c1, so are my reddit, digg and older blog’s handle
More resources to help you understand these tips better:
Vlookup excel formula in plain English
Thank you so much Ang Kean, Thuy and Vishy. You are *really* outstanding individuals.
PS: We have only one more day people, so go ahead and share your tips. Go!














12 Responses to “Analyzing Search Keywords using Excel : Array Formulas in Real Life”
Very interesting Chandoo, as always. Personally I find endless uses for formulae such as {=sum(if(B$2:B$5=$A2,$C$2$C$5))}, just the flexibility in absolute and relative relative referencing and multiple conditions gives it the edge over dsum and others methods.
I've added to my blog a piece on SQL in VBA that I think might be of interest to you http://aviatormonkey.wordpress.com/2009/02/10/lesson-one-sql-in-vba/ . It's a bit techie, but I think you might like it.
Keep up the good work, aviatormonkey
Hi Chandoo,
You might find this coded solution I posted on a forum interesting.
http://www.excelforum.com/excel-programming/680810-create-tag-cloud-in-vba-possible.html
[...] under certain circumstances. One of the tips involved arranging search keywords in excel using Array Forumlas. Basically, if you need to know how frequent a word or group of keywords appear, you can use this [...]
@Aviatormonkey: Thanks for sharing the url. I found it a bit technical.. but very interesting.
@Andy: Looks like Jarad, the person who emailed me this problem has posted the same in excelforum too. Very good solution btw...
Realy great article
"You can take this basic model and extend it to include parameters like number of searches each key phrase has, how long the users stay on the site etc. to enhance the way tag cloud is generated and colored."
How would you go about doing this? I think it would need some VB
Hi,
I found the usage very interesting, but is giving me hard time because the LENs formula that use ranges are not considering the full range, in other words, the LEN formula is only bringing results from the respective "line" cell.
Using the example, when I place the formula to calculate the frequency for "windows" brings me only 1 result, not 11 as displayed in the example. It seems that the LEN formula using ranges is considering the respective line within the range, not the full range.
Any hint?
@Thiago
You have to enter the formula as an Array Formula
Enter the Formula and press Ctrl+Shift+Enter
Not just Enter
Thank you, Hui! I couldn't work out how this didn't work
is there a limit to the number of lines it can analyse.
Ie i am trying to get this to work on a list of sentances 1500 long.
@Gary
In Excel 2010/2013 Excel is only limited by available memory,
So just give it a go
As always try on a copy of the file first if you have any doubts
Apologies if I am missing something, but coudn't getting frequency be easier with Countif formula. Something like this - COUNTIF(Range with text,"*"&_cell with keyword_&"*")
Apologies if I missed, but what is the Array Formula to:
1. Analyze a list of URL's or a list of word phrases to understand frequency;
2. List in a nearby column from most used words to least used words;
3. Next to the list of words the count of occurrences.