How to Update Google Sheets with New Data
Manually updating your Google Sheets is a familiar ritual for many of us - downloading a CSV, copying the new rows, pasting them in, and praying you don’t break a formula. This article will show you several ways to automatically and manually update your spreadsheets, from simple built-in formulas to powerful, no-code automation.
The Old-Fashioned Way: Manual Updates
Sometimes, the simplest method is all you need. If you're only updating a sheet once a month or with a small amount of data, a quick manual update is often the most efficient route.
Copy and Paste
The classic copy-paste is the most straightforward method. You export data from another source (like Shopify, Google Analytics, or your CRM) as a CSV or Excel file, open it, copy the relevant data, and paste it into your master Google Sheet.
Pro-Tip: When pasting, use Paste Special > Values only (Shortcut: Ctrl+Shift+V or Cmd+Shift+V) to avoid bringing in unwanted formatting that can mess up your sheet's design.
Edit > Paste Special > Paste Values Only
Using the IMPORTRANGE Function
If your data already lives in another Google Sheet, you can use the IMPORTRANGE function to pull it into your current sheet automatically. This creates a live link between the two sheets. When the source sheet is updated, the destination sheet reflects those changes after a brief delay.
This is perfect for creating a master dashboard that rolls up data from several other spreadsheets, like individual project trackers or team sales reports.
How to use it:
The formula syntax is simple:
=IMPORTRANGE("spreadsheet_url", "range_string")
- spreadsheet_url: The full URL of the Google Sheet you want to import data from.
- range_string: The tab name and cell range you want to import, like "Sheet1!A1:D50".
Let’s say you want to pull data from a sheet named "Q3 Sales Data" into your "Annual Report" sheet.
- In your "Annual Report" sheet, click on the cell where you want the data to start.
- Type the formula:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/your-source-sheet-id", "Sales Data!A1:G100") - The first time you use it, you'll see a
#REF!error. Hover over the cell and click the "Allow access" button to connect the two sheets.
Once connected, the data from your source sheet will instantly appear. Any changes made to the "Sales Data!A1:G100" range in the source sheet will now automatically update in your "Annual Report" sheet.
Using Google's Built-in Import Functions
Google Sheets has a family of powerful functions designed to pull data directly from online sources. These are ideal for bringing in "live" data from public websites or files without manual downloads.
IMPORTDATA: Sync with CSV or TSV Files
The IMPORTDATA function imports data from a publicly accessible URL for a CSV (comma-separated value) or TSV (tab-separated value) file. This is useful for sources that provide a direct link to a data file.
=IMPORTDATA("http://www.domain.com/data.csv")
The data from the CSV file will populate the cells below and to the right of the cell containing the formula. Keep in mind that Google Sheets caches the results, so updates may not be instantaneous - they typically refresh every hour or so.
IMPORTHTML: Scrape Tables and Lists from Websites
This function lets you pull a table or list directly from a webpage into your sheet. It’s incredibly useful for grabbing structured data like stock prices, sports scores, or pricing tables without needing an API.
The syntax is:
=IMPORTHTML("url", "query", index)
- url: The URL of the webpage.
- query: Either "table" or "list".
- index: The number of the table or list on the page you want to import (starting from 1).
For example, to import the first table from Wikipedia's page on "List of largest companies by revenue," you would use:
=IMPORTHTML("https://en.wikipedia.org/wiki/List_of_largest_companies_by_revenue", "table", 1)
You may need a little trial and error with the index number to find the correct table on the page.
IMPORTFEED: Pull in RSS or ATOM Feeds
If you want to track a blog's latest posts or a news feed, IMPORTFEED is your tool. It pulls data directly from any RSS or ATOM feed URL.
=IMPORTFEED("http://www.graphed.com/blog/rss.xml")
This will return recent articles with titles, URLs, and publication dates. You can also add more parameters to control how many items are returned and which data points (title, author, url, etc.) are included.
True Automation: Google Apps Script
When built-in functions aren't enough, Google Apps Script gives you the power to create completely custom workflows. It’s a JavaScript platform built into every Google account that can interact with your Google Sheets, an external API, and more.
Let's walk through an example of a script that fetches data from a public API (like current Bitcoin prices) and updates a specific cell in your sheet automatically.
Step 1: Open the Script Editor
In your Google Sheet, go to Extensions > Apps Script. This will open a new tab with the script editor.
Step 2: Write Your Function
Replace the default code with a function named getBitcoinPrice.
`function getBitcoinPrice() { // 1. Fetch data from the CoinDesk API var response = UrlFetchApp.fetch("https://api.coindesk.com/v1/bpi/currentprice/USD.json"),
// 2. Parse the JSON text response to get the data var data = JSON.parse(response.getContentText()),
// 3. Get the current price from the data object var price = data.bpi.USD.rate_float,
// 4. Get the active spreadsheet and the specific sheet named "Dashboard" var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Dashboard"),
// 5. Select cell B2 and write the current price into it sheet.getRange("B2").setValue(price), }`
This script fetches data from CoinDesk's public API, pulls out the current Bitcoin price in USD, and writes that value into cell B2 of a sheet named "Dashboard."
Step 3: Save and Run Your Script
Click the save icon, then click "Run" to execute the script for the first time. Google will ask you to authorize the script to access your spreadsheets and external services. Accept the permissions to proceed.
Step 4: Set Up a Time-Driven Trigger
This is where the magic happens. A trigger will run your script on a schedule without you having to do anything.
- In the Apps Script editor, click on the clock icon in the left-hand menu to open the "Triggers" panel.
- Click the "Add Trigger" button in the bottom right.
- Configure the trigger as follows:
- Click "Save."
That's it! Now, the getBitcoinPrice script will run automatically every hour, ensuring the price in cell B2 of your "Dashboard" sheet is always up-to-date.
Using No-Code Tools and Connectors
If scripting isn't for you, there are countless tools that connect your favorite apps directly to Google Sheets with no code required.
Tools like Zapier and Make.com
Automation platforms like Zapier and Make.com allow you to create simple "if/then" workflows between thousands of apps. You can easily build automations like:
- When a new deal is marked "Won" in HubSpot, add a new row to my "Closed Deals" Google Sheet.
- When a new order is placed in Shopify, add the customer name, order total, and products to my "Daily Sales Log" Google Sheet.
- When a new form is submitted on Webflow, log the details in a "New Leads" Google Sheet.
These tools handle all the API connections for you, providing a visual, user-friendly interface to build powerful and reliable automations that keep your Sheets updated in real-time.
Dedicated Data Connectors like Supermetrics
For marketers and analysts, specialized tools like Supermetrics are built to pull data from advertising and analytics platforms (like Facebook Ads, Google Ads, GA4) directly into Google Sheets. They provide pre-built templates and a simple sidebar for scheduling regular data refreshes, making performance reporting significantly easier than manual exports.
Final Thoughts
You can keep your Google Sheets updated in a variety of ways, from a quick copy-paste to fully automated scripts. By leveraging built-in formulas, Google Apps Script, or third-party integrations, you can remove manual work and ensure your data is always current and reliable for analysis and reporting.
Of course, keeping a sheet updated is often just the first step. The real goal is to analyze that data and build dashboards. Instead of managing complex sheets and formulas, we built Graphed to automate the entire reporting process from start to finish. We let you connect data sources like Shopify, Salesforce, and Google Analytics in one click, and then use natural language - not formulas - to build live, real-time dashboards instantly. It saves you the daily headache of data exporting and report building, so you can just get the answers you need.
Related Articles
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.
How to Create a Photo Album in Meta Business Suite
How to create a photo album in Meta Business Suite — step-by-step guide to organizing Facebook and Instagram photos into albums for your business page.