FIND returns the position number of one text string inside another. Use it to locate separators so you can split strings with LEFT, RIGHT, and MID.
FIND returns the position (character number) of a specific text string within a larger string. It is most useful combined with LEFT, RIGHT, or MID — you use FIND to locate a separator, then extract the text around it.
=FIND(find_text, within_text, [start_num])| Argument | Description |
|---|---|
| =FIND(find_text, within_text, [start_num]) | |
| find_text required | The text to search for. |
| within_text required | The string to search in. |
| [start_num] optional | Character position to start searching from. Defaults to 1. |
=FIND("@", A2)Returns 6 if @ is at position 6.
=MID(A2, FIND("@",A2)+1, LEN(A2))Everything after the @ sign.
=LEFT(A2, FIND("@",A2)-1)Everything before the @.
=IFERROR(FIND("London",A2),"Not found")If London appears, returns its position. If not, returns "Not found".
=FIND("-", A2, FIND("-",A2)+1)Use FIND inside FIND, starting after the first match.
The most common pattern for FIND is locating a separator character so LEFT, RIGHT, or MID can extract the text around it. A name like "Mohammed Sheikh" needs FIND to locate the space so you can split it into first and last name. An email "user@domain.com" needs FIND to locate the @ so you can extract the username and domain separately.
The general pattern is: use FIND to get the position of the separator, then offset by 1 to exclude the separator itself. For LEFT: =LEFT(A2, FIND("-",A2)-1) extracts everything before the hyphen. For RIGHT: =RIGHT(A2, LEN(A2)-FIND("-",A2)) extracts everything after it. For MID: =MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1) extracts between two hyphens.
FIND is case sensitive — FIND("A","apple") returns an error. SEARCH is case insensitive — SEARCH("A","apple") returns 1. Use SEARCH when you want to locate text regardless of capitalisation.
ExcelPro has exercises covering this formula across multiple tracks. Free to start.
Try exercises →