Bird
Raised Fist0
Google Sheetsspreadsheet~10 mins

Why QUERY is Google Sheets' most powerful function - Formula Trace Breakdown

Choose your learning style10 modes available
Sample Data

This table shows a list of people with their ages and cities.

CellValue
A1Name
B1Age
C1City
A2Alice
B230
C2New York
A3Bob
B325
C3Los Angeles
A4Charlie
B435
C4Chicago
A5Diana
B528
C5New York
Formula Trace
=QUERY(A1:C5, "SELECT A, B WHERE C = 'New York' ORDER BY B DESC", 1)
Step 1: QUERY(A1:C5, "SELECT A, B WHERE C = 'New York' ORDER BY B DESC", 1)
Step 2: Filter rows where City = 'New York'
Step 3: Select columns Name (A) and Age (B) from filtered rows
Step 4: Sort the selected rows by Age descending
Step 5: Add headers from first row
Cell Reference Map
    A       B       C
1 | Name  | Age   | City     |
2 | Alice | 30    | New York |
3 | Bob   | 25    | Los Angeles |
4 | Charlie | 35  | Chicago  |
5 | Diana | 28    | New York |

Formula references range A1:C5 for data.
The QUERY function uses the data range A1:C5, which includes headers and all data rows.
Result
    E       F
1 | Name  | Age |
2 | Alice | 30  |
3 | Diana | 28  |
The QUERY formula outputs a table with only people from New York, showing their names and ages sorted by age descending.
Sheet Trace Quiz - 3 Questions
Test your understanding
What does the QUERY function filter by in this example?
ACity equals 'New York'
BAge greater than 30
CName starts with 'A'
DAll rows are included
Key Result
QUERY(data_range, "SELECT columns WHERE condition ORDER BY column", header_rows) filters, selects, and sorts data in one formula.

Practice

(1/5)
1. What is the main advantage of using the QUERY function in Google Sheets?
easy
A. It lets you filter and organize data without changing the original table.
B. It automatically formats your spreadsheet with colors.
C. It creates charts from your data instantly.
D. It deletes duplicate rows from your data.

Solution

  1. Step 1: Understand QUERY's purpose

    The QUERY function is designed to filter, sort, and summarize data without altering the original dataset.
  2. Step 2: Compare options to QUERY's features

    Options B, C, and D describe other functions or manual actions, not QUERY's main use.
  3. Final Answer:

    It lets you filter and organize data without changing the original table. -> Option A
  4. Quick Check:

    QUERY filters and organizes data [OK]
Hint: QUERY filters data without changing original table [OK]
Common Mistakes:
  • Thinking QUERY formats cells automatically
  • Confusing QUERY with chart creation
  • Assuming QUERY deletes data
2. Which of the following is the correct syntax to select columns A and B from a range using QUERY?
easy
A. =QUERY(A1:C10, "SELECT 1, 2")
B. =QUERY(A1:C10, "SELECT Col1, Col2")
C. =QUERY(A1:C10, "SELECT A, B")
D. =QUERY(A1:C10, "SELECT A:B")

Solution

  1. Step 1: Recall QUERY column naming

    In QUERY, columns are referenced by Col1, Col2, etc. in the SELECT clause.
  2. Step 2: Check each option's syntax

    =QUERY(A1:C10, "SELECT Col1, Col2") uses correct syntax. =QUERY(A1:C10, "SELECT 1, 2") uses invalid numbers, =QUERY(A1:C10, "SELECT A, B") uses invalid letters, =QUERY(A1:C10, "SELECT A:B") uses invalid range format.
  3. Final Answer:

    =QUERY(A1:C10, "SELECT Col1, Col2") -> Option B
  4. Quick Check:

    Use Col1, Col2 in SELECT [OK]
Hint: Use Col1, Col2 in QUERY SELECT clause [OK]
Common Mistakes:
  • Using numbers instead of Col1, Col2 for columns
  • Trying to select a range like A:B inside SELECT
  • Using column letters A, B instead of Col1, Col2
3. Given the data in A1:B5:
A    B
1    10
2    20
3    30
4    40
5    50

What will =QUERY(A1:B5, "SELECT Col1 WHERE Col2 > 25") return?
medium
A. [1, 2]
B. [30, 40, 50]
C. [3, 4, 5]
D. [10, 20, 30]

Solution

  1. Step 1: Understand the QUERY condition

    The query selects column A (Col1) where values in column B (Col2) are greater than 25.
  2. Step 2: Identify rows where B > 25

    Rows with B=30, 40, 50 correspond to A=3, 4, 5.
  3. Final Answer:

    [3, 4, 5] -> Option C
  4. Quick Check:

    Filter B > 25, select A [OK]
Hint: Filter rows by condition, then select column [OK]
Common Mistakes:
  • Selecting values from column B instead of A
  • Including rows where B ≤ 25
  • Confusing column letters with values
4. The formula =QUERY(A1:C10, "SELECT Col1, Col2, SUM(Col3) GROUP BY Col1") returns an error. What is the likely cause?
medium
A. All selected columns must be in GROUP BY or aggregated
B. SUM(Col3) cannot be used without aliasing
C. Column C must be included in SELECT when grouping
D. Missing a WHERE clause before GROUP BY

Solution

  1. Step 1: Understand GROUP BY rules in QUERY

    When using GROUP BY, all selected columns must be either grouped or aggregated.
  2. Step 2: Analyze the formula's SELECT clause

    Col1 is grouped, SUM(Col3) is aggregated, but Col2 is neither, causing the error.
  3. Final Answer:

    All selected columns must be in GROUP BY or aggregated -> Option A
  4. Quick Check:

    GROUP BY requires all columns grouped or aggregated [OK]
Hint: Group or aggregate all selected columns [OK]
Common Mistakes:
  • Thinking WHERE is required before GROUP BY
  • Believing aliasing fixes aggregation errors
  • Ignoring GROUP BY rules for selected columns
5. You have a sales table with columns Date (A), Product (B), and Sales (C). How would you write a QUERY to find total sales per product for sales greater than 100, sorted by total sales descending?
hard
A. =QUERY(A1:C100, "SELECT Col2, SUM(Col3) GROUP BY Col2 WHERE Col3 > 100 ORDER BY SUM(Col3) DESC")
B. =QUERY(A1:C100, "SELECT Col2, SUM(Col3) ORDER BY SUM(Col3) DESC WHERE Col3 > 100 GROUP BY Col2")
C. =QUERY(A1:C100, "SELECT Col2, SUM(Col3) WHERE Col3 > 100 ORDER BY SUM(Col3) DESC GROUP BY Col2")
D. =QUERY(A1:C100, "SELECT Col2, SUM(Col3) WHERE Col3 > 100 GROUP BY Col2 ORDER BY SUM(Col3) DESC")

Solution

  1. Step 1: Identify correct QUERY clause order

    The correct order is SELECT, WHERE, GROUP BY, ORDER BY.
  2. Step 2: Check each option's clause order and syntax

    =QUERY(A1:C100, "SELECT Col2, SUM(Col3) WHERE Col3 > 100 GROUP BY Col2 ORDER BY SUM(Col3) DESC") follows correct order and syntax. Options A, C, and D have clauses in wrong order causing errors.
  3. Final Answer:

    =QUERY(A1:C100, "SELECT Col2, SUM(Col3) WHERE Col3 > 100 GROUP BY Col2 ORDER BY SUM(Col3) DESC") -> Option D
  4. Quick Check:

    Clause order: SELECT, WHERE, GROUP BY, ORDER BY [OK]
Hint: Remember QUERY clause order: SELECT, WHERE, GROUP BY, ORDER BY [OK]
Common Mistakes:
  • Placing WHERE after GROUP BY or ORDER BY
  • Forgetting to group by product when summing sales
  • Incorrect clause order causing syntax errors
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard