# How to remove the header row from QUERY results in Google Sheets

Start the range below the headers and set the last argument to 0: `=QUERY(A2:F13,"select B, F where C = 'East'",0)`.

**Google Sheets:** `=QUERY(A2:F13,"select B, F where C = 'East'",0)`

**Excel:** Excel has no QUERY function. FILTER returns no header row in the first place: `=CHOOSECOLS(FILTER(A2:F13,C2:C13="East"),2,6)`.

## Example

Sample data (row 1 is the header):

| A | B | C | D | E | F |
| --- | --- | --- | --- | --- | --- |
| Date | Rep | Region | Product | Units | Revenue |
| 2026-07-03 | Ana Ruiz | East | Widget | 40 | 2080 |
| 2026-07-06 | Raj Patel | West | Gadget | 25 | 2225 |
| 2026-07-10 | Lee Chen | East | Gizmo | 12 | 1740 |
| 2026-07-14 | Ana Ruiz | North | Gadget | 30 | 2670 |
| 2026-07-17 | Kim Ortiz | West | Widget | 55 | 2860 |
| 2026-07-21 | Raj Patel | East | Widget Pro | 18 | 1422 |
| 2026-07-24 | Lee Chen | South | Gadget | 22 | 1958 |
| 2026-07-29 | Kim Ortiz | East | Gizmo | 9 | 1305 |
| 2026-08-04 | Mo Diaz | North | Gizmo | 14 | 2030 |
| 2026-08-07 | Raj Patel | South | Widget | 20 | 1040 |
| 2026-08-12 | Kim Ortiz | North | Gadget | 16 | 1424 |
| 2026-08-18 | Mo Diaz | East | Gizmo Mini | 28 | 1092 |

Formula in H1: `=QUERY(A2:F13,"select B, F where C = 'East'",0)`

Result (spills 5 × 2): Ana Ruiz, $2,080; Lee Chen, $1,740; Raj Patel, $1,422; Kim Ortiz, $1,305; Mo Diaz, $1,092

## How it works

QUERY repeats as many header rows as you tell it the data has. With the range starting at row 2 and headers set to 0, there is no header to repeat, so only the matching rows come back. That's handy when the result sits under headers you typed yourself.

## Other ways

- `=QUERY(QUERY(A1:F13,"select B, F where C = 'East'",1),"select * offset 1",0)`: Wrap a query in a second one that skips its first row. This works for grouped queries too, which always add a header.
- `=QUERY(QUERY(A1:F13,"select C, sum(F) group by C",1),"select * offset 1",0)`: The same wrapper on a grouped query, which is where the header is hardest to lose. (Region totals without the header row.)

## Common mistakes

- A query with sum(), count() or pivot always returns a header row, even with headers set to 0. Use the offset wrapper.
- Setting headers to 0 but keeping the range at A1 returns the header text as the first data row.

## Questions

**Why does QUERY show my first data row as a header?**

The headers argument is missing, so QUERY guessed. Set it to 1 if the range includes the header row, 0 if it doesn't.

**How do I keep the header but rename it?**

Use label: `label B 'Rep', F 'Revenue'`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/remove-the-header-row-from-query
