HomeGoogle DocsSpreadsheetSTARTS WITH and NOT STARTS WITH Prefix Match in Google Sheets Query

STARTS WITH and NOT STARTS WITH Prefix Match in Google Sheets Query

Published on

The STARTS WITH is a string comparison operator for prefix match in the Google Sheets Query function. What is its role?

This complex comparison operator helps users to filter rows containing partial matches.

For example, it helps u to filter names that start with or do not start with a specific letter(s) or strings in a column.

It’s a detailed Google Sheets tutorial on using the STARTS WITH prefix match in Google Sheets Query.

Also, you can learn how to negate it using the NOT logical operator in Query.

Introduction to String Comparison in Google Sheets Query

In the Query Where clause, we can use different string comparison operators to filter rows that match a specified condition.

The STARTS WITH is one such ‘complex’ spring comparison operator.

Here are the other popular string comparison operators.

How to Use the STARTS WITH Prefix Match in Google Sheets Query

In the below sample data, I am applying the Query STARTS WITH Prefix match in the second column.

The first column contains employee names, and the second column their assigned department.

I want to filter all the names (persons), who are working in the engineering department.

Starts with Prefix Match in Google Sheets Query

Formula:

=Query(A1:B,"Select * Where B Starts with 'Engineering'",1)

This formula will return all the rows containing the prefix “Engineering” in the second column.

It’s not the only complex string comparison operator in Google Sheets Query for this type of filtering data.

We can use the MATCHES regular expression match with Query as follows.

=Query(A1:B,"Select * Where B matches 'Engineering.*'",1)

Now here is a different scenario.

I want to filter all the rows that do not start with “Engineering” in the second column.

Let’s see how to do that.

How to Use NOT STARTS WITH Prefix Match in Google Sheets Query

If we use the above same sample data, the formula would be like this.

=Query(A1:B,"Select * Where not B Starts with 'Engineering'",1)

Please see the positioning of the Not logical operator. It should be before the column identifier.

Can we apply the same logic and use the MATCHES instead of NOT STARTS WITH in the Query function?

You can. Here you go.

=Query(A1:B,"Select * Where not B matches 'Engineering.*'",1)

The prefix match is in a text column in all the above examples. Of course, that justifies the usage of a string comparison operator.

 Does this work in a number or date column?

I think such a type of comparison may not come in real-life use.

Still, out of curiosity, let’s see whether this string comparison operator may or may not work in a number column first.

Query String Comparison in a Number or Date Column

STARTS WITH Example in Number Column:

In cell range A2:A, I have numbers from 100 to 150 in sequential order.

The below formula that uses the STARTS WITH prefix match would return the numbers 110 to 119.

=query(A1:A,"Select * Where A Starts with 11",1)

NOT STARTS WITH Example in Number Column:

If you negate the Starts With, the result would be numbers from 100 to 109 and 120 to 150.

=query(A1:A,"Select * Where not A Starts with 11",1)

STARTS WITH String Comparison Operator in a Date Column

It won’t work in a date column.

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Guide Prashanth KV brings a wealth of experience in Google Sheets and Excel, cultivated through years of work with multinational corporations in Mumbai and Dubai. As a recognized Google Product Expert in Docs Editors, Prashanth shares his expertise through insightful blogging since 2012. Explore his blog for practical tips and guidance on maximizing your spreadsheet skills.

Running Total By Month in Excel

This tutorial demonstrates how to calculate the running total by month in a range...

SORT and SORTBY – Excel Vs Google Sheets

While Excel offers the SORT and SORTBY functions for sorting a table, Google Sheets...

Get Top N Values Using Excel’s FILTER Function

When using the FILTER function in Excel to extract the top N values, it's...

XLOOKUP in Excel: Working with Visible Rows in a Table

In Excel, the XLOOKUP function isn't inherently designed to exclusively work with visible rows;...

More like this

Interactive Random Task Assigner in Google Sheets

You have multiple tasks and multiple people. Here's a fun way to randomly assign...

Google Sheets Bar and Column Chart with Target Coloring

To color each data point in the column or bar chart according to the...

Analyzing Column A Between Non-Adjacent Values in Column B: Google Sheets

This tutorial addresses a common scenario encountered in Google Sheets: how to sum, average,...

10 COMMENTS

  1. What if

    =Query(A1:A7,"Select * Where A starts with '1.*|6.*'",1)

    or

    =Query(A1:A7,"Select * Where A starts with 1.*|6.*",1)

  2. Hi Prasanth,

    Excellent information right there, and it was just what I needed.

    I do, however, need some more information. How do you extract data beginning with numbers in general?

    That is to say, anything that doesn’t start with a letter.

    Hopefully, this is clear.

    Thanks in advance.

  3. Why is it not working with the following one:

    =Query(A1:A7,"Select * Where not A Starts with 'One Test|Two Tests'",1)

    Data in A1:A7:

    One Test
    Two Tests
    3
    4
    5
    6
    7

    Please, can you update this post to show how to do it with multiple starting with strings?

  4. What about OR to include multiple queries in one? Can’t find a way that works. Trying to do multiple area codes that are in one city.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.