FIND function

FIND returns the numeric position of a substring within a text string, counting from a specified start point and respecting case sensitivity.

=FIND(find_text, within_text, [start_num])

Generate a FIND formula

Describe what you need. The generator will reach for FIND where FIND is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How FIND reads its arguments
find_textrequiredwithin_textrequiredstart_numoptionalFIND
ArgumentRequiredDescription
find_textRequiredA text string (or cell reference) to locate; if empty or not found, FIND raises an error.
within_textRequiredThe text (or cell) to search inside; non-text values are coerced to text before searching.
start_numOptionalOptional 1-based index where the search begins; values less than 1 or beyond the string length cause an error.

Returns

A single numeric value indicating the character position of the found text.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Locate dash in SKU code

SKUWarehouseOn HandReorder PointCost
ABC-123WH1150100$12.50
XYZ-789WH28050$9.75
=FIND("-", A2)

Result: 4

In cell A2 the SKU "ABC-123" contains a hyphen. FIND starts at the first character and counts until it reaches the hyphen, which is the fourth character. Because FIND is case-sensitive but the hyphen has no case, it returns 4.

2. Find warehouse code inside combined location string

SKUWarehouseOn HandReorder PointCost
LMN-456WH1200150$15.00
OPQ-321WH26040$7.20
=FIND("WH2", B3)

Result: 1

Cell B3 holds the text "WH2". FIND looks for the exact substring "WH2" starting at character 1, which matches immediately, so the function returns 1. If the code were embedded later, the result would be a larger position number.

3. Determine position of dollar sign in cost column

SKUWarehouseOn HandReorder PointCost
RST-654WH33020$5.00
UVW-987WH112080$13.40
=FIND("$", E2, 1)

Result: 1

The cost values are stored as text strings beginning with a dollar sign. By starting the search at position 1, FIND finds the "$" as the first character, returning 1. Changing the start_num to 2 would cause an error because the symbol no longer appears after that point.

Common errors

Which FIND error are you seeing?
FIND returned an error#VALUE!
Verify the exact characters (including case) you are searching for, or use SEARCH for a case-insensitive alternative.
#VALUE!
Adjust start_num to a value between 1 and LEN(within_text) inclusive.
#VALUE!
Provide a non-empty string or reference; if you need to test for an empty cell, use ISBLANK or LEN instead.
ErrorWhy it happensHow to fix it
#VALUE!The find_text substring does not exist anywhere in within_text.Verify the exact characters (including case) you are searching for, or use SEARCH for a case-insensitive alternative.
#VALUE!The optional start_num argument is less than 1 or greater than the length of within_text.Adjust start_num to a value between 1 and LEN(within_text) inclusive.
#VALUE!find_text is an empty string, which FIND cannot process.Provide a non-empty string or reference; if you need to test for an empty cell, use ISBLANK or LEN instead.

Tips and when to use something else

  • FIND is case-sensitive; use SEARCH when you need case-insensitive matching.
  • Combine FIND with MID to extract substrings that follow a known delimiter.
  • When searching for characters that might appear multiple times, wrap FIND in a MIN or use the optional start_num to locate subsequent occurrences.
  • If you only need to know whether a substring exists, consider using ISNUMBER(SEARCH(...)) for a Boolean result.

Frequently asked questions

Why does FIND return #VALUE! even though the text looks correct?
FIND distinguishes between uppercase and lowercase letters. If the case in find_text does not exactly match the case in within_text, the function treats it as not found and returns #VALUE!. Use SEARCH for a case-insensitive search.
Can FIND be used to locate a character in a numeric cell?
Yes. Excel automatically coerces numeric values to text before searching. However, the numeric representation may differ from what you see (e.g., formatting), so the position may not match the displayed format.
How do I find the second occurrence of a delimiter in a string?
First use FIND to locate the initial delimiter, add its position to the length of the delimiter, and then use that sum as the start_num in a second FIND call. This returns the position of the second occurrence.
What is the difference between FIND and SEARCH regarding error handling?
Both return #VALUE! when the substring is not found, but SEARCH ignores case while FIND does not. Additionally, SEARCH accepts wildcard characters ("?" and "*") whereas FIND treats them as literal characters.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17