SEARCH, SEARCHB Function

Description

The SEARCH, SEARCHB 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 SEARCH and SEARCHB?

The SEARCH function is intended for use with languages that use the single-byte character set (SBCS), whereas the SEARCHB function 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:

  • SEARCH always counts each character, whether single-byte or double-byte, as 1, no matter what the default language setting is.
  • SEARCHB 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, SEARCHB counts each character as 1.

The languages that support DBCS include Chinese (Simplified), Chinese (Traditional), Korean, and Japanese.

Syntax

SEARCH(find_text, within_text, [start_num])

SEARCHB(find_text, within_text, [start_num])

Parameters

Find_text Required. The text you want to find.
Within_text Required. The text in which you want to search for the value of the find_text argument.
Start_num Optional. The character number in the within_text argument at which you want to start searching.

Remarks

  • The SEARCH and SEARCHB functions are not case sensitive. If you want to do a case sensitive search, you can use FIND and FINDB.
  • You can use the wildcard characters — the question mark (?) and asterisk (*) — in the find_text argument. 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.
  • If the value of find_text is not found, the #VALUE! error value is returned.
  • If the start_num argument is omitted, it is assumed to be 1.
  • If start_num is not greater than 0 (zero), the #VALUE! error value is returned.
  • If start_num is greater than the length of the within_text argument, the #VALUE! error value is returned.
  • Use start_num to skip a specified number of characters. Using the SEARCH function as an example, suppose you are working with the text string "AYF0093.YoungMensApparel". To find the position 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 (in this case, "AYF0093") is not searched. The SEARCH function starts the search operation at the eighth character position, finds the character that is specified in the find_text argument at the next position, and returns the number 9. The SEARCH function always returns the number of characters from the start of the within_text argument, counting the characters you skip if the start_num argument is greater than 1.

Examples

Example 1: SEARCH

The example may be easier to understand if you copy A1:C11 to a blank worksheet.

1
2
3
4
5
6
7
8
9
10
11
A B C
Data
Google Glass
Formula Result Description
=SEARCH("G",A2) 1 Position of the first "G" in the string above, not case sensitive.
=SEARCH("g",A2) 1 Position of the first "g" in the string above, not case sensitive.
=SEARCH("G",A2,3) 4 Position of the first "G" in the string above, starting with the third character.
=SEARCH("",A2,3) 3 find_text is "" (empty text) and have start_num, returns start_num.
=SEARCH("",A2) 1 find_text is "" (empty text), return 1.
=SEARCH("X",A2) #VALUE! find_text does not appear in within_text.
=SEARCH("",A2,-3) #VALUE! start_num is not greater than zero.
=SEARCH("G",A2,13) #VALUE! start_num is greater than the length of within_text (12).

Example 2: SEARCHB

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

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

SEARCH returns 2 because " " is in the second position within the string. SEARCH returns 2 regardless of the default language setting on your computer.

Video training

See also: Excel text functions

ASC
Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters
BAHTTEXT
Converts a number to text, using the ß (baht) currency format
CHAR
Returns the character specified by the code number
CLEAN
Removes all nonprintable characters from text
CODE
Returns a numeric code for the first character in a text string
CONCATENATE
Joins several text items into one text item
DOLLAR
Converts a number to text, using the $ (dollar) currency format
EXACT
Checks to see if two text values are identical
FIND, FINDB
Finds one text value within another (case-sensitive)
FIXED
Formats a number as text with a fixed number of decimals
WIDECHAR
Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters
LEFT, LEFTB
Returns the leftmost characters from a text value
LEN, LENB
Returns the number of characters in a text string
LOWER
Converts text to lowercase
MID, MIDB
Returns a specific number of characters from a text string starting at the position you specify
PHONETIC
Extracts the phonetic (furigana) characters from a text string
PROPER
Capitalizes the first letter in each word of a text value
REPLACE, REPLACEB
Replaces characters within text
REPT
Repeats text a given number of times
RIGHT, RIGHTB
Returns the rightmost characters from a text value
SEARCH, SEARCHB
Finds one text value within another (not case-sensitive)
SUBSTITUTE
Substitutes new text for old text in a text string
T
Converts its arguments to text
TEXT
Formats a number and converts it to text
TRIM
Removes spaces from text
UPPER
Converts text to uppercase
VALUE
Converts a text argument to a number

Leave a Reply

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