在excel中,函數FIND和FINDB用于在第二個文本串中定位第一個文本串,并返回第一個文本串的起始位置的值,該值從第二個文本串的第一個字符算起。不同的是FIND函數查找的是字符串的字符,而FINDB函數查找的是字符串的字節。語法為:
FIND(find_text, within_text, [start_num])
FINDB(find_text, within_text, [start_num])
▲Find_text:必需。要查找的文本。
▲Within_text:必需。包含要查找文本的文本。
▲Start_num:可選。指定要從其開始搜索的字符。within_text 中的首字符是編號為 1 的字符。如果省略 start_num,則假設其值為 1。
提示:
●函數FIND與FINDB區分大小寫并且不允許使用通配符。如果您不希望執行區分大小寫的搜索或者要使用通配符,可以使用SEARCH和SEARCHB函數。
●如果find_text為空文本(""),則FIND會匹配搜索字符串中的首字符(即編號為start_num或1的字符)。
●Find_text不能包含任何通配符。
●如果within_text中沒有find_text,則FIND和FINDB返回錯誤值 #VALUE!。
●如果start_num不大于0,則FIND和FINDB返回錯誤值#VALUE!。
●如果start_num大于within_text的長度,則FIND和FINDB返回錯誤值#VALUE!。
●使用start_num可跳過指定的字符數。以FIND函數為例,假設要處理文本字符串“AYF0093.YoungMensApparel”。若要在文本字符串的說明部分中查找第一個“Y”的編號,請將start_num設置為8,這樣就不會搜索文本的序列號部分。函數FIND從第8個字符開始,在下一個字符處查找find_text,并返回數字9。FIND總是返回從within_text的起始位置計算的字符的編號,如果start_num大于1,則會計算跳過的字符。
示例:
基礎數據如圖所示,A2的內容為“Excel教程: www.Excel329.cn ”,則以下公式說明如下:
=FIND("E",A2):A2中第一個“E”的位置,返回結果為“1”。
=FIND("e",A2):A2中第一個“e”的位置,區分大小寫,返回結果為“4”。
=FIND("E",A2,3):A2中從第3個字符開始查找第一個“E”的位置,返回結果為“13”。
=FINDB("E",A2,3):A2中從第3個字節開始查找第一個“E”的位置,其中漢字“教程:”占兩個字節,返回結果為“16”。