SEARCH函數(shù)在另一個(gè)文本字符串中查找文本字符串,如果找到則返回其位置,不區(qū)分大小寫(xiě)。
什么情況下使用SEARCH?
SEARCH函數(shù)在字符串中查找另一字符串,可以:
在字符串中找到另一個(gè)字符串——不區(qū)分大小寫(xiě)
在搜索中使用通配符
在搜索文本中指定開(kāi)始數(shù)字
SEARCH函數(shù)的語(yǔ)法
SEARCH函數(shù)的語(yǔ)法如下:
SEARCH(find_text,within_text,start_num)
§ind_text是要搜索的文本
§within_text是供搜索的字符串
§如果忽略start_num,那么從第一個(gè)字符開(kāi)始搜索
SEARCH函數(shù)陷阱
SEARCH函數(shù)返回第一個(gè)匹配的字符串的位置,忽略大小寫(xiě)。如果想要區(qū)分大小寫(xiě)的搜索,那么使用FIND函數(shù)。
示例1: 在字符串中查找文本
使用SEARCH函數(shù)查找文本字符串中的文本。本例中,在單元格B2的文本字符串中查找單元格B5中的單個(gè)字符。
=SEARCH(B5,B2)
如果找到文本,那么SEARCH函數(shù)返回該文本在文本字符串中開(kāi)始出現(xiàn)的位置的數(shù)字。如果沒(méi)有找到,那么結(jié)果為#VALUE!錯(cuò)誤。
可以使用IFERROR函數(shù)嵌套SEARCH函數(shù),如果結(jié)果是一個(gè)錯(cuò)誤,那么顯示一條消息。IFERROR函數(shù)在Excel 2007及更新的版本中可用。對(duì)于更早的版本,可以使用IF函數(shù)和ISERROR函數(shù)。
=IFERROR(SEARCH(B5,B2),”NotFound”)
示例2: 在SEARCH中使用通配符
檢查SEARCH函數(shù)結(jié)果的另一種方式是結(jié)合使用ISNUMBER函數(shù)。如果找到字符串,那么SEARCH函數(shù)的結(jié)果是一個(gè)數(shù)字,因此ISNUMBER函數(shù)的結(jié)果為T(mén)RUE。如果沒(méi)有找到文本,那么SEARCH函數(shù)的結(jié)果是錯(cuò)誤值,ISNUMBER函數(shù)返回FALSE。
也可以在參數(shù)find_text中使用通配符。*(星號(hào))代表任意數(shù)量的字符(包括0個(gè)),而?(問(wèn)號(hào))代表單個(gè)的字符。
本例中使用 * 通配符,在街道地址中將會(huì)找到所有的central、center和centre。
=ISNUMBER(SEARCH($E$2,B3))
示例3: 為SEARCH指定開(kāi)始數(shù)字
通過(guò)在ISNUMBER函數(shù)前面輸入兩個(gè)減號(hào)(雙一元符號(hào)),能夠替換TRUE或者FALSE而返回1或者0。那么,在單元格E2中SUM函數(shù)可以統(tǒng)計(jì)找到的文本字符串的記錄數(shù)。
本例在列B中為City(城市)和Occupation(職業(yè)),查找含有單元格E1中輸入的文本字符串的所有職業(yè)。在單元格C2中的公式是:
=–ISNUMBER(SEARCH($E$1,B2))
這個(gè)公式查找到包含“bank”的字符串,但是這些字符串的一部分是City名,不是職業(yè)。
在每個(gè)城市名之后有一個(gè)管道符,因此能夠?yàn)榇颂砑右粋€(gè)SEARCH函數(shù),其返回的位置能夠被作為主SEARCH函數(shù)的start_number參數(shù)使用,因此,在搜索時(shí)城市將被忽略。
現(xiàn)在,使用修訂的公式,僅統(tǒng)計(jì)職業(yè)中含有“bank”的行。
=–ISNUMBER(SEARCH($E$1,B2,SEARCH(“ ”,B2)))