Creating dynamic charts using Google Sheets drop down menus

Use this technique and much, much more in my new course: Build Dashboards with Google Sheets and Data Studio

In this post I’ll show you how to create Google Sheets drop down menus using the data validation method.

I’ve had a few questions recently on how to add interactivity to charts in Google Sheets, which is a great question that’s worthy of a detailed explanation.

Dynamic charts can really enhance reports and dashboards, allowing for more information to be conveyed in the same amount of screen space. This article will show you how to use the data validation method to make a Google Sheets drop down menu to control a dynamic chart.

How-to video

Step-by-step guide to creating a Google Sheets drop down menu

This article walks through the steps to create a neat Google Sheets drop down menu and interactive chart, so the user can select a parameter, e.g. a sales channel or name, and see the chart update.

It’s a relatively simple technique but surprisingly powerful.

In this example I’ve created a small table showing annual mileages driven by various users:

Raw data table for dynamic chart

Let’s create a list of choices to present to the user that will control the chart. Here, the user will choose a driver from the list of names and the chart will then only show that driver’s data.

The data validation drop-down menu exists in its own cell, so put it next to the raw data table. I’ve chosen cell E2.

So click cell E2 with your cursor, then head to Data > Validation menu option:

data validation menu

Make sure you have E2 selected as the Cell Range. Then select the range of names A3:A7 as the Criteria, as shown in this image:

data validation selection menu

You can leave the other settings as they are.

Click save. This will add a small grey triangle to the right side of input your cell, E2. Click on it and you’ll see a user input menu for names:

Google Sheets drop down menu

Now you have the Google Sheets drop down menu set up, you’re half way there.

You want to link your table of data to this Google Sheets drop down menu, so you can chart the data corresponding to the name we’ve selected.

Create a table using VLOOKUPs to pull in the data from the raw data table, using the value in the Google Sheets drop down menu as the search criteria.

Put these VLOOKUP formulas into cells F2 and G2 respectively:

=vlookup($E2,$A$3:$C$7,2,false)

=vlookup($E2,$A$3:$C$7,3,false)

Add headings to this interactive table: 2013 in F1 and 2014 in G1.

Finally, create a chart from this small dynamic table of data. Highlight the data, then click Insert > Chart menu:

Insert chart menu

Select a column chart and ensure that Column E and row 1 are marked as headers and labels:

chart menu choices

Click insert.

Test your chart.

It should now be dynamic so that it changes whenever you select a new name from the Google Sheets drop-down menu:

dynamic chart

Awesome! Great job!

Now go forth and make beautiful, dynamic dashboards.

Another view:

Here’s another example showing the steps of this technique side-by-side:

dynamic charts in Google Sheets

See this technique in action online in the following Google Sheets example (feel free to make your own copy).

This is one of 10 techniques that can be used to build dashboards in Google Sheets – check out the other nine here.

13 thoughts on “Creating dynamic charts using Google Sheets drop down menus”

  1. Hi Ben,

    Your articles are great, thank you for all the google sheets help. I’m trying to create my own dynamic dashboard, but am having a lot of trouble because of the complexity of my data. My data is set up like this:
    Team, Recruiter, Week, Action ,Target, Actual

    How can I create a dashboard to sort by team, and show charts that show the data by week?

    Any help you can provide would be much appreciated!

  2. Hey Ben, thanks for the great tutorials, I’m actually trying to setup functionality for a number of dynamic chart, but thought i would start with the easiest first

    I would like to setup a drop down list (using data validation) to toggle between different sparkline charts in the same column.

    Can this be done?
    Cheers

  3. Ben – Great stuff here. Let’s say you wanted this to be a stacked bar chart so the default would show “all drivers”. How would you add a filter so that the stacked bar chart would show all drivers when “all” was selected, but just a specific driver when that specific driver was selected?

    Do you have an example of how this would work somewhere?

        1. Hey David,

          I was too quick with my reply! I understand what you mean now. I’ve added an extra sheet to my doc with an example, using IF formulas to handle the logic. I think this achieves the output you were after. Unfortunately the legend shows up with all the names, not just the one selected.

          Cheers,
          Ben

  4. After creating the drop down menu, and moving onto the next steps, how can the rest be done, if you are taking information from a chart on sheet one and having the charts pop up/drop down in sheet 2?

    1. Hey Michelle,

      You should just be able to link to the drop cell in sheet 2 by referencing that cell, same as if it was a number in a formula, e.g. say your drop down was in cell A1 then use: Sheet2!A1

      Ben

Leave a Reply

Your email address will not be published. Required fields are marked *