How to Create Dynamic Charts in Google Sheets
Manually updating your charts in Google Sheets every week is a tedious, time-consuming task. Just when you think your report is done, new data comes in, and you have to resize ranges and reconfigure everything. This guide will show you how to create dynamic, interactive charts in Google Sheets that update themselves automatically, saving you hours and making your dashboards much more powerful.
What Exactly Is a Dynamic Chart?
Unlike a static chart that's tied to a fixed data range (like A1:B12), a dynamic chart automatically adjusts. It can expand to include new rows of data as they're added, or it can change the data it displays based on a user's selection from a dropdown menu or filter.
Why bother setting this up? There are three big reasons:
- It saves time: Stop manually adjusting your chart's data range every time you add new information. Set it up once, and it works forever.
- It ensures accuracy: Manual updates create opportunities for error, like forgetting to include the latest row of data. Dynamic charts eliminate this risk.
- It makes reports interactive: You can build dashboards that allow your team to filter data and explore insights on their own without having to create dozens of separate charts.
Let's go through three methods for creating dynamic charts, from a simple trick to a more advanced dashboarding technique.
Method 1: The 'Infinite Range' for Auto-Updating Charts
The easiest way to make a chart update when new data is added is to tell Google Sheets to look at an entire column, not just the cells that currently have data in them. This is often called an "infinite" or "open-ended" range.
Let's say you have monthly sales data and you want your chart to automatically include new months as you add them.
Step-by-Step Instructions
1. Set Up Your Data Start with a simple table in Google Sheets. For this example, Column A is the 'Month' and Column B is 'Sales'.
2. Insert a Standard Chart
Highlight your current data (e.g., A1:B7), then go to Insert > Chart. Google Sheets will automatically create a chart for you. By default, it will be a line chart, which is perfect for this time-series data.
You'll notice in the Chart editor on the right, under the 'Setup' tab, the 'Data range' is fixed to A1:B7.
3. Change to an Open-Ended Range
This is the key step. In the Chart editor, click on the 'Data range' field. Instead of specifying an end row like A1:B7, just reference the columns themselves: A1:B.
This tells the chart to include all data from cell B1 down to the very last row in column B. The chart might look a little strange at first because it's trying to plot empty cells, but that's okay for now.
4. Test It Out Now, add a new row of data for 'July'. As soon as you enter the data, you'll see the chart instantly and automatically update to include the new month. No manual adjustments needed!
Pro-Tip: Handling Blank Rows
Using an open range like A:B is quick, but it sometimes includes blank rows at the end of your data, which can look messy on a chart. To get around this, you can create a helper table that uses the FILTER function to exclude empty rows.
For example, you could use a formula like this in another part of your sheet:
=FILTER(A:B, A:A<> "")
This formula creates a clean copy of your data that only includes rows where column A is not empty. Then, simply point your chart's data range to this new filtered table.
Method 2: Using Slicers for Interactive Dashboards
Google Sheets Slicers are a fantastic way to add interactive filters to your reports. Instead of creating different charts for each category, you can create one chart and let your team use a slicer to filter the data on the fly. This is perfect for dashboards where you want to analyze data by region, product, marketing channel, or sales representative.
Step-by-Step Instructions
1. Prepare Your Dataset First, you need a well-structured table with the data you want to filter. In this example, we have a table with 'Month', 'Product', and 'Units Sold'. We want to be able to see the sales trend for each product individually.
2. Create Your Chart
Highlight your entire dataset (e.g., A1:C13), and select Insert > Chart. You might need to adjust the chart setup. For instance, you can use 'Month' as the X-axis and 'Units Sold' as the Series.
At this point, the chart will show the total units sold for all products combined.
3. Add a Slicer With any cell in your data table selected, go to the menu and click Data > Slicer. A floating slicer widget will appear on your spreadsheet. It will apply to the entire data range of the chart.
4. Configure the Slicer Click on the slicer you just added. The Slicer settings menu will appear on the right. In the 'Setup' tab, choose the 'Column' you want to use as the filter. In our case, we'll choose 'Product'.
5. Filter Your Data Interactively Now for the fun part. Click the filter icon on the slicer widget. You'll see a dropdown list with all your products. You can uncheck "(Select all)" and choose just 'Product A'. The chart will instantly update to show data only for Product A. You can select 'Product B', or multiple products, and the chart will react immediately. You can add multiple slicers to the same dashboard to allow for more granular filtering. For example, you could add another slicer for 'Region' to filter by both product and location simultaneously.
Method 3: Dropdown Menus for Advanced Chart Control
For the ultimate level of control, you can create dynamic charts controlled by a dropdown menu. This method is slightly more complex as it requires a helper table and a formula, but it's the most flexible approach for building focused dashboards. The idea is to have a "staging area" for your chart's data, which is populated based on a user's selection from a dropdown.
Step-by-Step Instructions
1. Set Up Your Data First, organize your source data. Let's imagine we have website traffic data with separate columns for the metrics we want to track: 'Month', 'Users', 'Sessions', and 'Pageviews'.
2. Create the Dropdown Menu
Choose a cell where you want your dropdown to live (e.g., cell F2). Go to Data > Data validation.
In the Data validation rules sidebar, click "+ Add rule".
For the 'Criteria', choose 'Dropdown'.
Enter the options you want to display, which should exactly match your column headers: "Users", "Sessions", and "Pageviews".
Click 'Done'. You should now have a working dropdown menu in cell F2.
3. Build the Staging Area This is where the data that feeds the chart will live. In a clear space on your sheet (e.g., starting in cell H1), set up the structure.
- In cell H1, type the header for your X-axis: "Month".
- In cell I1, enter a formula that pulls its value directly from the dropdown cell:
=F2This makes your staging area's header dynamic. It will change whenever you select a new metric from the dropdown. - In cell H2, pull in the month values from your source data. A simple formula works:
=A2:A13 - In cell I2, you'll need a formula to pull the correct data based on the dropdown. The
IFSfunction is clean and easy to read.
=IFS(F2="Users", B2:B13, F2="Sessions", C2:C13, F2="Pageviews", D2:D13)
This formula checks the value in your dropdown cell (F2). If it's "Users", it fills the column with data from the Users range (B2:B13). If it's "Sessions", it uses C2:C13, and so on.
4. Create the Chart from the Staging Area Now, create your chart, but this time, base it on your new staging area. Highlight the data in your staging table (e.g., H1:I13) and go to Insert > Chart.
5. Test Your Interactive Chart That's it! Now go back to your dropdown menu in cell F2. When you select a different metric like "Sessions" or "Pageviews," you'll see both the staging data and the chart update instantly. You've successfully created a fully interactive chart that a user can control from a single dropdown menu.
Final Thoughts
These techniques transform your spreadsheets from static data tables into interactive reporting tools. Whether you're using a simple open-ended range to automatically add new data, slicers for interactive dashboards, or a dropdown menu for deep-dive analysis, you can save significant time and make your data much more accessible to your team.
Of course, setting up formulas and helper tables in spreadsheets can still feel like a chore. The reason we build tools at Graphed is to eliminate this manual setup entirely. Instead of writing formulas to filter your data, your team can simply ask a question in plain English, like "Show me a line chart of website traffic from the UK vs. Canada last quarter," and instantly get a live-updating chart. Since you connect your data sources directly, there's no need for exporting CSVs or wrestling with pivot tables - just clear answers when you need them.
Related Articles
How to Connect Facebook to Google Data Studio: The Complete Guide for 2026
Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.
Appsflyer vs Mixpanel: Complete 2026 Comparison Guide
The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.
DashThis vs AgencyAnalytics: The Ultimate Comparison Guide for Marketing Agencies
When it comes to choosing the right marketing reporting platform, agencies often find themselves torn between two industry leaders: DashThis and AgencyAnalytics. Both platforms promise to streamline reporting, save time, and impress clients with stunning visualizations. But which one truly delivers on these promises?