Import Data Across Sheets in Google Sheets: A Guide

Jason Gong
June 6, 2024

Use IMPORTRANGE to link data between Google Sheets.

By the way, we're Bardeen, we build a free AI Agent for doing repetitive tasks.

If you manage data in Google Sheets, you'll love our GPT in Spreadsheets feature. It helps automate data imports and enrich data, saving you time.

Importing data from one Google Sheet to another is a crucial skill for streamlining data management and analysis. In this step-by-step guide, we'll show you how to use the IMPORTRANGE function to link data between sheets, ensuring data integrity and efficient workflows. We'll also cover advanced techniques like using the QUERY function and Google Sheets API for more complex data import scenarios.

Introduction to Google Sheets Data Import

Importing data from one Google Sheet to another is essential for efficient data management and analysis. By linking data between sheets, you can maintain data integrity, streamline workflows, and save time on manual data entry. Here are some key benefits of importing data in Google Sheets:

  • Centralize data from multiple sources into a single sheet for easier analysis
  • Automatically update linked data when changes are made in the source sheet
  • Reduce errors and inconsistencies caused by manual data entry
  • Create dynamic reports and dashboards that pull data from various sheets

To import data from another sheet, you'll need to use special functions like IMPORTRANGE, which allows you to link a range of cells from one sheet to another. You can also combine IMPORTRANGE with other functions like QUERY to manipulate and refine the imported data. In the following sections, we'll dive into the step-by-step process of importing data using these functions and explore advanced techniques for more complex scenarios. If you're looking to add AI to your spreadsheet, Bardeen offers powerful tools for automating and enriching data.

Using the IMPORTRANGE Function

The IMPORTRANGE function in Google Sheets allows you to import data from one sheet to another, even across different spreadsheets. The syntax for the function is:


Here's a breakdown of the parameters:

  • spreadsheet_url: The URL of the source spreadsheet, enclosed in quotation marks.
  • range_string: The range of cells to import, in the format "SheetName!A1:B10" (replace with your actual sheet name and range).

To use IMPORTRANGE, follow these steps:

  1. In the destination sheet, enter the IMPORTRANGE function in a cell where you want the imported data to start.
  2. Provide the source spreadsheet URL and range string as arguments.
  3. Press Enter, and you'll see a #REF! error initially.
  4. Click on the cell with the error and select "Allow access" to grant permission for data import.

Common errors and troubleshooting tips:

  • #REF! error: Occurs when you haven't granted permission to access the source spreadsheet. Click "Allow access" to resolve this.
  • Formula parse error: Check for typos in the function, ensure proper syntax, and verify the source URL and range are correct.
  • Imported data not updating: IMPORTRANGE automatically updates the imported data when the source changes. If it doesn't, try refreshing the sheet or re-entering the function.

Keep in mind that IMPORTRANGE has some limitations, such as a maximum of 50 calls per spreadsheet and a data size limit of around 10,000 cells. For larger data imports or more complex scenarios, consider using other methods like the Google Sheets API or third-party tools.

Save time and automate data imports. Use Bardeen’s Google Docs integration to connect your spreadsheets effortlessly.

Leveraging the QUERY Function for Advanced Data Import

The QUERY function in Google Sheets can be combined with IMPORTRANGE to perform advanced data manipulation on imported data. This allows you to filter, sort, and refine the data as it's being imported. The syntax for using QUERY with IMPORTRANGE is:

QUERY(IMPORTRANGE("spreadsheet_url", "range_string"), "query_string")

Here's a breakdown of the parameters:

  • spreadsheet_url: The URL of the source spreadsheet, enclosed in quotation marks.
  • range_string: The range of cells to import, in the format "SheetName!A1:B10".
  • query_string: The QUERY function's SQL-like command to manipulate the imported data.

For example, to import data from a range and filter it based on a specific condition, you can use:

=QUERY(IMPORTRANGE("spreadsheet_url", "SheetName!A:D"), "SELECT * WHERE Col1 = 'Condition'")

This imports all columns from the specified range where the value in column A matches the given condition. You can also sort the imported data using the ORDER BY clause:

=QUERY(IMPORTRANGE("spreadsheet_url", "SheetName!A:D"), "SELECT * ORDER BY Col2 DESC")

This imports the data and sorts it in descending order based on the values in column B. Combining QUERY with IMPORTRANGE gives you the power to handle complex data scenarios, such as data enrichment and qualification from multiple sheets or performing calculations on imported data.

Automating Data Sync with Google Sheets API

The Google Sheets API provides a powerful way to automate data import and sync operations, giving you more control and flexibility over your data workflows. This is particularly useful in business and development environments where data needs to be dynamically updated and integrated with other systems. Here's a step-by-step guide on setting up the Google Sheets API:

  1. Enable the Google Sheets API in your Google Cloud Console project.
  2. Create a service account and download the JSON key file.
  3. Share your Google Sheet with the service account email.
  4. Install the necessary libraries (e.g., Google Client Library) in your development environment.
  5. Authenticate your application using the service account JSON key file.
  6. Use the Google Sheets API methods to read, write, and manipulate data in your sheet.

Here's an example of how to read data from a Google Sheet using Python:

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['']
SERVICE_ACCOUNT_FILE = 'path/to/your/service_account.json'

creds = service_account.Credentials.from_service_account_file(

service = build('sheets', 'v4', credentials=creds)

sheet_id = 'your-sheet-id'
range_name = 'Sheet1!A1:B10'
result = service.spreadsheets().values().get(
   spreadsheetId=sheet_id, range=range_name).execute()
data = result.get('values', [])
Using Bardeen to integrate Google Drive with other apps can automate data sync further, saving you even more time.

By automating data sync with the Google Sheets API, you can automate lead management, reduce manual effort, and ensure that your data is always up-to-date across multiple systems.

Common Challenges and Solutions in Data Import

While importing data in Google Sheets is a powerful feature, there are some limitations and common issues you may encounter. Here are a few challenges and their practical solutions:

  1. Data size limits: Google Sheets has a limit of 5 million cells per spreadsheet. If your data exceeds this limit, consider splitting it into multiple sheets or using an alternative storage solution like Google BigQuery.
  2. Update frequencies: When using functions like IMPORTRANGE or the Google Sheets API, be aware of the update frequency limits. Google Sheets may cache data for a certain period, leading to delayed updates. To force an update, make a minor edit to the source sheet or use the Google Sheets API with real-time data fetching.
  3. Error handling: Import functions can encounter errors due to invalid data, missing permissions, or formula parsing issues. Use error handling techniques like IFERROR or try-catch blocks in your code to gracefully handle and log errors for debugging.
  4. Data validation: Ensure that your source data is clean and consistent before importing. Use data validation rules in Google Sheets to restrict input formats, catch errors early, and maintain data integrity.
  5. Performance: Importing large datasets or complex queries can impact performance. Optimize your import functions by selecting specific ranges, using filters, and limiting the amount of data processed. Consider using the Google Sheets API for faster operations.

By addressing these challenges proactively and implementing appropriate solutions, you can ensure a smooth and reliable data import process in Google Sheets. Regular testing, monitoring, and optimization will help you maintain the efficiency and accuracy of your data workflows.

Automate Google Sheets with Bardeen Playbooks

Importing data from different sheets within Google Sheets can significantly enhance your data management and analysis capabilities. While manual methods such as the IMPORTRANGE function are effective, automation can take your productivity to the next level. Bardeen offers powerful playbooks to automate various tasks in Google Sheets, saving you time and ensuring accuracy.

Here are examples of how Bardeen can automate data imports and management in Google Sheets:

  1. Copy records from SmartSuite to Google Sheets: This playbook automates the process of transferring data from SmartSuite directly into Google Sheets, streamlining data consolidation and analysis.
  2. Save data from the Google News page to Google Sheets: Automatically extract and save the latest news data from Google News to Google Sheets for easy tracking and analysis of current events.
  3. Export All HubSpot Products to a Google Sheets Tab: Seamlessly transfer product data from HubSpot to Google Sheets, facilitating easier data management and sharing across teams.

Discover the power of automation with Bardeen. Download the app at and transform your Google Sheets workflow today.

Supercharge Google Sheets with Bardeen's GPT

Automate data imports and save time with Bardeen's GPT in Spreadsheets.

Get Bardeen free

Related frequently asked questions

Export Deleted Records from HubSpot: A Guide (2024)

Learn how to export deleted records from HubSpot using the Export Data API or data recovery techniques for comprehensive data management and recovery.

Read more
Web Scraping Dynamic Websites with Python: A Step-by-Step Guide

Learn how to scrape dynamic websites using Python, Selenium, and Beautiful Soup for effective data extraction. Step-by-step guide included.

Read more
Download Images & Charts from Google Sheets: A Guide

Learn how to download images and charts from Google Sheets directly or from a URL list to Google Drive, including step-by-step instructions.

Read more
Export Salesforce Notes: A Step-by-Step Guide

Learn to export Salesforce notes and attachments with a step-by-step guide, including third-party tools and custom coding options for comprehensive data management.

Read more
Embed Content in Notion: A Step-by-Step Guide

Learn how to create an embed block in Notion to integrate videos, documents, and widgets into your pages, enhancing interactivity and resource centralization.

Read more
Tagging Contacts in HubSpot: A Step-by-Step Guide

Learn how to effectively add tags to HubSpot contacts using custom properties for improved segmentation and personalization in your marketing efforts.

Read more
how does bardeen work?

Your proactive teammate — doing the busywork to save you time

Integrate your apps and websites

Use data and events in one app to automate another. Bardeen supports an increasing library of powerful integrations.

Perform tasks & actions

Bardeen completes tasks in apps and websites you use for work, so you don't have to - filling forms, sending messages, or even crafting detailed reports.

Combine it all to create workflows

Workflows are a series of actions triggered by you or a change in a connected app. They automate repetitive tasks you normally perform manually - saving you time.

get bardeen

Don't just connect your apps, automate them.

200,000+ users and counting use Bardeen to eliminate repetitive tasks

Effortless setup
AI powered workflows
Free to use
Reading time
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
By clicking “Accept”, you agree to the storing of cookies. View our Privacy Policy for more information.