Skip to main content

FIND, FINDB function

Description

The FIND and FINDB Functions 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.

What is the difference between FIND and FINDB?

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 Chinese (Simplified), Chinese (Traditional), Korean, and Japanese.

Syntax

FIND(find_text, within_text, [start_num])
FINDB(find_text, within_text, [start_num])

Parameters

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

Example 1: FIND

The example may be easier to understand if you copy the example data (include header) in the following table, and paste it in cell A1 of a new Excel worksheet. If you need to, you can adjust the column widths to see all the data.

Data Formula Result Description
Google Glass =FIND("G",A2) 1 Position of the first "G" in the string above.
Google Glass =FIND("g",A3) 4 Position of the first "g" in the string above.
Google Glass =FIND("G",A4,3) 8 Position of the first "G" in the string above, starting with the third character.
Google Glass =FIND("",A5,3) 3 find_text is "" (empty text) and have start_num, returns start_num.
Google Glass =FIND("",A6) 1 find_text is "" (empty text), return 1.
Google Glass =FIND("X",A7) #VALUE! find_text does not appear in within_text.
Google Glass =FIND("",A8,-3) #VALUE! start_num is not greater than zero.
Google Glass =FIND("G",A9,13) #VALUE! start_num is greater than the length of within_text (12).

Example 2: FIND nested within MID

The example may be easier to understand if you copy the example data (include header) in the following table, and paste it in cell A1 of a new Excel worksheet. If you need to, you can adjust the column widths to see all the data.

Data Formula Result Description
Microsoft Excel #2022 =MID(A2,1,FIND("#",A2,1)-1) Microsoft Excel Extracts text from position 1 to the position of "#" in A2.
Microsoft Word #2022 =MID(A3,1,FIND("#",A3,1)-1) Microsoft Word Extracts text from position 1 to the position of "#" in A3.
Microsoft PowerPoint #2022 =MID(A4,1,FIND("#",A4,1)-1) Microsoft PowerPoint Extracts text from position 1 to the position of "#" in A4.

Example 3: FINDB

=FINDB("国","中国香港")

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("国","中国香港")

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.

Example 4: Find The First Number In A Text String

Advanced example: Find The First Number In A Text String Use Excel Formula

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>