SEARCH

Microsoft Office Excel 2003

See Also

Also applies to:

SEARCHB

SEARCH returns the number of the character at which a specific character or text string is first found, beginning with start_num. Use SEARCH to determine the location of a character or text string within another text string so that you can use the MID or REPLACE functions to change the text.

SEARCHB also finds one text string (find_text) within another text string (within_text), and returns the number of the starting position of find_text. The result is based on the number of bytes each character uses, beginning with start_num. This function is for use with double-byte characters You can also use FINDB to find one text string within another.

Syntax

SEARCH(find_text,within_text,start_num)

SEARCHB(find_text,within_text,start_num)

Find_text    is the text you want to find. You can use the wildcard characters, question mark (?) and asterisk (*), in find_text. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) before the character.

Within_text    is the text in which you want to search for find_text.

Start_num    is the character number in within_text at which you want to start searching.

ShowTip

Use start_num to skip a specified number of characters. For 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. SEARCH begins with character 8, finds find_text at the next character, and returns the number 9. SEARCH always returns the number of characters from the start of within_text, counting the characters you skip if start_num is greater than 1.

Remarks

  • SEARCH and SEARCHB do not distinguish between uppercase and lowercase letters when searching text.
  • SEARCH and SEARCHB are similar to FIND and FINDB, except that FIND and FINDB are case sensitive.
  • If find_text is not found, the #VALUE! error value is returned.
  • If start_num is omitted, it is assumed to be 1.
  • If start_num is not greater than 0 (zero) or is greater than the length of within_text, the #VALUE! error value is returned.

Example (SEARCH)

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

Show How?

  1. Create a blank workbook or worksheet.
  2. Select the example in the Help topic. Do not select the row or column headers.

    Selecting an example from Help

    Selecting an example from Help

  3. Press CTRL+C.
  4. In the worksheet, select cell A1, and press CTRL+V.
  5. 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
Statements
Profit Margin
margin
Formula Description (Result)
=SEARCH("e",A2,6) Position of the first "e" in the first string above, starting at the sixth position (7)
=SEARCH(A4,A3) Position of "margin" in "Profit Margin" (8)
=REPLACE(A3,SEARCH(A4,A3),6,"Amount") Replaces "Margin" with "Amount" (Profit Amount)

Example (SEARCHB)

In the following examples, SEARCH returns 2 because "" is in the second position within the string, and SEARCHB returns 3 because each character is counted by its bytes; the first character has 2 bytes, so the second character begins at byte 3.

=SEARCH("Tokyo to Shibuya","Tokyo to ShibuyaTokyo to ShibuyaTokyo to Shibuya") equals 2

=SEARCHB("Tokyo to Shibuya","Tokyo to ShibuyaTokyo to ShibuyaTokyo to Shibuya") equals 3