Last week we saw a number of Excel Tips, Tricks, Cheats & Hacks supplied by Microsoft Excel MVP’s.
This week I have invited the Chandoo.org, Excel ninjas to contribute their Excel Tips, Tricks, Cheats & Hacks.
Chandoo has Excel ninjas?
Absolutely!
Do they have swords?
No (sigh)
But you can read all about them here: Chandoo.org Excel ninjas
The Chandoo.org Excel ninjas have solved in excess of 63,000 Excel questions in the 7 years that Chandoo.org Forums have been active. Hence they are imminently qualified in all areas Excel and as such the tips and tricks they will share will be essential reading.
Lets go:
001. Find & Replace Hack No.1 – Shrivallabha
You can use CTRL+J to simulate the Enter character in “Find and Replace” or “Text to Columns” fields.
Example:
Download the sample file here: Download sample file
Cells B2:B4 contain text with multiple lines per cell
There is an invisible Enter Character in those cells that can be added via use of Ctrl+J or Alt+Enter as the data is entered
To seperate each line please follow these instructions
Select B2:B4

Goto the Data, Text to Columns tab
Select Delimited
Select Other and Type Ctrl+J in the adjacent box
Next
Change the Destination to D2
Enjoy
Contribution by: Shrivallabha
002. Find & Replace Hack No.2 – Shrivallabha
Using escape character ~(tilde) while replacing *(asterisk) from text in the Find and Replace box.
If someone does Find and Replace * directly then everything gets replaced as * acts as wildcard.
So you have to use ~* for replacing an asterisk * character in a string.
Contribution by: Shrivallabha
003. Select All – Shrivallabha
You can use the Select All Shortcut Ctrl + A to select all items listed below
- Items in a List
- Contiguous Cells in a Range
- All cells in a worksheet, press Ctrl + A twice
- All shapes, Select first shape, then press Ctrl + A
Contribution by: Shrivallabha
004. Apply a filter to the first row of a range – Shrivallabha
Apply a filter to the first row of a range
Select any cell in a range
ALT D + F + F (Applies filter to first row of the cells contiguous with the current cell)
Contribution by: Shrivallabha
005. Fill Blank cells with the value in the cell above – Asheesh
- Select the range that contains blank cells you need to fill.
- Click Home > Find & Select > Go To Special…, and a Go To Special dialog box will appear, then check Blanks option.
- Click OK, and all of the blank cells have been selected.
- Assume that the Top Left Blank cell is A3, then input the formula =A2 into active cell A3 without changing the selection.
- Press Ctrl + Enter, Excel will copy the respective formula to all blank cells.
- At this point, the filled contents are formulas, and we need to convert the formals to values.
- Select the whole range, copy it Ctrl + C, and then press Ctrl + Alt + V to active the Paste Special… dialog box. Then select Values option from Paste, and select None option from Operation.
Contribution by: Asheesh
006. Multiple Consolidation Ranges to Pivot table – Asheesh
You can use “Multiple Consolidation Ranges” of Pivot Table to generate a unique list from Multiple Sources.
Goto the worksheet where your data lists are
To achieve this you need to add the Pivot Chart Wizard to either the QAT or Tab Bar
Start the Pivot Table Wizard or use the Keyboard Shortcut ALT + D P
Select Multiple Consolidation Ranges then click Next
Select Create a single page field for me and Next
Select your data range, including a blank leading column and then click Add button.
Notice: As per the excel file A1:A7 is blank.The Data is in Columns B:D.
Had this not been the case then we needed to insert a new blank column at the left of the data and that is Column A in this example
Click on Finish button
You will have a table like the one in the below image in a new worksheet.
Now go the Pivot Table Field options and do the following
You should have a unique list of values
You can Right Click on the Grand Total and DeSelect Grand Total to remove the Grand Total if required
You can now use this list in a Named Formula, Data Validation, Chart or other use where the required Unique List is required.
Note: If the Source Data changes you will need to Right Click on the List and select Refresh Data
Refer to the attached file: Download Sample File
Hui, in his second post at Chandoo.org, actually wrote about this technique in Feb 2010 but using a Single List – Read it here
Contribution by: Asheesh
007. Hiding Rows that are blank – Faseeh
Hiding Rows that are blank.
I have a sheet on daily basis in which certain cells in a column are blank I want to hide the rows with those blank cells.
What I do is…
- Select the cell range (the column).
- Press F5, you will get the Go To Menu.
- Check the option Blank.
- Press Ctrl+9 to hide the selected range.
Contribution by: Faseeh
008. Hiding Rows that are blank – Faseeh
To use the subtotal function to get the serial number right is the one that my accounts department loves. They were tired of creating commercial invoices with serial number created by dragging manually.
Here is the procedure.
Serial Number list that do not change with Filter
Assume you want to enter serial in column A and your data is present in column B. The formula look like this: =SUBTOTAL(3,$B$4:B4)
Drag downward. (This is only one time drag). Now if you filter the list the serial number will be changed accordingly.
Contribution by: Faseeh
009. Slab Rate Formula – Faseeh
This is a formula for slab rate that gives total price for a quantity with given slab rate.
So we want the price for 2,000 items
The first 1,000 will cost 0.35, the second 1,000 will cost 0.33
The total cost is found by =SUMPRODUCT((E3>=A3:A5)*(E3-A3:A5)*(B3:B5-B2:B4))
Download a sample file here: Download Sample File
Contribution by: Faseeh
010. Navigation tricks to get around spreadsheet faster – Luke M
Use Ctrl+Arrow key to jump to end of range.
Use Ctrl+Shift+Arrow key to select all data to end of range
Contribution by: Luke M
If you’d like to hire Luke for an Excel project, contact him at:
LukeMoraga@gmail.com
011. Select Visible Cells in a Filtered range – Luke M
When dealing with filtered ranges:
Use Alt+; to select visible cells only
Contribution by: Luke M
If you’d like to hire Luke for an Excel project, contact him at:
LukeMoraga@gmail.com
012. QAT – The Quick Access Toolbar; Shortcuts – Luke M
I’ve seen many users who don’t know about, or use the the Quick Access Toolbar (QAT) very well.
Everyone has a list of things they use often. Put these on the QAT to improve your efficiency.
My favorite thing is that all items on the QAT get auto-assigned shortcuts of Alt+[1-9].
On my system, I have Paste Values and Paste Formulas in the 2nd and 3rd slots, so I can easily do those by hitting Alt+2 or Alt+3.
Press Alt +
1 2 3 4 5 6 7 8 9
Contribution by: Luke M
If you’d like to hire Luke for an Excel project, contact him at:
LukeMoraga@gmail.com
013. Keyboard Shortcuts – Marc L
Insert Current Date
Insert current date in a cell : Ctrl + ;
Insert Current Time
Insert current time in a cell : Ctrl + :
Bulk enter values or formula into several cells
To allocate same Value or Formula to several cells, Select the cells, enter the Value or Formula and
accept into all cells by Ctrl + Enter
Date Check also known as Toggle Values/Formula Mode
Ctrl + ~ (English keyboard) or Ctrl + “ (3 on a French keyboard)
Is a toggle between displaying formulas or values in cells.
But I use it as a trick to check if dates are real dates and not text :
When displaying formulas is active, real dates appear as number,
bad dates remain as text !
This is the reason why I won all by bets against guys who insisted
Contribution by: Marc L
014. Break Strings into Words – Hui
A regular requirement in VBA is to be able to extract say the Name and Surnames from a string
Eg: Retrieve “Ian” & “Huitson” from “Ian David Huitson”
But what if I want the Middle Name, or what if I have two middle names like my children do?
These functions quickly become very cumbersome
A technique I recently learned simplifies this, whilst extending it to other delimiters and any number of sub-strings
You can easily parse a delimited string into an array.
You simply use the Split function with the appropriate delimiter as parameter.
The following code shows an example of using the Split function.
The above code makes an array of values of size 3, Arr(0) to arr(2)
arr(0) will contain “Ian”
arr(1) will contain “David”
arr(2) will contain “Huitson”
If you are unsure of the number of array elements you should use the Ubound() function to determine the size
Ubound(arr,1) which will return the reference number of the last element = 2 in the example
in the example of my Name which has 3 elements
arr(2) = arr(Ubound(arr,1)) and each will contain the string “Huitson”
You can download both the above sample from this sample file
I picked this up a few months back from Excel Mastery, my new favorite Excel VBA site
Contribution by: Hui
015. Use the Camera Tool – BobHC
You can sue the Camera Tool to setup dashboards that quickly combine data from a number of worksheets into a common location
Read about its use: http://chandoo.org/wp/2008/12/02/excel-camera-tool-help/
And for fancy applications: http://www.addictivetips.com/microsoft-office/camera-tool-function-in-excel-2010/
Contribution by: BobHC
Closing
Many many thanks to the Chandoo.org ninjas who contributed above.
I hope you get to to revue all the tips and pass comments and appreciation back to the authors as appropriate.
Next week I have to do some real paid work and will travelling in Timor, Indonesia, but in two weeks time the Excel Tips, Tricks, Cheats & Hacks theme will continue with the Excel Tips, Tricks, Cheats & Hacks – Notable Excel Sites (non-MVP) Edition, so keep an eye out for that.
If you have any Excel Tips, Tricks, Cheats & Hacks that you would like to share with the community, please leave a tip in the comments below.
All the user contributions will be combined into one final post: Excel Tips, Tricks, Cheats & Hacks – Users Edition



























13 Responses to “Using pivot tables to find out non performing customers”
To avoid the helper column and the macro, I would transpose the data into the format shown above (Name, Year, Sales). Now I can show more than one year, I can summarize - I can do many more things with it. ASAP Utilities (http://www.asap-utilities.com) has a new experimental feature that can easily transpose the table into the correct format. Much easier in my opinion.
David
Of course with alternative data structure, we can easily setup a slicer based solution so that everything works like clockwork with even less work.
David, I was just about to post the same!
In Contextures site, I remember there's a post on how to do that. Clearly, the way data is layed out on the very beginning is critical to get the best results, and even you may thinkg the original layout is the best way, it is clearly not. And that kind of mistakes are the ones I love ! because it teaches and trains you to avoid them, and how to think on the data structure the next time.
Eventually, you get to that place when you "see" the structure on the moment the client tells you the request, and then, you realized you had an ephiphany, that glorious moment when data is no longer a mistery to you!!!
Rgds,
Chandoo,
If the goal is to see the list of customers who have not business from yearX, I would change the helper column formula to :
=IF(selYear="all",sum(C4:M4),sum(offset(C4:M4,,selyear-2002,1,columns(C4:M4)-selyear+2002)))This formula will sum the sales from Selected Year to 2012.
JMarc
If you are already using a helper column and the combox box runs a macro after it changes, why not just adjust the macro and filter the source data?
Regards
I gotta say, it seems like you are giving 10 answers to 10 questions when your client REALLY wants to know is: "What is the last year "this" customer row had a non-zero Sales QTY?... You're missing the forest for the trees...
Change the helper column to:
=IFERROR(INDEX(tblSales[[#Headers],[Customer name]:[Sales 2012]],0,MATCH(9.99999999999999E+307,tblSales[[#This Row],[Customer name]:[Sales 2012]],1)),"NO SALES")
And yes, since I'm matching off of them for value, I would change the headers to straight "2002" instead of "Sales 2002" but you sort the table on the helper column and then and there you can answer all of your questions.
Hi thanks for this. Just can't figure out how you get the combo box to control the pivot table. Can you please advise?
Cheers
@Kevin.. You are welcome. To insert a combo box, go to Developer ribbon > Insert > form controls > combo box.
For more on various form controls and how to use them, please read this: http://chandoo.org/wp/2011/03/30/form-controls/
Thanks Chandoo. But I know how to insert a combobox, I was more referring to how does in control the year in the pivot table? Or is this obvious? I note that if I select the Selected Year from the PivotTable Field List it says "the field has no itens" whereas this would normally allow you to change the year??
Thanks again
worked it out thanks...
when =data!Q2 changes it changes the value in column N:N and then when you do a refreshall the pivottable vlaues get updated
Still not sure why PivotTable Field List says “the field has no itens"?? I created my own pivot table and could not repeat that.
Hi, I put the sales data in range(F5:P19) and added a column D with the title 'Last sales in year'. After that, in column D for each customer, the simple formula
=2000+MATCH(1000000,E5:P5)
will provide the last year in which that particular customer had any sales, which can than easily be managed by autofilter.
Somewhat longer but perhaps a bit more solid (with the column titles in row 4):
=RIGHT(INDEX($F$4:$P$19,1,MATCH(1000000,F5:P5)),4)
[…] Finding non-performing customers using Pivot Tables […]