FIND, FINDB

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. For more information, see the following Help topics:

Syntax

FIND(find_text,within_text,start_num)

FINDB(find_text,within_text,start_num)

Find_text     is the text you want to find.

Within_text     is the text containing the text you want to find.

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

Example 1: FIND

The example may be easier to understand if you copy it to a blank worksheet.

ShowHow to copy an example

  1. Create a blank workbook or worksheet.
  2. Select the example in the Help topic.

 Note   Do not select the row or column headers.

Selecting an example from Help

Selecting an example from Help
  1. Press CTRL+C.
  2. In the worksheet, select cell A1, and press CTRL+V.
  3. To switch between viewing the results and viewing the formulas that return the results, press CTRL+` (grave accent), or on the Tools menu, point to Formula Auditing, and then click Formula Auditing Mode.
 
1
2
A
Data
Miriam McGovern
Formula Description (Result)
=FIND("M",A2) Position of the first "M" in the string above (1)
=FIND("m",A2) Position of the first "m" in the string above (6)
=FIND("M",A2,3) Position of the first "M" in the string above, starting with the third character (8)

Example 2: FIND nested within MID

The example may be easier to understand if you copy it to a blank worksheet.

ShowHow to copy an example

  1. Create a blank workbook or worksheet.
  2. Select the example in the Help topic.

 Note   Do not select the row or column headers.

Selecting an example from Help

Selecting an example from Help
  1. Press CTRL+C.
  2. In the worksheet, select cell A1, and press CTRL+V.
  3. To switch between viewing the results and viewing the formulas that return the results, press CTRL+` (grave accent), or on the Tools menu, point to Formula Auditing, and then click Formula Auditing Mode.
 
1
2
3
4
A
Data
Ceramic Insulators #124-TD45-87
Copper Coils #12-671-6772
Variable Resistors #116010
Formula Description (Result)
=MID(A2,1,FIND(" #",A2,1)-1) Extracts text from position 1 to the position of "#" in the first string above (Ceramic Insulators)
=MID(A3,1,FIND(" #",A3,1)-1) Extracts text from position 1 to the position of "#" in the second string above (Copper Coils)
=MID(A4,1,FIND(" #",A4,1)-1) Extracts text from position 1 to the position of "#" in the third string above (Variable Resistors)

Example 3: FINDB (with your computer set to a default language that supports DBCS)

In the following example:

  • 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 "Tokyo to Shibuya " is in the second position within the string . FIND returns 2 no matter what the default language setting is on your computer.
=FINDB("Tokyo to Shibuya ","Tokyo to Shibuya Tokyo to Shibuya Tokyo to Shibuya ") equals 3
=FIND("Tokyo to Shibuya ","Tokyo to Shibuya Tokyo to Shibuya Tokyo to Shibuya ") equals 2
 
 
Applies to:
Excel 2003