How to Use FIND and SEARCH in Excel
Introduction
You have a column of email addresses and need the usernames and domains in separate columns. FIND and SEARCH locate characters within text and return the position. FIND is case-sensitive, SEARCH is not.
The Dataset
Here's an employee email list. The "@" symbol is in a different position in each address:
| A | |
|---|---|
| 3 | |
| 4 | john.smith@acme.com |
| 5 | Sarah.Lee@GlobalTech.org |
| 6 | mike_jones@acme.com |
| 7 | anna.CRUZ@startup.io |
| 8 | david@company.net |
FIND
FIND returns the position of a character or substring within text, and it's case-sensitive. The syntax is:
=FIND(find_text, within_text, [start_num])
- find_text: The character or substring to look for.
- within_text: The cell or string to search in.
- start_num: Optional. The position to start searching from. Defaults to 1.
To find the "@" in each email:
=FIND("@", A4)
| FIND Result | |
|---|---|
| john.smith@acme.com | 11 |
| Sarah.Lee@GlobalTech.org | 10 |
| mike_jones@acme.com | 11 |
| anna.CRUZ@startup.io | 10 |
| david@company.net | 6 |
The "@" in "john.smith@acme.com" is the 11th character. In "david@company.net" it's the 6th.
The optional start_num parameter lets you skip past earlier matches. To find the second period in "john.smith@acme.com":
=FIND(".", A4, FIND(".", A4) + 1)
The inner FIND returns 5 (the first period). Adding 1 starts the outer FIND at position 6, which finds the next period at position 16.
Combining FIND with LEFT and MID
FIND gives you a position. LEFT and MID use that position to extract text.
To get the username (everything before "@"):
=LEFT(A4, FIND("@", A4) - 1)
FIND returns 11 for the first email. Subtracting 1 gives 10, and LEFT pulls the first 10 characters: "john.smith".
To get the domain (everything after "@"):
=MID(A4, FIND("@", A4) + 1, LEN(A4))
FIND returns 11, so MID starts at position 12. Using LEN(A4) for the character count pulls everything through the end.
| Username | Domain | |
|---|---|---|
| john.smith@acme.com | john.smith | acme.com |
| Sarah.Lee@GlobalTech.org | Sarah.Lee | GlobalTech.org |
| mike_jones@acme.com | mike_jones | acme.com |
| anna.CRUZ@startup.io | anna.CRUZ | startup.io |
| david@company.net | david | company.net |
SEARCH
SEARCH works like FIND but with two differences: it's case-insensitive, and it supports wildcard characters (? for any single character, * for any sequence). The syntax is:
=SEARCH(find_text, within_text, [start_num])
- find_text: The character or substring to look for. Supports ? and * wildcards.
- within_text: The cell or string to search in.
- start_num: Optional. The position to start searching from. Defaults to 1.
For exact characters like "@", SEARCH and FIND return the same results. The difference shows up when the case of your search term doesn't match the text in the cell.
FIND vs SEARCH
The key difference is case sensitivity. Cell A5 contains "Sarah.Lee@GlobalTech.org". Searching for lowercase "tech":
| Formula | Result |
|---|---|
=FIND("tech", A5) |
#VALUE! |
=SEARCH("tech", A5) |
17 |
FIND looks for exactly "tech" in lowercase and can't find it, so it returns a #VALUE! error. SEARCH ignores case and matches "Tech" at position 17.
| FIND | SEARCH | |
|---|---|---|
| Case sensitivity | Case-sensitive | Case-insensitive |
| Wildcards | Not supported | ? (single character), * (any sequence) |
| Use when | You need exact case matches | Case doesn't matter or you need wildcards |
Both functions return #VALUE! if the text isn't found. Wrap the formula in IFERROR to handle that:
=IFERROR(FIND("@", A4), 0)
This returns 0 instead of an error if the cell has no "@".
Key takeaway: If you're not sure which to use, start with SEARCH. It handles everything FIND does, and the case-insensitivity avoids surprise #VALUE! errors. Switch to FIND only when you need case-sensitive matching.
Conclusion
FIND gives you case-sensitive matching, SEARCH gives you case-insensitive matching with wildcards. Pair either one with LEFT, RIGHT, or MID to split text based on the position they return.
For extracting text by position, see our guide on LEFT, RIGHT, and MID. To handle the #VALUE! error when text isn't found, check out our guide on IFERROR.
Level up your Excel skills
Bite-sized lessons, drills, and daily challenges to build real spreadsheet skills.