Excel FIND Function: How to Find Text Within a String

Formulas & functions · Updated November 2, 2026

Excel FIND Function: How to Find Text Within a String

In Excel, use FIND to locate text inside a string and return the position where it begins. For example, if A2 contains Order #AB-472, =FIND("AB",A2) returns 8; use SEARCH instead when the search should ignore uppercase and lowercase.

How the FIND function works

FIND looks for one piece of text inside another and reports a character position, counting from the beginning of the text. It returns a number rather than the matching text itself. The first character is position 1, not 0, and spaces and punctuation count as characters too.

In the example above, the characters in Order #AB-472 are numbered from left to right. The space is position 6, the number sign is position 7, and the A in AB is position 8. That is why the result is 8. If the text being searched contains more than one match, FIND returns the position of the first match it encounters from the specified starting point.

FIND is case-sensitive: searching for AB will match AB but not ab. It also treats its search text literally, so * and ? are not wildcards in FIND. If the text cannot be found, Excel returns the #VALUE! error. That behavior can be useful when you want to distinguish a match from a non-match, but it may need handling in a report or larger formula.

FIND syntax and its arguments

The function takes a search term, the text to search within, and an optional starting position. In practical terms, the arguments are:

  • find_text: The characters you want to locate. This can be typed into the formula in quotation marks or referenced from a cell.
  • within_text: The cell or text value that Excel searches.
  • start_num: An optional character position at which to begin. If omitted, Excel starts at position 1.

For example, with the text Order #AB-472 in A2 and the search term AB in B2, =FIND(B2,A2) returns 8. Using a cell reference is convenient when the search term changes or when you want to fill the formula down a column. The search term and the text to search can also be entered directly as quoted text, but cell references are usually easier to maintain in a worksheet.

The optional start position lets you look for a later occurrence rather than always finding the first one. It must be a positive position in the text. A start position of 1 begins at the first character; a position of 5 begins at the fifth. If the starting position is invalid or the search text is not found from that position onward, the function returns an error.

Find text and return its position

A basic lookup is often all you need when the goal is to locate a delimiter, prefix, or keyword. With Order #AB-472 in A2, use =FIND("#",A2) to get 7. That number can then feed another formula, such as one that separates the order identifier from the rest of the text.

To check whether a string contains a term without displaying an error when it does not, combine FIND with ISNUMBER and IFERROR. With A2 containing a note or description, use =ISNUMBER(FIND("late",A2)). The result is TRUE if the exact lowercase text late is found, and FALSE if it is absent or appears with different capitalization. Because FIND is case-sensitive, a value such as Late will not satisfy that search.

If you want a readable label instead of TRUE or FALSE, with the description in A2, use =IF(ISNUMBER(FIND("late",A2)),"Found","Not found"). This formula returns Found when the lowercase text late occurs and Not found otherwise. To avoid a case-sensitive check, replace FIND with SEARCH, as explained below.

FIND can also start after an earlier match. With A2 containing xylophone x-ray, use =FIND("x",A2,FIND("x",A2)+1). The inner FIND returns 1 for the first x, so the outer search begins at position 2 and returns 11 for the x in x-ray. This pattern is useful for locating a second delimiter or repeated character, though it needs additional error handling if the expected occurrence might not exist.

FIND versus SEARCH: which should you use?

Both functions return the position of one text string inside another and accept an optional starting position. The main difference is capitalization: FIND distinguishes uppercase from lowercase, while SEARCH does not. If A2 contains Customer Support, then =FIND("support",A2) returns #VALUE!, but =SEARCH("support",A2) returns 10.

SEARCH also recognizes wildcard characters. A question mark represents any single character, and an asterisk represents any sequence of characters, including no characters. A tilde can be used to search for a literal wildcard character: for instance, SEARCH can use ~? to look for an actual question mark. FIND does not interpret these characters as wildcards; it searches for them literally.

Choose FIND when capitalization matters or when you want an exact, literal search. Choose SEARCH for a case-insensitive check or a pattern that uses wildcards. Neither function extracts the matching text on its own; each gives you a position that can be used by another formula. Both return an error if there is no match.

Use FIND to split or extract text

A common reason to find a character is to split a combined value at a separator. With INV-2048/West in A2 and a slash between the code and region, use =LEFT(A2,FIND("/",A2)-1) to return INV-2048. FIND locates the slash at position 9, and LEFT takes the eight characters before it. The minus one matters because the separator itself is not part of the desired result.

To return the part after that slash, with the same value in A2, use =MID(A2,FIND("/",A2)+1,LEN(A2)). It returns West: FIND locates the slash at 9, MID starts at position 10, and LEN supplies a length long enough to include the remaining text. This works when there is one slash and the intended split point is unambiguous.

These formulas assume that the separator exists. If a value might have no slash, the FIND portion returns an error and the complete extraction formula does too. If your data can contain multiple separators, decide whether the split should use the first one or a later one before building the formula. A formula based on the first occurrence will not automatically choose the last delimiter.

Handle missing text and common errors

The most frequent problem is #VALUE!, which usually means that FIND could not locate the requested text. Check for capitalization differences, extra spaces, misspellings, and whether the formula is searching the intended cell. A search that starts too far to the right can also miss a match that appears earlier in the string.

When absence is a normal possibility, IFERROR can replace the error with a useful result. With an item description in A2, use =IFERROR(FIND("-",A2),"No hyphen"). If A2 contains ABC-19, the formula returns 4; if it contains ABC19, it returns No hyphen. The replacement can be text, a number, or another formula, depending on how the result will be used.

Use IFERROR with care. It catches errors from the whole expression, not only the expected “text not found” case. If the result will drive later calculations, returning an empty string or an explanatory message may hide a data problem that deserves investigation. For a simple yes-or-no test, =ISNUMBER(SEARCH("urgent",A2)) is often clearer; with urgent anywhere in A2, it returns TRUE, and without it, FALSE.

Another common misconception is that FIND returns the number of matches. It returns the position of a match, not a count. To count repeated occurrences, you need a different approach or a formula designed around the specific delimiter and data. Similarly, FIND does not change the source text; it only reports where the search text begins.

Find text with Excel’s interface

If you only need to locate a value while inspecting a worksheet, Excel’s Find interface may be quicker than writing a formula. On Windows, press Ctrl+F; on Mac, press Command+F. Enter the text and use the controls in the Find dialog to search the sheet or, where available, the whole workbook. The Find interface navigates to matches rather than returning a position in a cell formula.

Use a formula when the position needs to appear in a cell, feed an extraction formula, or update automatically as values change. Use Find when you are manually reviewing or navigating a workbook. They solve related but different tasks: one computes a result in the grid, while the other helps you locate content interactively.

Frequently Asked Questions

What formula finds a word in an Excel cell?
For a case-sensitive search, use =FIND("word",A2), assuming the text is in A2. To ignore capitalization, use =SEARCH("word",A2). Each returns the starting character position when it finds the text.

How do I check whether a cell contains text without an error?
For a case-insensitive check with text in A2, use =ISNUMBER(SEARCH("word",A2)). It returns TRUE when the text is present and FALSE when it is absent, rather than showing #VALUE!.

Why does FIND return #VALUE!?
Most often, the exact search text is not present. FIND is case-sensitive, so capitalization can cause a miss. Also check spaces, spelling, the referenced cell, and the optional start position.

Does FIND support wildcards?
No. FIND treats characters such as * and ? literally. SEARCH supports * for any sequence and ? for one character, and is also case-insensitive.

How can I find the second occurrence of text?
Use the first match’s position plus one as the next search’s start position. With xylophone x-ray in A2, =FIND("x",A2,FIND("x",A2)+1) returns 11. If a second match may not exist, wrap the formula in IFERROR.

Does FIND return the matching word?
No. It returns a number marking where the match begins. To extract text, combine that position with functions such as LEFT or MID, and account for the separator and whether it belongs in the result.

Related

Try it: the Formula Explainer: paste any formula and see each function and reference in plain English.

More in Formulas & functions

Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources

Spotted an error in this guide? Let us know.