This article describes the formula syntax and usage of the FIND and FINDB function (function: A prewritten formula that takes a value or values, performs an operation, and returns a value or values. Use functions to simplify and shorten formulas on a worksheet, especially those that perform lengthy or complex calculations.) in Microsoft Excel.
FIND and FINDB locate one text string within a second text string, and return the number of the starting position of the first text string from the first character of the second text string.
Important FIND is intended for use with languages that use the single-byte character set (SBCS), whereas FINDB is intended for use with languages that use the double-byte character set (DBCS). The default language setting on your computer affects the return value in the following way:
- FIND always counts each character, whether single-byte or double-byte, as 1, no matter what the default language setting is.
- FINDB counts each double-byte character as 2 when you have enabled the editing of a language that supports DBCS and then set it as the default language. Otherwise, FINDB counts each character as 1.
The languages that support DBCS include Japanese, Chinese (Simplified), Chinese (Traditional), and Korean.
FIND(find_text, within_text, [start_num])
FINDB(find_text, within_text, [start_num])
The FIND and FINDB function syntax has the following arguments (argument: A value that provides information to an action, an event, a method, a property, a function, or a procedure.):
- Find_text Required. The text you want to find.
- Within_text Required. The text containing the text you want to find.
- Start_num Optional. Specifies the character at which to start the search. The first character in within_text is character number 1. If you omit start_num, it is assumed to be 1.
- FIND and FINDB are case sensitive and don't allow wildcard characters. If you don't want to do a case sensitive search or use wildcard characters, you can use SEARCH and SEARCHB.
- If find_text is "" (empty text), FIND matches the first character in the search string (that is, the character numbered start_num or 1).
- Find_text cannot contain any wildcard characters.
- If find_text does not appear in within_text, FIND and FINDB return the #VALUE! error value.
- If start_num is not greater than zero, FIND and FINDB return the #VALUE! error value.
- If start_num is greater than the length of within_text, FIND and FINDB return the #VALUE! error value.
- Use start_num to skip a specified number of characters. Using FIND as an example, suppose you are working with the text string "AYF0093.YoungMensApparel". To find the number of the first "Y" in the descriptive part of the text string, set start_num equal to 8 so that the serial-number portion of the text is not searched. FIND begins with character 8, finds find_text at the next character, and returns the number 9. FIND always returns the number of characters from the start of within_text, counting the characters you skip if start_num is greater than 1.
Example 1 FIND
Use the embedded workbook shown here to work with examples of this function. You can inspect and change existing formulas, enter your own formulas, and read further information about how the function works.
To work in-depth with this workbook, you can download it to your computer and open it in Excel. For more information, see the article Download an embedded workbook from SkyDrive and open it on your computer.
Example 2 FIND
This example uses the FIND function nested within the MID function.
Example 3 FINDB
In the following example, with your computer set to a default language that supports DBCS:
- FINDB returns 3 because each character is counted by its bytes; the first character has 2 bytes, so the second character begins at byte 3.
- FIND returns 2 because " " is in the second position within the string . FIND returns 2 no matter what the default language setting is on your computer.
"," ") equals 3
=FIND(" "," ") equals 2