Excel Find Mastery: Locate Substrings Quickly in Excel
A practical, developer-friendly guide to using the FIND function in Excel to locate substrings, compare with SEARCH, handle errors, and combine with text functions for robust data parsing.

In Excel, the FIND function locates a substring within a text string and returns the starting position. It is case-sensitive, unlike the SEARCH function which is case-insensitive. For errors when the substring isn't present, wrap FIND in IFERROR. You can also combine FIND with LEN, MID, and REPLACE to extract or verify text segments.
What does the phrase 'excel find' mean in practice?
In everyday Excel work, "excel find" almost always means using the FIND function to locate a substring within a cell's text and return the position of its first character. The function is strict about case and returns a 1-based index. This is a foundational tool for text parsing, data cleaning, and preparing fields for further extraction. The companion SEARCH function performs the same task but is not case-sensitive, which matters when you deal with mixed-case data.
=FIND("data", A2)If A2 contains "database", the result is 1 because the substring starts at the first character. If the substring isn't present, FIND returns a #VALUE! error, which you can silence or replace with IFERROR.
=IFERROR(FIND("data", A2), 0)Beyond locating, FIND can be paired with other text functions (LEN, MID, LEFT, RIGHT) to extract, validate, or reshape the surrounding text. For example, you can locate a delimiter and then pull the portion to the left or right of it.
=MID(A2, FIND("-", A2) + 1, LEN(A2) - FIND("-", A2))-2
Steps
Estimated time: 45-60 minutes
- 1
Prepare your data
Open your workbook and identify the column that contains the text you want to search. Ensure the data is consistent (trim spaces, remove non-breaking characters) to avoid unexpected FIND results. This setup makes the rest of the steps predictable and reliable.
Tip: Use a filter to isolate rows with potential substrings before running FIND. - 2
Locate a substring with FIND
Insert a FIND formula in a helper column to return the position of the substring. If the substring might not exist, wrap with IFERROR to avoid breaking the sheet.
Tip: Prefer 1-based indexing to align with Excel’s character positions. - 3
Handle missing results
Use IFERROR to replace #VALUE! with a default value such as 0 or a sentinel like "not found". This makes downstream logic straightforward.
Tip: Combine IFERROR with ISNUMBER to create boolean checks. - 4
Extract surrounding text
Use MID in combination with FIND and LEN to pull the portion of text around the found substring. This is useful for data cleaning and record extraction.
Tip: Remember to adjust LEN to avoid overshooting the string length. - 5
Process ranges with dynamic arrays
In Excel 365+, you can apply a LET expression to handle ranges (A2:A100) and return a column of positions. This enables row-wise processing without manual fill.
Tip: Dynamic arrays simplify column-wide operations. - 6
Validate and audit results
Cross-check the results with a summary flag (e.g., =IF(pos>0, TRUE, FALSE)) and use conditional formatting to visually inspect matches.
Tip: Always audit a sample of rows to ensure correctness.
Prerequisites
Required
- Required
- Basic knowledge of text functions (LEN, MID, LEFT, RIGHT)Required
- A sample worksheet with text data to test FIND/SEARCHRequired
- Familiarity with IFERROR and ISNUMBER to handle resultsRequired
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Open Find dialogLocates text within the active sheet | Ctrl+F |
| Open Replace dialogReplace found substrings across the sheet | Ctrl+H |
| Copy cellCopy selected cell(s) to clipboard | Ctrl+C |
| Paste into selected cellPaste contents from clipboard | Ctrl+V |
| Go to a specific cellJump to A1 or any address | Ctrl+G |
| Select all data in sheetSelects the entire worksheet | Ctrl+A |
People Also Ask
What is the difference between FIND and SEARCH in Excel?
FIND is case-sensitive and returns the starting position of a substring. SEARCH is similar but case-insensitive. Choose based on whether you need exact casing in your data. Both return a number or an error if not found, which you can wrap in IFERROR.
FIND is case-sensitive; SEARCH is not. Use the one that fits whether case matters in your data.
How do I avoid #VALUE! errors when the substring is not present?
Wrap FIND calls with IFERROR to provide a default (e.g., 0) or a message. This prevents errors from propagating into downstream formulas. You can also use ISNUMBER to create a boolean check before further processing.
Wrap FIND with IFERROR, or check with ISNUMBER before acting.
Can FIND locate substrings across an entire column efficiently?
Yes, use a helper column and apply FIND row-by-row. For Excel 365, you can leverage LET and dynamic arrays to spill results down a column. In older versions, fill down the formula to cover your data range.
Yes—use a helper column or dynamic arrays to apply FIND across rows.
What if I want to extract text around the found substring?
Calculate the start with FIND + LEN(substring) and end with another FIND or LEN; then use MID to extract the segment. This technique supports robust parsing of codes and names.
Use FIND with MID to pull the surrounding text.
Are there alternatives to FIND for substring matching?
Yes, SEARCH provides case-insensitive matching. For table lookups, consider TEXT functions or newer dynamic array approaches. If you need partial matches in larger patterns, combine with FILTER or XLOOKUP in supported versions.
Try SEARCH or advanced text functions for flexible matching.
The Essentials
- Finds exact substring positions
- Use IFERROR to handle missing patterns
- Combine FIND with MID to extract text
- CASE matters: FIND is case-sensitive
- Use dynamic arrays for column-wide searches