Combine Google Sheets with QUERY & IMPORTRANGE Next

A practical guide to merging and filtering data across spreadsheets

πŸ“Œ Introduction

When you're working with multiple Google Sheets, you might often need to pull data from one into another. Instead of copying and pasting, Google Sheets gives you powerful functions like IMPORTRANGE and QUERY to do this automatically and dynamically.

In this guide, you’ll learn how to:

  • Bring in data from another spreadsheet using IMPORTRANGE
  • Filter, sort, and structure that data using QUERY
  • Combine both functions to create powerful, real-time reports

This is perfect for dashboards, team reports, project trackers, or anything where data lives in more than one sheet.

πŸ” Syntax Overview

IMPORTRANGE lets you import a range of cells from a completely different Google Sheet:

=IMPORTRANGE("spreadsheet_url", "range_string")

β€’ "spreadsheet_url" is the link (URL) to the source Google Sheet (must be in quotes)
β€’ "range_string" is the tab and cell range, like "Sheet1!A1:C10"

QUERY allows you to search and organize data using SQL-like commands:

=QUERY(data, "SELECT Col1, Col2 WHERE Col1 IS NOT NULL")

β€’ data can be a range or another function
β€’ "SELECT Col1..." defines what columns you want
β€’ WHERE helps you filter the results

πŸ§ͺ Example Formula

Let’s say you have two spreadsheets (with the same layout) from two different teams. You want to combine their data into one master sheet, but only include rows that have a value in Column A.

Here’s how you can do it:


={QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/URL1", "Sheet1!A1:C10"), 
       "SELECT Col1, Col2 WHERE Col1 IS NOT NULL");
  QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/URL2", "Sheet1!A1:C10"), 
       "SELECT Col1, Col2 WHERE Col1 IS NOT NULL")}
    

What this does:

  • IMPORTRANGE pulls the data from each sheet
  • QUERY filters to show only rows where Column 1 isn’t empty
  • The { ... ; ... } notation stacks the results from both queries into one list

Tip: The first time you use IMPORTRANGE, Google Sheets will ask for permission β€” click β€œAllow access” to enable it.

Master Google Sheets with QUERY & FILTER Functions

A hands-on guide to filtering and analyzing data in real time

πŸ“Œ Introduction

Google Sheets is more than just a spreadsheet β€” it’s a tool for organizing, analyzing, and filtering information. If you're new to functions like QUERY and FILTER, they might sound intimidating, but they're incredibly useful and easy to learn with a bit of guidance.

In this guide, you’ll learn how to:

  • Use the QUERY function to filter and sort data like a pro
  • Apply the FILTER function to quickly show only what matters
  • Understand when to use each and how they work together

This guide is perfect for beginners who want to turn static data into live, interactive insights β€” whether you're tracking tasks, managing sales, or building reports.

πŸ” Syntax Overview

QUERY Function:

=QUERY(range, "SELECT Col1, Col2 WHERE Col3 = 'Done'")

β€’ range is the group of cells you want to analyze (e.g. A1:D100)
β€’ "SELECT" tells it which columns to show
β€’ "WHERE" filters based on a condition (e.g., only rows where status is "Done")

FILTER Function:

=FILTER(A2:C100, B2:B100 = "Completed")

β€’ The first part is the data you want to show (A2 to C100)
β€’ The second part is the condition β€” only rows where column B says "Completed"
β€’ FILTER shows only the matching rows, and hides the rest automatically

πŸ§ͺ Example Formula

Let’s say you’re managing a project tracker where each row is a task. You have columns like:

  • Column A: Task Name
  • Column B: Assigned To
  • Column C: Status (like "Pending", "In Progress", "Completed")

Now you want to create a list that shows only the tasks that are Completed.

Using FILTER:

=FILTER(A2:C100, C2:C100 = "Completed")

Using QUERY:

=QUERY(A2:C100, "SELECT A, B, C WHERE C = 'Completed'")

What these do:

  • Both functions return only the rows where status is "Completed"
  • FILTER is more direct and easy to use for simple conditions
  • QUERY is more powerful for selecting specific columns and doing more complex filtering

Bonus Tip: If you want to filter by multiple conditions (e.g. completed AND assigned to "Alex"), use QUERY like this:

=QUERY(A2:C100, "SELECT A, B WHERE C = 'Completed' AND B = 'Alex'")

Import Live Data into Google Sheets Using IMPORTRANGE

Learn how to pull live data from other spreadsheets effortlessly

πŸ“Œ Introduction

Imagine you have data in one Google Sheet, and you want to use it in another β€” without copying and pasting every time it updates. That's exactly what IMPORTRANGE helps you do.

IMPORTRANGE is a Google Sheets function that allows you to pull live data from one spreadsheet into another. This is perfect for:

  • Creating dashboards that reflect real-time updates
  • Collecting data from multiple sheets into one master sheet
  • Sharing limited access to specific data without giving full document permissions

In this guide, you'll learn how to use IMPORTRANGE effectively, understand its syntax, and explore real-life use cases with step-by-step examples.

πŸ” Syntax Overview

The basic syntax for IMPORTRANGE looks like this:

=IMPORTRANGE("spreadsheet_url", "range_string")

What each part means:

  • "spreadsheet_url": This is the full URL (or spreadsheet ID) of the sheet you want to import data from. It must be in quotes.
  • "range_string": This refers to the tab name and range, like "Sheet1!A1:C10".

πŸ’‘ Tip: The first time you use IMPORTRANGE from a new sheet, Google Sheets will ask you to "Allow access." You must click it to connect the two sheets.

πŸ§ͺ Example Formula

Let’s say you have a source spreadsheet with sales data. You want to bring in the data from the range A1:D10 in a tab named Sales2025.

Here’s the formula you’d use in your destination sheet:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcDExYz12345678", "Sales2025!A1:D10")

How it works:

  • Pulls the data from the given spreadsheet and range
  • Updates automatically when the source data changes
  • Only displays what you define in the range β€” no more, no less

Use Cases:

  • Link data between different teams (Marketing, Sales, HR)
  • Pull data from a student attendance sheet into a class dashboard
  • Connect multiple project sheets into one master tracker

Advanced Tip: You can wrap IMPORTRANGE inside functions like QUERY, FILTER, or SORT to refine what you see.

=QUERY(IMPORTRANGE("URL", "Sales2025!A1:D100"), "SELECT Col1, Col4 WHERE Col3 > 100")

This would show only rows where column 3 has values greater than 100.

Build Dynamic Reports in Google Sheets with QUERY

Create real-time reports using SQL-like queries in Sheets

πŸ“Œ Introduction

Creating reports manually in Google Sheets can be time-consuming β€” especially when data changes often. That’s where the QUERY function shines.

QUERY lets you filter, sort, and summarize your data using SQL-like commands, all within a single formula. It's like having a mini database built right into your spreadsheet.

In this guide, you’ll learn how to:

  • Use QUERY to create live reports from any data table
  • Filter rows and select only the columns you need
  • Group and summarize data dynamically

This is especially useful for sales reports, task overviews, student performance tracking, or any situation where data is always changing.

πŸ” Syntax Overview

The basic syntax of the QUERY function looks like this:

=QUERY(data_range, "SQL_query", [headers])

Explanation:

  • data_range: The range of data you want to work with (like A1:D100)
  • "SQL_query": A text string that tells Google Sheets what to select (e.g., "SELECT A, C WHERE B = 'Done'")
  • [headers]: Optional β€” tells how many header rows are in your data (usually 1)

Basic commands you can use inside QUERY:

  • SELECT: Pick which columns to include
  • WHERE: Filter rows that meet a condition
  • ORDER BY: Sort the data
  • LIMIT: Only show a certain number of results
  • LABEL: Rename column headers

πŸ§ͺ Example Formula

Let’s say you have a table with task data:

  • Column A: Task Name
  • Column B: Status (e.g., "Done", "In Progress")
  • Column C: Assigned To
  • Column D: Due Date

You want to create a report that shows only tasks marked as "Done", sorted by due date.

Here’s the formula:

=QUERY(A1:D100, "SELECT A, C, D WHERE B = 'Done' ORDER BY D", 1)

What it does:

  • Returns columns A (Task), C (Assigned To), and D (Due Date)
  • Only includes rows where column B is "Done"
  • Sorts the result by due date (column D)

Another Example – Count tasks per team member:

=QUERY(A1:D100, "SELECT C, COUNT(A) WHERE B = 'Done' GROUP BY C", 1)

This gives you a summary of how many completed tasks each person has.

Use Cases:

  • Create real-time progress reports
  • Summarize sales by region or employee
  • Generate a weekly report with live data

Merge Data Across Sheets with IMPORTRANGE + QUERY

Combine multiple spreadsheets into one live, filtered view

πŸ“Œ Introduction

If your data is split across different spreadsheets β€” maybe one per department, team, or region β€” you don't have to keep copying and pasting. Google Sheets gives you two amazing tools to help you bring everything together:

  • IMPORTRANGE: Pulls live data from another spreadsheet
  • QUERY: Filters, reshapes, and combines that data

In this guide, you’ll learn how to merge data from multiple spreadsheets into a single, dynamic view β€” perfect for summary dashboards, team rollups, or combined reports.

πŸ” Syntax Overview

IMPORTRANGE Syntax:

=IMPORTRANGE("spreadsheet_url", "sheet_name!range")

β€’ This function imports a range of data from another Google Sheet.

QUERY Syntax:

=QUERY(data, "SELECT Col1, Col2 WHERE Col3 IS NOT NULL")

β€’ This function filters and displays only the rows and columns you want.

πŸ’‘ Combining them:

=QUERY(IMPORTRANGE("spreadsheet_url", "Sheet1!A1:C100"), "SELECT Col1, Col3 WHERE Col2 = 'Approved'")

This fetches the data, then filters it to show only rows with 'Approved' in Column 2.

πŸ§ͺ Example Formula

Let’s say you manage two teams β€” each with its own Google Sheet:

  • Team A Sheet: https://docs.google.com/spreadsheets/d/TEAM_A_URL
  • Team B Sheet: https://docs.google.com/spreadsheets/d/TEAM_B_URL

Each has a tab named Report with columns:

  • Col1: Name
  • Col2: Hours Worked
  • Col3: Status

You want to show only team members who are "Active" across both sheets. Here's how to do it:


={
  QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/TEAM_A_URL", "Report!A1:C"), 
        "SELECT Col1, Col2 WHERE Col3 = 'Active'");
  QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/TEAM_B_URL", "Report!A1:C"), 
        "SELECT Col1, Col2 WHERE Col3 = 'Active'")
}
    

What it does:

  • Imports data from both sheets using IMPORTRANGE
  • Filters each to include only "Active" rows using QUERY
  • Merges both results vertically using the curly brackets { ... ; ... }

Use Cases:

  • Combine regional sales data into one report
  • Merge student results from different classes
  • Build a master list from several departmental trackers

Reminder: The first time you use IMPORTRANGE for each new sheet, Google will prompt you to allow access β€” click "Allow access" when asked.

Create Dashboards with Google Sheets & Pivot Tables

A step-by-step guide to summarizing and visualizing your data

πŸ“Œ Introduction

When you have a lot of data in Google Sheets, it can get overwhelming. That’s where dashboards and pivot tables come in β€” they let you summarize, analyze, and visualize your data in a clean, interactive way.

Pivot tables allow you to quickly group and total values without writing formulas. When used in combination with charts and slicers, they can create powerful dashboards that update automatically as your data changes.

In this guide, you’ll learn how to:

  • Create pivot tables to summarize large data sets
  • Turn pivot tables into live dashboards with charts
  • Use filters (called slicers) to interact with your data

This is perfect for business reports, student performance summaries, sales dashboards, and more.

πŸ” How to Create a Pivot Table

You don’t need to write formulas to create pivot tables. Just follow these steps:

  1. Select your data (including headers)
  2. Click Insert > Pivot table
  3. Choose whether to place the pivot table in a new sheet or the same sheet
  4. In the pivot editor:
    • Add fields to Rows to group data
    • Add fields to Values to calculate totals or counts
    • Add fields to Columns to break data into categories

Example: You have sales data with these columns:

  • Date
  • Region
  • Product
  • Revenue

In your pivot table, you could:

  • Set Region as Rows
  • Set Product as Columns
  • Set Revenue as Values (summed)
This gives you a quick view of how much each region earned by product.

πŸ§ͺ Dashboard Example

Let’s walk through a simple example to create a sales dashboard.

Step 1: Prepare your data


Date       | Region  | Product   | Sales
-----------|---------|-----------|-------
2025-01-01 | East    | Apples    | 120
2025-01-01 | West    | Oranges   | 90
2025-01-02 | East    | Apples    | 100
2025-01-02 | West    | Apples    | 130
    

Step 2: Insert Pivot Table

  • Rows: Region
  • Columns: Product
  • Values: Sum of Sales

Step 3: Insert a Chart

  1. Highlight the pivot table output
  2. Click Insert > Chart
  3. Choose a Column chart or Stacked bar chart for clear comparison

Step 4: Add a Slicer (Optional)

  1. Click anywhere in the pivot table
  2. Go to Data > Add a slicer
  3. Set the slicer to control by Region or Date

This gives you an interactive report where the chart and table update automatically when the slicer is changed.

Use Cases:

  • Track sales performance by product, team, or region
  • Monitor student grades by class or subject
  • Summarize project completion by date or department

Link multiple project sheets into one real-time tracker