How the tax burden has changed over the years – Excellent chart by NYTimes & Redoing it in Excel

Share

Facebook
Twitter
LinkedIn

If I need some charting inspiration, I always visit New York Times. Their interactive visualizations are some of the best you can find anywhere. Clear, beautifully crafted and powerful. Long time readers of Chandoo.org knew that I like to learn from visualizations in NY Times & redo them using Excel.

Today let me present you one such chart.

How the tax burden has changed over the years – Visual story by NY Times

First take a look at this story on New York times website. Go ahead and check it out, I will wait for you.

Back already. Good.

Now that you have seen a well presented story with the support of panel charts, let us learn how to re-create such charts using Excel.

Look at the tax burden Excel chart

Take a look at the excel implementation of this chart below. Read on to learn how to create this.

Tax burden over years chart - recreated in Excel

 

[click here to see larger version]

Recipe for creating this chart using Excel

We need below ingredients to make this chart using Excel

  • Raw data
  • One area chart and few lines on top
  • Simple formulas
  • One Slicer (to select an year)
  • One large cup of coffee or whatever else that you gulp

So if you are ready, lets start cooking.

Step 0: Arrange data

This is a prerequisite for any charting exercise. Although we can work with data in any shape, for quick results, arrange your data in this format:

Data for tax burden chart

In the example file you will find data for overall tax burden for all 9 tax brackets in the years 1980-2010.

Step 1: Create an area chart from all the data

Simple, select tax bracket & tax percentage rows and create an area chart. This is how it should look.

Step 1: Create an area chart from all data - tax burden chart in Excel

Step 2: Insert 2 columns after every tax bracket in your source data

Very simple, just add 2 blank columns after every tax bracket to your source data. This will change your chart to,

Step 2: Insert 2 columns after every tax bracket in your source data - tax burden chart in Excel

Step 3: Adjust data settings so that blank cells are treated as gaps

Right click on the chart, go to Select Data > Hidden & Empty cells

Specify that all blank cells should be treated as gaps. See below.

Step 3.1: Treating blank cells as gaps - tax burden chart in Excel

Now, your chart should look like this:

Step 3.2: area chart with gaps - tax burden chart in Excel

Step 4: Add a line to the chart & format it

Although our chart looks almost like NY Times chart, we still need to show a line on top. For this,

  1. Go to your data, reselect all the tax burden %s and copy them.
  2. Come back to the chart, select it and paste. (more on this)
  3. Excel will add this new data as another series to chart
  4. Right on this new series, choose Change series chart type
  5. Select Line chart
  6. Format the chart so that it looks like below.

step 4: add same data again and convert it in to a line - tax burden chart in Excel

Step 5: Remove grid lines & fake them using additional series

Excel chart’s grid lines always show up behind the data. For our chart, we want them on top. So let just delete grid lines and fake them using additional lines on the chart.

For this,

  1. In your data, add 9 extra rows at bottom (why 9? because we want to show one grid line for every 5% and the maximum we have is around 45%)
  2. Fill first row with 0.05, second with 0.1, third with 0.15… ninth with 0.45
  3. Copy all these and paste them in the chart. You should have nine lines across the chart.
  4. Now, format each line so that it looks like a dull white line with dashes.
  5. When you are done, the final output should look like this:

Step 5: Remove grid lines and fake them using additional series

Step 6: Remove horizontal axis (x-axis) labels & fake them too

Again, horizontal axis labels produced by Excel are useless for us. So we will create our own.

  1. First delete the existing axis.
  2. Then add a text box to the chart and place it where axis should be.
  3. Type the values 1980 few spaces 2010.
  4. Adjust the font size to 7pt.
  5. Now play with the text box until you are satisfied for one tax bracket.
  6. Then copy paste it 8 more times and adjust their positions.

Although we could automate this step, it felt un-necessary as the years are not going to change.

Our chart is almost ready

At this stage, our chart looks like below.

Step 6: remove x-axis labels and fake them using text box with 1980 spaces 2010

It is almost ready, but we need few more additions.

  • We need to add labels to first & last point in each tax bracket.
  • We need a mechanism so that user can select a particular year.
  • When any year is selected, we need to show that year’s tax burden %.

Adding labels for first and last points

This is done by adding one more series of values. This new series (lets call it label-first-last) will have values for only 1980 & 2010. Everything else will be NA().

The formula I used to generate this series is,

=IF(OR(year=1980,year=2010),taxburden,NA())

Once this series is added, we just format it so that only markers are shown (no line) and then add data labels. Format the labels to show in 0% format. Adjust their size and position.

Also add arrow shaped boxes on top to label each tax bracket.

 

Tax burden chart in Excel - after adding labels for first and last year

Enabling year selection thru Slicers

[This works only for Excel 2010 or above]

In a blank sheet type the years 1980 thru 2010. Select them and create a pivot.

Once the pivot is ready, insert a slicer for the years field.

For detailed steps on slicer creation see this illustration.

Creating years slicer using Excel 2010 - tutorial

Figuring out which year is selected

Once the slicer is ready, we need to figure out if user made a selection thru slicer. To do this,

  1. Use a simple formula to check how many values are shown in the pivot table (ex: COUNTA(pivot!A:A) )
  2. If only one value is shown, then extract it by referring to first row item in pivot (=pivot!A4)

Adding labels for selected year

Once we know which year is selected, we can easily create one more series that has NA() for all values except selected year. The rest you know.

Final outcome – Tax burden over the years chart using Excel

Tax burden over years chart - recreated in Excel

Download this example & Play with it

Click here to download the tax burden chart. Play with it to learn more. Examine the formulas in “Data” sheet & scroll down on “Chart” sheet for step by step instructions.

Do you like this chart?

I really loved how NY Times has been able to tell a very good story by using multiple panel charts. These are great way to examine multidimensional data and understand what is going on.

What about you? Do you like this chart? Please share your thoughts and ideas using comments.

More such charting inspiration

If you are looking for some fresh charting inspiration & ideas, you are at the right place. Check out these examples to get started:

Do you want to create powerful & insightful charts like these?

If you want to learn how to create these types of charts, consider enrolling in our Excel School program. Be warned, you will become unusually awesome in Excel by going thru our course 🙂

Click here to know more about Excel School.

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

42 Responses to “Prevent Duplicate Data Entry using Cell Validations”

  1. Jair says:

    Hi Chandoo, I need you help in the following problem.
    I'm trying to get a direccion from a found result. With this dirreccion I will want the before cell value. For example, If result of a find is 38 localized in cell $C$2, I need to get previus value (cell $B$2 ), maybe Andrés.

    Do you know some way to do that?

    Thank you for you help.

  2. Lincoln says:

    Hi Chandoo

    Thanks for this. One thing though: In my pre-2007 version of Excel, the COUNTIF function doesn't recognise a semicolon (;), but requires a comma.

    Is the semicolon an Excel 2007 thing?

  3. Chandoo says:

    Jair... I am not sure I understand what you want. what do you mean by Dirreccion?

    @Lincoln: I am sorry, often I forget that I am using European version of excel where the delimiter is ; instead of ,. I have corrected the formula now.

  4. subbu says:

    Thanks for this nice tip, i used to do a find all after filling every new items which was cumbersome.

    Do you know a way to extend this validation search to other tabs/sheets ?

  5. Jair says:

    Thanks for you attention. I'm trying to get of value continue from a found value. Let me show a example:

    Name Years
    John 35
    Maria 28
    Teresa 32

    If I search the max years, the result is 35, but I need that result to be John. Do you know how I can do it?

  6. Chandoo says:

    @Subbu.. you can easily extend the validation to other sheets by pasting the data validations. See the latest article here: http://chandoo.org/wp/2009/10/28/copy-data-validations/

    @Jair.. you can use the large() or small() formulas to do this. for eg. =index(A1:A3,large(B1:B3,1)) will get you the name of the person with highest "years". More help here: http://chandoo.org/excel-formulas/large.html

  7. Jair says:

    Hi, I don't know if I'm using bad the formula or its performance is diferent for my Office version. Large() formula return the value in the cell, in my example 35. The index() formula use a range, row and column. I'm using the large() as number of row, and it is bad because into the range don't have row 35. This is my perception. What do you think?

  8. Chad says:

    Hello,
    I am trying to attempt data validation in Excel Mobile, but the DV tool isnt available. I want to prevent duplicates is all, any advice on acheiving this in Excel Mobile? Thanks..

  9. Chandoo says:

    @Jair... my french aint that good. it starts at "merci" and ends at "beau coup".

    Anyhow, you need to merge the large with vlookup to do this. I am not sure if you have solved the problem. Otherwise let me know with details and I can write the formula in comments.

    @Chad... I have never used excel mobile, so I have no idea. May be they have not implemented data validations in excel mobile.

    Any excel mobile users out there?

  10. Jair says:

    Hi Chandoo, the proposed solution by JlD is interesting. He created a macro to get values when the matrix is not one dimensional, how on my problem. This fuction for me.
    I would like to share you my work, how can I upload?

  11. Chandoo says:

    @Jair.. sorry for such a delayed reply.. you can upload the files to skydrive and link them here. Or you can email them to me at chandoo.d @ gmail.com and I will upload them somewhere. But it could take forever if you email files to me as I am a bit lazy.

  12. [...] Day 31: Advanced Data Validation Tricks in Excel – Part 2 [...]

  13. Muhammad Moin says:

    Hi,

    Can you help me in Microstrategy?

    Br,
    Moin

  14. Ramprasad says:

    really wonderful article. I feel it is implementing Primary Key concept into spreadsheets.

  15. sriram says:

    Hi article on data validation. Excel is a very versatile platform to work with and we use it for all kinds of data tabulation. In fact this must have been the most rudimentary data management tools I must have worked with and knowing such tips only adds functuionality to our user experience. Great article. looking forawrd to read more.

  16. Vasanth says:

    Hi Chandoo,

    Thanks for such a nice idea.

    I tried copy paste the data into the validated area, but the pop-up msg (warning msg) doesn't came. Is it something that we need to update the data manually each time,.

    Do we have any option where we can bulk upload the number and it throws a warning message that the data already exits and do we want to continue with this ?

    Please do reply me.

    Thank you.

    Regards,
    Vasanth.

  17. kochu says:

    It was really useful chandoo...thanks a lot...

  18. Leo says:

    Tried this in excel 2010 and it did not work?
    Could the newer excel have changed that much?

    • Hui... says:

      @Leo

      It works fine in Excel 2010

      The formula used above =COUNTIF($B$4:$B$11,B4)<=1

      only applies to the range B4:B11

      Did you adjust the range to your data?

  19. Tariq Khan says:

    This page helped me accurately to find solution of my question. thanx

  20. Murli says:

    we want to prevent duplicate entries in three columns combined, using data validation, i.e. say, column A has first name and Column B has middle name, Column C has last name. the first name can be duplicate, middle name can be duplicate, last name can be duplicate, but not all three at the same time.

  21. Murli says:

    I want to prevent duplicate entries in three columns combine, using data validation, i.e. say, column A has first name and Column B has middle name, Column C has last name. the first name can be duplicate, middle name can be duplicate, last name can be duplicate, but not all three at the same time.

  22. KokTiong says:

    Hi, I've tried above validation method to prevent duplicate value from entering into the cells. It's work, when user key in the data into the selected range. However, it's not working when user copy-&-paste the info into the same range.

    Please advice. Thanks. 

  23. ZAMEER SHAIKH says:

    Hi Chandoo,
     
    Does it work in Excel 2007?
     
    Please Reply

  24. mahavir says:

    thanks chandoo........

  25. SUSHOBH says:

    it does not work when data is copy pasted...any solution for this??

  26. shaloo says:

    hi i m shaloo and i want to know in excel if i write duplicate no.then it says or show about we are write duplicate no.

  27. Kris says:

    Hi Chandoo

    I've tried using this with a Named Range, which is actually a column in a Table as DV wont accept a table reference, and it wont work.
    Also tried using Offset to specify the Named Range, but that wont work either.

    Is it possible to use Named Ranges with DV?

    Thanks
    Kris

  28. Paula says:

    I have tried the above formula on a table column. The Error box does not pop up, there is only the small ! next to the cell with the duplicate. The column I am working with is formulas that produce a date. Is the reason it doesn't work that the cells contain formulas rather than data?

  29. Ken says:

    The formula works but only if I enter data in cell above it. So for example, if I have "123" in B11 it does not allow me to enter "123" in B10, B9, B8, etc. But I can still enter "123" in B12. Please help! 🙂

  30. Karan says:

    Great tip.. thanks a lot

  31. I have 21 years of experience working as data entry assistant. I constantly read several blogs to keep myself up-to-date with the advances in data entry profession. I really enjoyed this blog post. From my several years of experience, I agree with you 100% when you say, “ We all know that data validation is a very useful feature in Excel. You can use data validation to create a drop-down list in a cell and limit the values user can enter. ”

    Keep blogging. I will come here again.

    --data entry assistant

  32. HaroonRashid says:

    Hi,
    This is really very helpful.
    Thank you

  33. Junaid says:

    how can i assign two validation on a single cell
    one is for list validation (means the data should be from that range)
    second i want to prevent them from repetition

    how can i do this ?
    P7 to P506 have GR# which are for list
    i want to prevent C column to not to repeat and should be from the P column

  34. Gaurav says:

    friend can any one tell me the formula
    exname location qty
    gaurav 1 1
    rofan 2 5
    sandeep 3 6
    gaurav 4 3
    rofan 5 4
    sandeep 6 8
    gaurav 7 9

    If this is a data.
    if i want a formula by which if i type gaurav then all the location and qty should be shown in a new page.
    i had 5,00,000 sku so if i punch one name i can get the entire details

  35. Gaurav says:

    IF(ISERROR(INDEX($B$3:$C$9,SMALL(IF($B$3:$B$9=$B$12,ROW($B$3:$B$9)-ROW($C$2)),ROW(A1:C1)),2)),"",INDEX($B$3:$C$9,SMALL(IF($B$3:$B$9=$B$12,ROW($B$3:$B$9)-ROW($C$2)),ROW(A1:C1)),2))
    please explain

  36. MD. RASEL SARDER says:

    YOUR COUNTIF FORMULA IS REALLY HELPFUL AND WORKS. I TRIED SEVERAL SITES BUT THEIR FORMULA DOES NOT WORK. ONLY YOU HAVE GIVEN A RIGHT FORMULA!
    THANK YOU!!!!!

Leave a Reply