---
title: "How to Search in Google Sheets: Ctrl+F and SEARCH Function"
canonical: "https://www.owox.com/blog/articles/search-function-google-sheets"
updated: "2026-10-05"
---

# How to search in Google Sheets: Find, find and replace, and the SEARCH function

Ctrl + F finds text on the current tab, Find and replace searches all tabs or one column, and the SEARCH function locates text inside a cell so that other formulas can use the result. This guide covers all three, with examples and fixes for the errors SEARCH returns.

[Google Sheets Tips](/blog/topics/google-sheets-tips) · Updated October 2, 2026 · [Vadym Kramarenko](/team/vadym-kramarenko) · 11 min read

![How to search in Google Sheets: Find, find and replace, and the SEARCH function](https://cdn.owox.com/www/webflow/6a149593c80443f29065d9d6_SEARCH-IN-GOOGLE-SHEETS.png/public)

To search in Google Sheets, press **Ctrl + F** (Cmd + F on a Mac), type the text and press Enter to jump from one match to the next. For more control, such as searching every tab, one column, or with case matching, open **Find and replace** with Ctrl + H (Cmd + Shift + H on a Mac). To find text with a formula, use the **SEARCH function**, which returns the position of a piece of text inside a cell.

| You want to | Use |
| --- | --- |
| Find a word on the current tab | Ctrl + F |
| Search all tabs, one column or a range | Edit → Find and replace |
| See only the rows that contain a word | A filter, or the FILTER function |
| Highlight every match | Conditional formatting |
| Test or locate text inside a cell with a formula | SEARCH |

**_Note:_** _Originally published in June 2024. Fully updated in October 2026: the guide now starts with the built-in search tools, covers searching a single column, and corrects the error section (SEARCH returns #VALUE!, not #N/A, when the text is not found)._

## Search a sheet with Ctrl + F

Press **Ctrl + F** (Windows, ChromeOS) or **Cmd + F** (Mac). A small box opens in the top right corner of the sheet. Type what you are looking for: matching cells are highlighted, and Enter or the arrows in the box move through them.

This quick search looks at the **current tab only** and has no options. For anything else, click the three dots in the box, which open Find and replace.

## Search all tabs or a range with find and replace

[Find and replace](/blog/articles/how-to-find-and-replace-google-sheets) is the full search tool. Despite the name, you do not have to replace anything.

1.  Go to **Edit → Find and replace**, or press **Ctrl + H** (Windows) or **Cmd + Shift + H** (Mac).
2.  Type the text in the **Find** box.
3.  In the **Search** drop-down, choose **All sheets**, **This sheet** or **Specific range**.
4.  Click **Find**. Keep clicking to move through the matches. When you see “No more results found, looping around”, you are back at the first one.

![Utilizing Google Sheets’ Find and Replace feature to search and modify text data across the sheet.](https://cdn.owox.com/www/webflow/6786f25790a4c3af8e1d8971_51617.png/public)

The checkboxes narrow the search:

*   **Match case** treats “Smith” and “smith” as different.
*   **Match entire cell contents** skips cells where the text is only part of the content.
*   **Search using regular expressions** lets you search by pattern.
*   **Also search within formulas** looks at the formula text, not only at the displayed result.
*   **Also search within links** includes the URLs behind linked cells.

## The Turning Point

OWOX Data Marts

See your first report built in real time. _15 minutes._

1.  Connect your data warehouse
2.  Pick your metrics
3.  Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

[Book a Demo](/book-a-call)

We'll use your actual use case

## Search within one column

There are three ways, depending on what you want to see.

**Jump between the matches.** Click the column letter to select the column, then open Find and replace. The Search drop-down is already set to **Specific range** with that column filled in.

**Show only the matching rows.** Select the data and choose **Data → Create a filter**. Click the filter icon in the column header, choose **Filter by condition → Text contains**, and type the word. Rows without it are hidden until you clear the filter.

**Return the matching rows with a formula.** FILTER combined with SEARCH lists the rows where column B contains the text, in a separate place and without hiding anything:

> `=FILTER(B3:C10, ISNUMBER(SEARCH("john", B3:B10)))`

The result updates when the data changes, which the two manual methods do not.

## Highlight every match with conditional formatting

Conditional formatting marks all the cells that contain a word, and keeps marking new ones as they appear.

1.  Select the cells you want to search.
2.  Go to **Format → Conditional formatting**.

![Applying conditional formatting in Google Sheets based on search results from the SEARCH function.](https://cdn.owox.com/www/webflow/6786f257e9d26cd86e0f6fd6_51625.png/public)

3.  Under **Format cells if**, choose **Text contains** and type the word.
4.  Pick a fill or text color and click **Done**.

![Using conditional formatting to highlight cells based on the results of the SEARCH function.](https://cdn.owox.com/www/webflow/6786f25775b924e87b07881c_51627.png/public)

## The SEARCH function

SEARCH returns a number: **the position at which a piece of text first appears inside another text**. If cell B3 contains “John Smith”, `=SEARCH("Smith", B3)` returns 6, because “Smith” starts at the sixth character.

On its own that number is rarely the goal. SEARCH matters because other functions use it: ISNUMBER turns it into a yes or no, MID and LEFT use it to cut text at the right place.

SEARCH is **not case-sensitive**: “smith” and “Smith” are the same to it. For a case-sensitive search, use [FIND](/blog/articles/find-and-search-functions-google-sheets), which has the same arguments.

### SEARCH function syntax

> `=SEARCH(search_for, text_to_search, [starting_at])`

*   **search\_for:** the text to look for.
*   **text\_to\_search:** the text, or the cell, to look in.
*   **starting\_at (optional):** the character position at which to start looking. The default is 1.

To insert it from the menu instead of typing, go to **Insert → Function → Text → SEARCH**.

## SEARCH function examples

### Example 1: find the position of a word

Cell B3 contains “John Smith”. To find where “Smith” starts:

> `=SEARCH("Smith", B3)`

![Using the SEARCH function in Google Sheets to find a specific word within a given text string.](https://cdn.owox.com/www/webflow/6786f257b45641b918bafd98_51595.png/public)

The function returns 6, the **position of the first letter** of “Smith”.

### Example 2: SEARCH ignores case

Cell B5 contains “Alex Johnson”. Searching for the name in lowercase still finds it:

> `=SEARCH("alex", B5)`

![SEARCH function applied in Google Sheets to locate text without considering case sensitivity.](https://cdn.owox.com/www/webflow/6786f2578b9c748d4dfe9afe_51597.png/public)

The function returns 1, because **lowercase and uppercase letters are treated as the same**.

### Example 3: search by pattern with wildcards

SEARCH accepts **wildcards**: an asterisk (\*) stands for any number of characters and a question mark (?) for exactly one. Cell B7 contains “Maria Garcia”. To find a part of the text that starts with “g” and ends with “a”:

> `=SEARCH("g*a", B7)`

![Using wildcards in the SEARCH function in Google Sheets to match patterns in text.](https://cdn.owox.com/www/webflow/6786f257f29be5b0753c94df_51599.png/public)

The function returns 7, the position where “Garcia” starts.

### Example 4: find the position of a character

To find the first “c” in “Maria Garcia” in cell B7:

> `=SEARCH("c", B7)`

![Finding the position of a particular character within a text string using the SEARCH function in Google Sheets.](https://cdn.owox.com/www/webflow/6786f257b2c61ffdfe026b98_51601.png/public)

The function returns 10.

### Example 5: start the search at a given position

The third argument skips the beginning of the text. To find the second “a” in “Maria Garcia”, start after the first one, at character 3:

> `=SEARCH("a", B7, 3)`

![Conducting searches starting at a specified position in the text using the SEARCH function.](https://cdn.owox.com/www/webflow/6786f25725b02489303a21fa_51603.png/public)

The function returns 5. The position is still counted from the start of the text, not from the starting point.

## Combining SEARCH with other Google Sheets functions

### ISNUMBER and SEARCH: does the cell contain the text?

SEARCH returns a number when it finds the text and an error when it does not. **ISNUMBER turns that into TRUE or FALSE**, which is the usual way to test whether a cell contains a word:

> `=ISNUMBER(SEARCH("John", B3))`

![Using the SEARCH function in Google Sheets alongside ISNUMBER to check if a text string contains specific words.](https://cdn.owox.com/www/webflow/6786f256787af6e9a8989392_51609.png/public)

Wrap it in IF for a readable answer: `=IF(ISNUMBER(SEARCH("John", B3)), "Found", "Not found")`. To test a whole column with one formula, wrap it in ARRAYFORMULA: `=ARRAYFORMULA(ISNUMBER(SEARCH("John", B3:B10)))`.

### IFERROR and SEARCH: replace the error

When the text is not found, SEARCH returns #VALUE!. IFERROR replaces the error with a value of your choice:

> `=IFERROR(SEARCH("Brown", B3), "Not found")`

The formula returns the position of “Brown” if cell B3 contains it and “Not found” if it does not. Remember which way round this works: the second argument of IFERROR is what you get when the text is **missing**.

### LEN and SEARCH: count the characters after a point

The [LEN function](/blog/articles/len-function-google-sheets) returns the length of a text. Subtract the position that SEARCH returns and you get **the number of characters after it**. For “Maria Garcia” in cell B7:

> `=LEN(B7) - SEARCH("G", B7)`

![Using the SEARCH function together with the LEN function to perform complex text operations.](https://cdn.owox.com/www/webflow/6786f257787af6e9a8989644_51611.png/public)

LEN returns 12 and SEARCH returns 7, so the result is 5: five characters follow the “G”.

### MID and SEARCH: extract the text after a separator

[MID](/blog/articles/left-right-mid-functions-google-sheets) cuts text out of a cell from a given position. SEARCH supplies that position. To extract the last name from a full name:

> `=MID(B3, SEARCH(" ", B3) + 1, LEN(B3))`

![Integrating the SEARCH function with the MID function to extract text based on its position.](https://cdn.owox.com/www/webflow/6786f257765a1f09e5b2045c_51613.png/public)

*   **SEARCH(” “, B3):** finds the position of the first space.
*   **\+ 1:** moves the start to the character after the space.
*   **LEN(B3):** is longer than the remaining text, so MID returns everything up to the end.

Drag the formula down to extract the last name in every row.

![Demonstrating how to combine the SEARCH function with the MID function to extract text from a string.](https://cdn.owox.com/www/webflow/6786f25819bf3e633ff3fe1e_51615.png/public)

**Note:** this works when there is exactly one space between first and last name. With middle names, the formula returns everything after the first space.

## Finding a value in a table: VLOOKUP and MATCH

SEARCH looks inside one cell. When the question is “which row has this value, and what is next to it”, you need a lookup function.

### VLOOKUP returns the value next to a match

[VLOOKUP](/blog/articles/vlookup-in-google-sheets) searches the first column of a range and returns a value from the same row:

> `=VLOOKUP(search_key, range, index, [is_sorted])`

With names in column B and salaries in column C, this returns the salary of Chris Brown:

> `=VLOOKUP("Chris Brown", B3:C10, 2, FALSE)`

![Enhancing search capabilities in Google Sheets by combining the SEARCH function with the VLOOKUP function.](https://cdn.owox.com/www/webflow/6786f2578d454c9b31db5591_51619.png/public)

The result is 3500. FALSE asks for an exact match; if the name is not in the list, VLOOKUP returns #N/A.

_💡 For data arranged in rows instead of columns, see the_ [_HLOOKUP function_](/blog/articles/hlookup-function-google-sheets)_._

### MATCH returns the position of a match

The [MATCH function](/blog/articles/google-sheets-match-function) returns the **position of a value in a range**:

> `=MATCH("Chris Brown", B3:B10, 0)`

![Using the MATCH function to find the position of a value, complementing the SEARCH function.](https://cdn.owox.com/www/webflow/6786f257bcaaf215abfcb6e4_51623.png/public)

“Chris Brown” is in cell B8, the sixth cell of the range B3:B10, so the function returns 6. The 0 asks for an exact match.

## Errors in the SEARCH function

### #VALUE!: the text was not found

**⚠️ Error:** SEARCH returns #VALUE! when it cannot find search\_for in the text. Hovering over the cell shows the reason, for example “In SEARCH evaluation, cannot find ‘666’ within ‘John Smith’”.

![#VALUE! error shown in the SEARCH function due to incorrect input or arguments.](https://cdn.owox.com/www/webflow/6786f2580d16aa8915ebe14f_51631.png/public)

✅ **Solution:** Check the spelling and look for extra spaces in either text. If a missing match is a normal outcome, wrap the formula in IFERROR or ISNUMBER, as shown above.

### #VALUE!: the starting position is out of range

**⚠️ Error:** SEARCH also returns #VALUE! when starting\_at is 0, negative, or larger than the length of the text.

✅ **Solution:** Use a starting position between 1 and the length of the text. If the position comes from another formula, check what that formula returns.

### #ERROR!: the formula cannot be read

**⚠️ Error:** #ERROR! with the message “Formula parse error” means the formula is not written correctly: a missing quote, a missing comma or an unclosed parenthesis.

![#ERROR! message in the SEARCH function indicating syntax or general function issues](https://cdn.owox.com/www/webflow/6786f257a3f6664b7aa5726d_51637.png/public)

✅ **Solution:** Compare the formula with the syntax, `=SEARCH(search_for, text_to_search, [starting_at])`. Text must be in quotes, cell references must not be.

## Related Google Sheets functions

Functions that are often used next to SEARCH, each with its own guide:

*   [XLOOKUP](/blog/articles/key-differences-of-xlookup-vs-vlookup): Searches a range and returns the item that corresponds to the first match.
*   [QUERY](/blog/articles/query-function-google-sheets): Filters, sorts and aggregates a range with an SQL-like syntax.
*   [CONCATENATE](/blog/articles/query-with-concatenate-google-sheets): Joins several pieces of text into one string.
*   [UNIQUE](/blog/articles/query-with-unique-google-sheets): Returns the distinct values of a range.
*   [ARRAYFORMULA](/blog/articles/array-formulas-google-sheets): Applies a formula to a whole column or range at once.
*   [Pivot tables](/blog/articles/pivot-tables-google-sheets): Summarize a large dataset by categories.
*   [FILTER](/blog/articles/google-sheets-filter-function): Returns the rows of a range that meet your conditions.
*   [Wrap text](/blog/articles/how-to-wrap-text-google-sheets): Keeps long text visible inside a cell by breaking it onto several lines.
*   [REPT](/blog/articles/rept-function-google-sheets): Repeats text a set number of times.
*   [UPPER/LOWER/PROPER](/blog/articles/upper-lower-proper-functions-google-sheets): Changes text to upper case, lower case or title case.

## Searching finds what is in the sheet, not what is missing from it

Every method above looks through the rows that are already in the spreadsheet. None of them can tell you that last week is missing from the export, or that the tab was pasted from a report someone filtered first. When a search comes back empty, you cannot tell whether the answer is “no such order” or “no such row in this copy”.

The [OWOX Data Marts extension for Google Sheets](https://workspace.google.com/marketplace/app/owox_data_marts/94902851409) covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

![Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export](https://cdn.owox.com/www/content-marketing-article/search-function-google-sheets/screens/1.png/public)

What changes for the person who maintains the sheet:

*   **Refresh replaces re-export.** _Refresh current report_ in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it.
*   **The source is written on the sheet.** The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
*   **No SQL and no warehouse access needed.** The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL, and it does not replace Ctrl + F or SEARCH. It makes sure that what you search through is the full, current data set. The extension comes with the OWOX Cloud plans of [OWOX Data Marts](https://www.owox.com/app-signup); [spreadsheet reporting](/features/spreadsheet-reporting) describes both ways data reaches a sheet.

## Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

*   No AI hallucinations
*   Analyst-governed definitions
*   Every number traces to SQL

[Get started free](https://www.owox.com/app-signup)

## FAQ

## Frequently Asked Questions

How to perform a search in Google Sheets for multiple values?

SEARCH looks for one text at a time. To test a cell for several words, combine the tests with OR, for example =OR(ISNUMBER(SEARCH("john", B3)), ISNUMBER(SEARCH("jane", B3))), or use REGEXMATCH with the words separated by a vertical bar: =REGEXMATCH(B3, "(?i)john|jane").

Where is the SEARCH function located in Google Sheets?

To access the SEARCH function in Google Sheets, simply click on the cell where you want the result to appear, then type "=" followed by "SEARCH" in the formula bar. You can also find the SEARCH function in the "Functions" menu under the "Text" category.

How Google SEARCH function works in single values?

In Google Sheets, the SEARCH function works by searching for a specific substring within a single text value. You simply provide the substring you want to search for, along with the text string you want to search within, and the function will return the position of the substring if it is found.

Google Sheets SEARCH function: How to use it effectively?

To use SEARCH effectively, simply enter the substring you want to search for and the cell containing the text string you want to search within. The function will return the position of the substring if it is found, and an error if it is not present.

Does Google Sheets have a SEARCH function?

Yes. Google Sheets has the SEARCH function, which returns the position of a piece of text inside another text and is not case-sensitive, and the built-in search tools: Ctrl + F for the current tab and Find and replace (Ctrl + H) for all tabs or a range.

## Who wrote this

![Vadym Kramarenko](https://cdn.owox.com/www/webflow/6798e703afdf787334941cde_Vadym-Kramarenko.png/public)

[Vadym Kramarenko](/team/vadym-kramarenko) · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.

[LinkedIn](https://www.linkedin.com/in/vadim-kramarenko/) · [All articles](/team/vadym-kramarenko)

[Google Sheets Tips](/blog/topics/google-sheets-tips)

## Related articles

[Google Sheets Tips · QUERY with CONCATENATE in Google Sheets: Join Two Columns · October 2, 2026](/blog/articles/query-with-concatenate-google-sheets)

[Google Sheets Tips · IF with VLOOKUP in Google Sheets: Formulas and Examples · October 2, 2026](/blog/articles/how-to-use-vlookup-with-if-statement-in-google-sheets)

[Google Sheets Tips · VLOOKUP in Google Sheets: Formula, Another Sheet and Examples · October 2, 2026](/blog/articles/vlookup-in-google-sheets)

[See all articles →](/blog/articles)

## Book a call

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Schedule a meeting

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Google Sheets Tips](https://www.owox.com/blog/topics/google-sheets-tips) — /blog/topics/google-sheets-tips.md
- [Vadym Kramarenko](https://www.owox.com/team/vadym-kramarenko) — /team/vadym-kramarenko.md
- [Find and replace](https://www.owox.com/blog/articles/how-to-find-and-replace-google-sheets) — /blog/articles/how-to-find-and-replace-google-sheets.md
- [Book a Demo](https://www.owox.com/book-a-call) — /book-a-call.md
- [FIND](https://www.owox.com/blog/articles/find-and-search-functions-google-sheets) — /blog/articles/find-and-search-functions-google-sheets.md
- [LEN function](https://www.owox.com/blog/articles/len-function-google-sheets) — /blog/articles/len-function-google-sheets.md
- [MID](https://www.owox.com/blog/articles/left-right-mid-functions-google-sheets) — /blog/articles/left-right-mid-functions-google-sheets.md
- [VLOOKUP](https://www.owox.com/blog/articles/vlookup-in-google-sheets) — /blog/articles/vlookup-in-google-sheets.md
- [HLOOKUP function](https://www.owox.com/blog/articles/hlookup-function-google-sheets) — /blog/articles/hlookup-function-google-sheets.md
- [MATCH function](https://www.owox.com/blog/articles/google-sheets-match-function) — /blog/articles/google-sheets-match-function.md
- [XLOOKUP](https://www.owox.com/blog/articles/key-differences-of-xlookup-vs-vlookup) — /blog/articles/key-differences-of-xlookup-vs-vlookup.md
- [QUERY](https://www.owox.com/blog/articles/query-function-google-sheets) — /blog/articles/query-function-google-sheets.md
- [CONCATENATE](https://www.owox.com/blog/articles/query-with-concatenate-google-sheets) — /blog/articles/query-with-concatenate-google-sheets.md
- [UNIQUE](https://www.owox.com/blog/articles/query-with-unique-google-sheets) — /blog/articles/query-with-unique-google-sheets.md
- [ARRAYFORMULA](https://www.owox.com/blog/articles/array-formulas-google-sheets) — /blog/articles/array-formulas-google-sheets.md
- [Pivot tables](https://www.owox.com/blog/articles/pivot-tables-google-sheets) — /blog/articles/pivot-tables-google-sheets.md
- [FILTER](https://www.owox.com/blog/articles/google-sheets-filter-function) — /blog/articles/google-sheets-filter-function.md
- [Wrap text](https://www.owox.com/blog/articles/how-to-wrap-text-google-sheets) — /blog/articles/how-to-wrap-text-google-sheets.md
- [REPT](https://www.owox.com/blog/articles/rept-function-google-sheets) — /blog/articles/rept-function-google-sheets.md
- [UPPER/LOWER/PROPER](https://www.owox.com/blog/articles/upper-lower-proper-functions-google-sheets) — /blog/articles/upper-lower-proper-functions-google-sheets.md
- [OWOX Data Marts](https://www.owox.com/app-signup)
- [spreadsheet reporting](https://www.owox.com/features/spreadsheet-reporting) — /features/spreadsheet-reporting.md
- [Google Sheets Tips · IF with VLOOKUP in Google Sheets: Formulas and Examples · October 2, 2026](https://www.owox.com/blog/articles/how-to-use-vlookup-with-if-statement-in-google-sheets) — /blog/articles/how-to-use-vlookup-with-if-statement-in-google-sheets.md
- [See all articles →](https://www.owox.com/blog/articles) — /blog/articles.md
