0
0
Google Sheetsspreadsheet~15 mins

FIND and SEARCH in Google Sheets - Deep Dive

Choose your learning style9 modes available
Overview - FIND and SEARCH
What is it?
FIND and SEARCH are two functions in Google Sheets used to locate the position of a specific text within another text. They return the number of the character where the searched text starts. FIND is case-sensitive, meaning it distinguishes uppercase and lowercase letters, while SEARCH is not case-sensitive. Both help you quickly find where a word or letter appears inside a cell.
Why it matters
Without FIND and SEARCH, you would have to manually look through text to find where something appears, which is slow and error-prone. These functions let you automate text searching, making it easy to extract or analyze parts of data. This saves time and reduces mistakes, especially when working with large spreadsheets or complex text data.
Where it fits
Before learning FIND and SEARCH, you should understand basic text handling in spreadsheets, like entering text and simple formulas. After mastering these, you can learn related functions like LEFT, RIGHT, MID for extracting text, and IF or ISNUMBER to build conditional logic based on search results.
Mental Model
Core Idea
FIND and SEARCH tell you exactly where a piece of text starts inside another text, like a GPS coordinate for words.
Think of it like...
Imagine you have a book and want to find the page number where a certain word first appears. FIND and SEARCH are like a quick index that tells you the exact page number so you don’t have to flip through every page.
Text:  H e l l o   W o r l d
Index: 1 2 3 4 5 6 7 8 9 10
FIND("o", "Hello World") → 5
SEARCH("w", "Hello World") → 8
Build-Up - 7 Steps
1
FoundationBasic usage of FIND function
🤔
Concept: Learn how FIND locates text and returns its starting position, considering case sensitivity.
Syntax: FIND(search_for, text_to_search, [starting_at]) - search_for: the text you want to find. - text_to_search: where you look for it. - starting_at: optional, where to start searching (default is 1). Example: =FIND("a", "Banana") returns 2 because 'a' first appears at the second character. Note: FIND is case-sensitive, so =FIND("A", "Banana") returns an error because uppercase 'A' is not found.
Result
Returns the position number of the first exact match of the search text, or an error if not found.
Understanding that FIND is case-sensitive helps you know when it will find matches and when it won’t, preventing unexpected errors.
2
FoundationBasic usage of SEARCH function
🤔
Concept: Learn how SEARCH works like FIND but ignores case differences.
Syntax: SEARCH(search_for, text_to_search, [starting_at]) Example: =SEARCH("a", "Banana") returns 2. Example: =SEARCH("A", "Banana") also returns 2 because SEARCH ignores case. SEARCH is useful when you want to find text regardless of uppercase or lowercase letters.
Result
Returns the position number of the first match ignoring case, or an error if not found.
Knowing SEARCH ignores case lets you find text more flexibly, especially when text case varies.
3
IntermediateUsing the optional start position
🤔Before reading on: If you search for 'a' in 'Banana' starting at position 3, do you think it finds the first or second 'a'? Commit to your answer.
Concept: Both FIND and SEARCH let you choose where to start searching inside the text.
Example: =FIND("a", "Banana", 3) starts looking from the third character. In 'Banana', the first 'a' is at position 2, but starting at 3 skips it and finds the next 'a' at position 4. This helps find multiple occurrences by searching after the last found position.
Result
Returns the position of the next occurrence after the start position.
Understanding the start position parameter allows you to find repeated text occurrences step-by-step.
4
IntermediateHandling errors when text is not found
🤔Before reading on: What do you think happens if FIND or SEARCH can’t find the text? Does it return 0, -1, or an error? Commit to your answer.
Concept: FIND and SEARCH return an error if the text is not found, which can break your formulas unless handled.
Example: =FIND("x", "Banana") returns #VALUE! error because 'x' is not in 'Banana'. To avoid errors, wrap with IFERROR: =IFERROR(FIND("x", "Banana"), "Not found") returns 'Not found'. This keeps your sheet clean and prevents formula breaks.
Result
Prevents errors from stopping your calculations and allows custom messages or alternative actions.
Knowing how to handle errors makes your spreadsheets more robust and user-friendly.
5
IntermediateDifference between FIND and SEARCH functions
🤔Before reading on: Which function do you think is case-sensitive, FIND or SEARCH? Commit to your answer.
Concept: FIND is case-sensitive; SEARCH is not. This affects which matches they find.
Example: =FIND("A", "Banana") returns error; =SEARCH("A", "Banana") returns 2. Use FIND when case matters, like passwords or codes. Use SEARCH when case doesn’t matter, like searching words in sentences.
Result
Choosing the right function avoids unexpected errors or missed matches.
Understanding this difference helps you pick the right tool for your text search needs.
6
AdvancedFinding multiple occurrences with formulas
🤔Before reading on: Can you find the second or third occurrence of a letter using FIND or SEARCH alone? Commit to your answer.
Concept: By combining FIND or SEARCH with the start position, you can locate multiple occurrences of the same text.
Example: To find the second 'a' in 'Banana': =FIND("a", "Banana") → 2 (first 'a') =FIND("a", "Banana", 3) → 4 (second 'a') =FIND("a", "Banana", 5) → 6 (third 'a') This technique helps extract or analyze repeated patterns.
Result
You can pinpoint each occurrence’s position one by one.
Knowing how to chain searches unlocks powerful text analysis capabilities.
7
ExpertUsing FIND and SEARCH in complex text formulas
🤔Before reading on: Do you think FIND and SEARCH can be combined with other functions to extract or manipulate text dynamically? Commit to your answer.
Concept: FIND and SEARCH are often combined with LEFT, RIGHT, MID, LEN, and IF to extract or conditionally process text based on position.
Example: Extract text before a space: =LEFT(A1, FIND(" ", A1) - 1) This gets the first word from a sentence. Example: Conditional check if text exists: =IF(ISNUMBER(SEARCH("apple", A1)), "Found", "Not found") This checks if 'apple' is anywhere in the text, ignoring case. These combinations create dynamic, powerful text processing formulas.
Result
Enables advanced text extraction, validation, and conditional logic in spreadsheets.
Mastering these combinations transforms simple search into versatile text manipulation tools.
Under the Hood
FIND and SEARCH scan the text from left to right, character by character, comparing each segment to the search text. FIND compares characters exactly, including case, while SEARCH converts both texts to lowercase internally to ignore case differences. When a match is found, they return the position of the first character of the match. If no match is found, they return an error. The optional start position shifts where scanning begins, allowing repeated searches.
Why designed this way?
These functions were designed to provide simple, fast ways to locate text within strings, a common need in data processing. FIND’s case sensitivity supports precise matches, important in codes or case-sensitive data. SEARCH’s case insensitivity supports flexible searches in natural language. The start position parameter allows repeated searches without complex looping, fitting spreadsheet formula constraints.
Text to search: "Banana"
Positions:      1 2 3 4 5 6
Search for 'a':  │ ● │ ● │ ●
FIND scans each position:
1: 'B' vs 'a' no
2: 'a' vs 'a' yes → return 2
SEARCH converts to lowercase:
'banana' vs 'a' matches at 2
Start position shifts scan start → e.g. start=3 skips first 'a'
Myth Busters - 4 Common Misconceptions
Quick: Does FIND find text regardless of uppercase or lowercase letters? Commit to yes or no.
Common Belief:FIND ignores case and finds text no matter the letter case.
Tap to reveal reality
Reality:FIND is case-sensitive and only finds text that exactly matches the case.
Why it matters:Using FIND without considering case can cause unexpected errors or missed matches, breaking formulas.
Quick: If SEARCH can’t find the text, does it return 0 or an error? Commit to your answer.
Common Belief:SEARCH returns 0 when the text is not found.
Tap to reveal reality
Reality:SEARCH returns a #VALUE! error if the text is not found.
Why it matters:Not handling this error can cause your spreadsheet to show errors and stop calculations.
Quick: Can you use FIND or SEARCH to find multiple occurrences in one formula without extra steps? Commit to yes or no.
Common Belief:FIND and SEARCH can directly return all positions of multiple occurrences at once.
Tap to reveal reality
Reality:FIND and SEARCH only return the first occurrence position; to find others, you must use the start position parameter repeatedly.
Why it matters:Expecting multiple results from one call leads to confusion and incorrect formulas.
Quick: Does the start position parameter in FIND and SEARCH count from zero or one? Commit to your answer.
Common Belief:The start position counts from zero, like in many programming languages.
Tap to reveal reality
Reality:The start position counts from 1, the first character of the text.
Why it matters:Using zero or incorrect start positions causes errors or wrong results.
Expert Zone
1
FIND and SEARCH treat spaces and special characters as normal characters, so searching for spaces or punctuation works the same as letters.
2
SEARCH supports wildcard characters like '?' and '*', allowing pattern matching, while FIND does not support wildcards.
3
When used inside array formulas or combined with REGEX functions, FIND and SEARCH can be part of powerful text filtering and extraction pipelines.
When NOT to use
Avoid FIND and SEARCH when you need to match complex patterns or multiple variations; instead, use REGEXMATCH, REGEXEXTRACT, or REGEXREPLACE for pattern-based text processing. Also, for case-insensitive exact matches, SEARCH is better; for case-sensitive, FIND is preferred.
Production Patterns
Professionals use FIND and SEARCH combined with IF and ISNUMBER to check if text exists and branch logic accordingly. They also use the start position parameter in loops or array formulas to find multiple occurrences. In data cleaning, these functions help extract substrings before or after certain markers dynamically.
Connections
Regular Expressions (Regex)
Builds-on
Understanding FIND and SEARCH prepares you for regex functions, which offer more powerful and flexible text searching and pattern matching.
String Indexing in Programming
Same pattern
FIND and SEARCH mimic the concept of string indexing in programming languages, helping bridge spreadsheet skills with coding.
Library Book Indexing
Analogy to real-world indexing
Knowing how FIND and SEARCH locate text is like understanding how a library index points to where information is stored, improving your mental model of data lookup.
Common Pitfalls
#1Using FIND when case does not match causes errors.
Wrong approach:=FIND("A", "Banana")
Correct approach:=SEARCH("A", "Banana")
Root cause:Misunderstanding that FIND is case-sensitive and will error if case differs.
#2Not handling errors when text is missing breaks formulas.
Wrong approach:=FIND("x", "Banana")
Correct approach:=IFERROR(FIND("x", "Banana"), "Not found")
Root cause:Ignoring that FIND and SEARCH return errors when text is not found.
#3Starting search at zero instead of one causes errors.
Wrong approach:=FIND("a", "Banana", 0)
Correct approach:=FIND("a", "Banana", 1)
Root cause:Confusing spreadsheet indexing (1-based) with programming indexing (0-based).
Key Takeaways
FIND and SEARCH locate the position of text inside other text, with FIND being case-sensitive and SEARCH case-insensitive.
Both functions return the position of the first match or an error if not found, so error handling is important.
The optional start position lets you find multiple occurrences by searching after previous matches.
Combining FIND or SEARCH with other text functions enables powerful text extraction and conditional logic.
Understanding their behavior and differences prevents common errors and unlocks advanced text processing in spreadsheets.