Compare & combine files · 5 min read

Google Sheets FILTER No Matches: Diagnose the Criteria Before Hiding the Error

A FILTER result can be empty because no records qualify, or because the formula is testing a different condition from the one you intended. Replacing every error with a blank makes those two situations look identical.

Set up a small result you can verify

Use Google Sheets in a desktop browser with English function names. Put the input CSV in A1:D7 on a working tab. Enter Support in G2 and Open in H2. Copy the four source headers to J1:M1 and reserve J2:M7 for the result. Formulas below use commas; a locale that uses semicolon argument separators needs that punctuation adjustment.

The sample is deliberately small enough to check by eye. Find T101, T104 and T106 in the source before entering a formula. These three rows establish the acceptance result. Do not point a diagnostic formula at thousands of rows until it gives the correct answer on this bounded fixture.

Set up a small result you can verify — formulas
J2: =FILTER(A2:D7,B2:B7=G2,C2:C7=H2)

Read the original error rather than hiding it

Temporarily remove an existing IFERROR or IFNA wrapper and inspect the message on the formula cell. Google documents #N/A when FILTER finds no qualifying values. A blocked output area, a broken reference or inconsistent condition dimensions requires a different repair. An empty-looking report alone does not tell you which problem occurred.

Keep the source rectangle and each row condition aligned: A2:D7, B2:B7 and C2:C7 all describe rows 2 through 7. B1:B6 has the same number of cells but compares each ticket with the preceding row. B2:B8 has a different number of cells. Check both the starting row and the ending row; a matching length is only half the check.

Inspect each condition and then their intersection

Use E1 and F1 for team_match and status_match. Put the formulas below in row 2 and fill to row 7. Support matches four source rows; Open matches four rows; only three rows satisfy both. Seeing matches in both helper columns separately does not prove that the same rows pass both tests.

In this example, T103 passes the team test but fails the status test. T102 does the reverse. This is an AND report, which is what separate FILTER conditions express. If your requirement is Support OR Open, change the logic deliberately rather than deleting whichever condition makes the error disappear.

Inspect each condition and then their intersection — formulas
E2: =B2=$G$2
F2: =C2=$H$2
Passes both; T101 | Support | Open; T104 | Support | Open; T106 | Support | Open; Passes only one; T102 | Sales | Open; T103 | Support | Closed
Illustrated example. Illustrative synthetic decision table, not a screenshot of Google Sheets.

Check values that merely look equal

Inspect the formula bar for G2 and a source team cell. A trailing space can make a dropdown label differ from imported text. If normalizing spaces is appropriate, make a helper column and review the changed values before replacing a production key. Some identifiers intentionally contain spaces, so blanket cleanup is not always correct.

Apply the same reasoning to dates and checkbox values. A formatted date and the text label printed on it are different things. A default checkbox contains a logical value; do not assume the text word TRUE is an interchangeable input for every formula. Test the underlying values directly on one known row instead of guessing from alignment or color.

Add a no-results message after the positive test passes

Change G2 to Finance. The unwrapped formula should now have no matching records. This is the appropriate time to add the IFNA version below. It writes a message in J2 instead of manufacturing a zero-hour ticket. Put Support back in G2 afterwards and confirm that all three real tickets return.

IFNA is narrower than IFERROR, but it is not proof that every #N/A means no matches. A #N/A coming from a source formula or faulty condition may also be caught. Keep error-free input as an explicit precondition. Use the unwrapped diagnostic formula again whenever an expected ticket disappears.

Add a no-results message after the positive test passes — formulas
J2: =IFNA(FILTER(A2:D7,B2:B7=G2,C2:C7=H2),"No matching tickets")

Keep display messages out of exported records

The message occupies one cell, not a four-column ticket record. Do not append it to a downstream CSV or count it as a ticket with COUNTA. For an automated export, treat zero records as a separate status and keep the column headers. The scenarios download expresses the count explicitly so a reviewer can distinguish an empty result from a missing file.

The expected result CSV includes T104 with zero hours. Filtering on hours greater than zero would incorrectly remove it from an Open-ticket report. Decide inclusion from the requested business condition, then calculate totals from the included records. This prevents the filter from silently becoming a revenue or effort threshold.

Valid matching record; T104 | Support | Open | 0; Included in count: yes; No qualifying records; Finance + Open: 0 tickets; Message is not a ticket
Illustrated example. Illustrative distinction between zero hours in a matching row and an empty result set.

Recheck the formula when the source grows

Add future source rows on a copy first and extend A, B and C references together. Keep the result rectangle separate from manual notes and formulas. A new row can enlarge the result into a cell that was previously unused, causing a space problem even when the filtering logic is correct.

Before using the report, run the three downloaded scenarios and reconcile ticket IDs as well as totals. The independent fixture checks supplied with this article verify the intended membership and arithmetic. They do not execute Sheets, validate your imports or inspect permissions in a live workbook. Preserve a small known-good example alongside a larger operational sheet.

Common questions

Should I always wrap FILTER in IFERROR?

No. First identify the original error. IFNA can provide a deliberate empty-result message after the source and criteria are verified; IFERROR would also hide unrelated failures.

Why do both conditions match something but FILTER returns nothing?

They may match different rows. Inspect each condition per row and check whether any single row passes both.

Does No matching tickets mean the source is empty?

No. It means this verified combination selected no records. The source may contain tickets for other teams or statuses.

Sources & method

Examples and diagrams use synthetic data. Application instructions follow the linked documentation; available menus and options can vary. Our sample checks do not establish behavior in every Excel or Google Sheets version. Read our AI-assisted editorial method.

Browse all field guides →