今天說(shuō)下文本函數find的用法,這個(gè)函數和文本提取函數left,right,mid相結合,可以發(fā)揮很大作用。
-01-
函數說(shuō)明
find這個(gè)函數是返回第一個(gè)字符串在第二個(gè)字符串出現的起始位置的值,該值從第二個(gè)字符串的第一個(gè)字符算起。它的函數寫(xiě)法如下圖,有3個(gè)參數。
find_text 必需。 要查找的文本。
within_text 必需。 包含要查找文本的文本。
start_num 可選。 指定開(kāi)始進(jìn)行查找的字符。 within_text 中的首字符是編號為 1 的字符。 如果省略 start_num,則假定其值為 1。
這個(gè)函數的注意事項比較多:
FIND區分大小寫(xiě),并且不允許使用通配符。
如果 find_text 為空文本 (""),則 FIND 會(huì )匹配搜索字符串中的首字符(即編號為 start_num 或 1 的字符)。也就是如果find_text 為空文本 (""),find返回第三參數的值。
如果 within_text 中沒(méi)有 find_text,則FIND返回錯誤值 #VALUE!。也就是如果在第2參數中找不到第1參數,find返回錯誤值。
如果start_num不大于0,則FIND返回 錯誤值 #VALUE!。也就是如果第3參數小于等于0,find返回錯誤值。
如果start_num大于within_text的長(cháng)度,則FIND返回錯誤值 #VALUE!。也就是第3參數大于第2參數的字符串長(cháng)度,find返回錯誤值。
可以使用 start_num 來(lái)跳過(guò)指定數目的字符。也就是通過(guò)第3參數來(lái)選擇要在第二參數查找的起始字符位置。
-02-
示例解釋
在B1單元格中輸入如下公式,結果為3。意思是在A(yíng)1單元格的字符串中查找“劉卓”這個(gè)字符串,找到后,返回“劉”的位置,“劉”在A(yíng)1單元格的這個(gè)字符串的位置是3,所以返回3。這里第3參數1的意思是,從A1單元格的這個(gè)字符串的第1個(gè)字符開(kāi)始查找“劉卓”。
在B1單元格中輸入如下公式,結果為錯誤值。為什么呢?從A1單元格的字符串的第4個(gè)字符開(kāi)始往后查找“劉卓”,肯定找不到返回錯誤值。
在B1單元格中輸入如下公式,結果為錯誤值。因為第3參數的值大于第2參數的字符個(gè)數。第2參數一共就6個(gè)字符,你讓它從第7個(gè)開(kāi)始查肯定是查不到的。
在B1單元格中輸入如下公式,結果為1。意思是在A(yíng)1單元格的字符串中,從第一個(gè)字符開(kāi)始查找“a”,發(fā)現2個(gè)“a”,只返回第1個(gè)“a”的位置。
在B1單元格中輸入如下公式,結果為5。意思是在A(yíng)1單元格的字符串中,從第1個(gè)字符開(kāi)始查找“A”,發(fā)現它在字符串的位置為5。從上面2個(gè)示例,可以發(fā)現find區分大小寫(xiě)。

好了,find的原理和其他的注意事項,你自己去驗證一下。下面講幾個(gè)具體應用。
-03-
具體應用
1.提取城市名
a列是一些城市和它的特色,要在b列中提取出城市名。公式為B3=LEFT(A3,FIND("市",A3))。先通過(guò)find找出“市”的位置,然后再用left提取出城市名。

2.計算不重復的字符數
在a列中為一些字符串,要在b列中計算出不重復的字符數。比如在A(yíng)18單元格中,“卓”重復出現2次,不重復的字符為“我”,“是”,“劉”,“卓”,“哎”這5個(gè)。公式為B18=COUNT(FIND(CHAR(ROW(A:A)),A18)),ctrl+shift+enter三鍵結束。這里用了find的數組用法,find的3個(gè)參數都支持數組。

解釋一下這個(gè)公式,ROW(A:A)是返回A列中每一個(gè)單元格的行號,即A1,A2,……A最后一個(gè)的行號,也就是得到一個(gè){1;2;3……最后一個(gè)數字}的數組。
CHAR(ROW(A:A))就是將數字數組轉換成字符數組,因為每個(gè)數字對應一個(gè)字符。而且是不重復的字符數組。也就是在這個(gè)字符數組中,每個(gè)字符都不重復。
FIND(CHAR(ROW(A:A)),A18)就是在A(yíng)18這個(gè)字符串中找每個(gè)不重復的字符,找不到的返回錯誤值,找到的返回一個(gè)數字。最后用count統計數字的個(gè)數就是不重復的字符的個(gè)數。
好了,關(guān)于find這個(gè)函數的原理和用法,今天就講這些。其實(shí)它的數組用法還很強大。
聯(lián)系客服