Let’s say you are starting at a large data-set with multiple columns. You need to make a pivot report from it for a client or manager. How would you go about it?

This is the exact problem Jo, my wife faced the other day. She came home and after catching up on each other’s day, she asked me how I would do it. That got me thinking. This blog post is born out of that rumination.
Large data-set? Tell me more:
Imagine you have sales data which customer bought products in each city of operation. Say, you have 100s of customers, operate in 50 major cities and sell 16 different products. If you try to make a pivot table with all these fields, you will end up with a monstrosity of 5000 rows. Nobody can read that pivot and make any sense.

What now?
Ideas for creating pivot tables from large data-sets
Here is a list of five ideas to use when you need to create pivot tables from large data-sets.
Idea #1 – Add slicer to one of the fields
Even though you have many fields, chances are the report user wants to focus on one of the elements to start conversation. Add it a slicer. (Related: Introduction to Excel Slicers)

Idea #2 – Show just top values
You can apply value filtering on pivot tables to show just the top performing customer (or product, city etc.). This will greatly reduce the size of your pivot table. You can also collapse a sub-level detail so that user can press + if they want to see details.

To set top 1 filter, simply click on the filter icon on field you want to set it, go to value filters > top 10 and then set it to top 1.

Idea #3 – Individual pivots with drill down option
You can double click on any number in pivot tables to see detail rows that add-up to that number. We can show summary pivot tables from large data-sets instead of full-blown ones. Here is an example.

Idea #4 – Set up support table to show top 3 vs. other view
You can categorize fields like products, customers etc. by introducing an extra table that splits them in to groups. For example, we can categorize products to two types:
- Top 3 products: Most selling products across all our data
- Other products

Once you have such a table, you can connect this product.types table to original data using relationships and then build a multi-table pivot.
Related: How to use relationships to build multi-table pivots in Excel

Idea #5 – Add two-level filtering by alphabets
When using fields like customers or products, you cannot easily apply slicer or report filter on them. This is because such fields have 100s of values usually. One way to reduce the clutter is by introducing two-level filtering.
We can easily do this by adding an extra column to our data to calculate the first letter of customer name. (something like =LEFT([@customer],1) will do.
Once you have such new field, you can set up a multi-level filtered pivot report like below.

Video Tutorial – How to pivot large data sets?
Here is a quick video explaining the problem, 5 pivot tables from large data-set and how to set up extra bits like conditional formatting in detail. Watch it below or view it on Chandoo.org YouTube Channel.
Download Workbook – Large data set pivot table ideas
Click here to download the sample workbook for this tip. You can examine all the pivots in there. Feel free to create something on your own and share it in the comments section.
How do you make pivot tables from large data sets?
I try to avoid large pivot tables. But if I must (either because a customer wanted them or they are part of a larger report), I follow the ideas presented in this post.
What about you? How do you create pivot tables from large data sets? Please share your thoughts in the comments section below.
More pivot table tips














21 Responses to “How to Filter Odd or Even Rows only? [Quick Tips]”
Infact, instead of using =ISEVEN(B3), how about to use =ISEVEN(ROW())
So it takes away any chance of wrong referencing.
I like Daily Dose of Excel
I like it.
Just a heads up, you do need to have the Analysis ToolPak add-in activated to use the ISEVEN / ISODD functions. An alternative to ISEVEN would be:
=MOD(ROW(),2)=0
rather than use a formula, couldn't you enter "true" in first cell and "false" in the second and drag it down and than filter on true or false.
Just for clarification, is Ashish looking to filter by even or odd Characters or rows?
so many functions to learn!
Nice support by chandoo and team as a helpdesk. Give us more to learn and make us awesome. Always be helpful.......
In case you want to delete instead of filter,
IF your data is in Sheet1 column A
Put this in Sheet2 column A and drag down
=OFFSET(Sheet1!A$1,(ROWS($1:1)-1)*2,,)
(This is to delete even rows)
To delete odd rows :
=OFFSET(Sheet1!A$2,(ROWS($1:1)-1)*2,,)
If your numbered cells did not correspond to rows, the answer would be even simpler:
=MOD([cell address],2), then filter by 0 to see evens or 1 to see odds.
I sometimes do this using an even simpler method. I add a new column called "Sign" and put the value of 1 in the first row, say cell C2 if C1 contains the header. Then in C3 I put the formula =-1 * C2, which I copy and paste into the rest of the rows (so C4 has =-1 * C3 and so forth). Now I can just apply a filter and pick either +1 or -1 to see half the rows.
Another way, which works if I want three possibilities: in C2 I put the value 1, in C3 I put the value 2, in C4 I put the value 3, then in C5 I put the formula =C2 then I copy C5 and paste into all the remaining rows (so C6 gets =C3, C7 gets =C4, etc.). Now I can apply a filter and pick the value 1, 2, or 3 to see a third of the rows.
Extending this approach to more than 3 cases is left as an exercise for the reader.
Another way =MOD(ROW();2). In this case, must to choose betwen 1 and 0.
[...] How to Filter Even or Odd rows only [...]
very different style Odd or Even Rows very easy way to visit this site
http://www.handycss.com/tips/odd-or-even-rows/
Thanks for the tip, it worked like magic, saved having to delete row by row in my database.
Thanks!
Thankssssssssssssssss
Hi Chandoo- First of all thanks for the trick. It helped me a lot. Here I have one more challenge. Having filtered the data based on odd. I want to paste data in another sheet adjacent to it. How can I do that?
For Example-
A 1 odd
B 3 odd
C 4 even
D 6 even
I have fileted the above data for odd and want to copy the "This is odd number" text in adjacent/next sheet here. How can I do that. After doing this my data should look like this
A 1 odd This is odd number
B 3 odd This is odd number
C 4 even
D 6 even
Hi! Could you please help me find a formula to filter by language?
Thank you!
Chandoo SIR,
I HAVE A DATA IN EXCEL ROWS LIKE BELOW IS THERE ANY FORMULA OR A WAY WHERE I CAN INSTRUCT I CAN MAKE CHANGES , MEANS I WANT TO WRITE ONLY , THE FIG IS FRESH, BUT IN BELOW ROW IT WILL AUTOMATICALLY TAKE THE SOME WORDS FROM FIGS AND MAKE IN PLURAL FORM , WHILE USING '' ARE'' LIKE BELOW
The fig is fresh - row 1
Figs are fresh - row 2
The Pomegranate is red - row 3
Pomegranates are red - row 4
=IF(EVEN(A1)=A1,"EVEN - do something","ODD - do something else") with iferron (for blank Cell)