QUERY formula in Google Sheets is throwing errors like #VALUE!, #N/A, or “Unable to parse query string”?
This usually happens due to incorrect syntax, wrong column references, or formatting issues inside the query string.
This guide shows exactly how to fix it.
Why the Issue Happens
- Missing or incorrect quotes inside the query
- Using wrong column references (
AvsCol1) - Incorrect header row setting
- Text vs number mismatch in conditions
- Wrong date format inside query
- Mixing SQL syntax incorrectly
- Typos in keywords (
SELECT,WHERE, etc.) - Extra spaces or invalid characters
Step-by-Step Fixes
Step 1: Use Correct QUERY Structure
Basic format:
=QUERY(data, "query", [headers])
Example:
=QUERY(A1:C100, "SELECT A, B WHERE C > 100", 1)
data→ range"query"→ SQL-like string1→ header row
If structure is wrong, QUERY fails immediately.
Step 2: Fix “Unable to Parse Query String”
This error means syntax is broken.
Common cause:
=QUERY(A1:C100, "SELECT A WHERE B = "Sales"", 1)
Fix (use single quotes inside):
=QUERY(A1:C100, "SELECT A WHERE B = 'Sales'", 1)
Rule:
- Outer quotes →
" - Inner text →
'
Step 3: Use Correct Column References
Two valid styles:
Letter-based (normal range):
=QUERY(A1:C100, "SELECT A, B WHERE C > 100", 1)
Col-based (IMPORTRANGE or array):
=QUERY(A1:C100, "SELECT Col1, Col2 WHERE Col3 > 100", 1)
Do NOT mix:
SELECT A, Col2 ❌
Step 4: Fix Header Row Argument
Wrong header setting breaks query.
Example:
=QUERY(A1:C100, "SELECT A", 0)
If row 1 has headers, this is wrong.
Fix:
=QUERY(A1:C100, "SELECT A", 1)
Step 5: Fix Text vs Number Conditions
QUERY is strict.
Wrong:
=QUERY(A1:C100, "SELECT A WHERE B = 100", 1)
If B is text "100" → fails.
Fix:
=QUERY(A1:C100, "SELECT A WHERE B = '100'", 1)
Rule:
- Numbers → no quotes
- Text → single quotes
Step 6: Fix Date Syntax Errors
Dates must follow strict format:
yyyy-mm-dd
Wrong:
=QUERY(A1:C100, "SELECT A WHERE B > '01/01/2024'", 1)
Correct:
=QUERY(A1:C100, "SELECT A WHERE B > date '2024-01-01'", 1)
Step 7: Handle Blank or NULL Values
Wrong:
=QUERY(A1:C100, "SELECT A WHERE B = ''", 1)
Correct:
=QUERY(A1:C100, "SELECT A WHERE B IS NULL", 1)
For non-empty:
=QUERY(A1:C100, "SELECT A WHERE B IS NOT NULL", 1)
Step 8: Fix QUERY with IMPORTRANGE
Common mistake:
=QUERY(IMPORTRANGE("ID","Sheet1!A:C"), "SELECT A", 1)
This fails.
Fix:
=QUERY(IMPORTRANGE("ID","Sheet1!A:C"), "SELECT Col1", 1)
IMPORTRANGE always uses Col1, Col2, etc.
Step 9: Debug Step-by-Step
If query fails, simplify:
Start with:
=QUERY(A1:C100, "SELECT A", 1)
Then add conditions gradually:
=QUERY(A1:C100, "SELECT A WHERE B > 100", 1)
This isolates the issue quickly.
Step 10: Avoid Extra Spaces and Typos
QUERY is sensitive.
Wrong:
"SELECT A WHERE B>100"
Fix:
- Use clean syntax
- Avoid unnecessary spaces or typos
Common Mistakes
- Using double quotes inside query incorrectly
- Mixing
AandCol1references - Wrong header row value
- Using wrong date format
- Not quoting text values
- Using
=instead ofIS NULLfor blanks - Typos in SQL keywords
Pro Tips / Better Alternatives
Use LABEL for Clean Output
=QUERY(A1:C100, "SELECT A, B LABEL A 'Name', B 'Revenue'", 1)
Improves readability.
Combine QUERY with FILTER
For flexibility:
=FILTER(A:C, B:B="Sales")
Use when QUERY feels too rigid.
Use Named Ranges
Instead of:
=QUERY(A1:C100, ...)
Use:
=QUERY(DataRange, ...)
Reduces errors.
Clean Data Before QUERY
Use:
=TRIM()
=CLEAN()
=VALUE()
Prevents syntax and match errors.
Use QUERY for Aggregation
=QUERY(A1:C100, "SELECT B, SUM(C) GROUP BY B", 1)
More efficient than multiple formulas.
Bottom Line
If QUERY syntax errors occur, fix in this order:
- Check quotes (single vs double)
- Use correct column references
- Set header row properly
- Match data types (text, number, date)
- Use correct date and NULL syntax
- Debug with simpler queries
Most errors come from syntax mistakes and data type mismatches.
Fix those, and your QUERY formulas will work reliably.