FIND functions

Spread the love

Finds one text value within another (case-sensitive)

Description

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.

Syntax

FIND(find_text, within_text, [start_num])

FINDB(find_text, within_text, [start_num])

The FIND and FINDB function syntax has the following arguments:

  • 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.

Remarks

  • 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.

Examples

Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.

Data
Miriam McGovern
Formula Description Result
=FIND(“M”,A2) Position of the first “M” in cell A2 1
=FIND(“m”,A2) Position of the first “M” in cell A2 6
=FIND(“M”,A2,3) Position of the first “M” in cell A2, starting with the third character 8

Example 2

Data
Ceramic Insulators #124-TD45-87
Copper Coils #12-671-6772
Variable Resistors #116010
Formula Description (Result) Result
=MID(A2,1,FIND(” #”,A2,1)-1) Extracts text from position 1 to the position of “#” in cell A2 (Ceramic Insulators) Ceramic Insulators
=MID(A3,1,FIND(” #”,A3,1)-1) Extracts text from position 1 to the position of “#” in cell A3 (Copper Coils) Copper Coils
=MID(A4,1,FIND(” #”,A4,1)-1) Extracts text from position 1 to the position of “#” in cell A4 (Variable Resistors) Variable Resistors