Excel Find函數(shù)和FindB函數(shù)使用方法的10個(gè)實(shí)例,含與If或Sum組合實(shí)現(xiàn)動(dòng)態(tài)查找或一次查找多個(gè)值
在 Excel 中,F(xiàn)ind函數(shù)用于查找指定文本在查找文本的文本中的位置,F(xiàn)indB函數(shù)與Find函數(shù)功能一樣,只是Find函數(shù)把全角字符(如漢字)和半角字符(如數(shù)字和字母)都算一個(gè)字符,而FindB函數(shù)以字節(jié)計(jì),把全角字符計(jì)作兩個(gè)字節(jié)、半角字符計(jì)作一個(gè)字節(jié)。
在日常應(yīng)用中,F(xiàn)ind函數(shù)和FindB函數(shù)常與 If、Sum、Mid、Left、IsNumber 等函數(shù)組合使用,如 Mid + Find(或 FindB)組合實(shí)現(xiàn)從任意指定字符開始截取字符,If + IsNumber + Find 組合實(shí)現(xiàn)動(dòng)態(tài)查找,Sum + IsNumber + Find 組合實(shí)現(xiàn)一次查找多個(gè)值。
一、Excel Find函數(shù)和FindB函數(shù)的語法
1、Find函數(shù)表達(dá)式:FIND(Find_Text, Within_Text, [Start_Num])
中文表達(dá)式:FIND(查找文本, 要查找文本的文本, [查找開始位置])
2、FindB函數(shù)表達(dá)式:FINDB(Find_Text, Within_Text, [Start_Num])
中文表達(dá)式:FINDB(查找文本, 要查找文本的文本, [查找開始位置])
3、說明:
A、Find函數(shù)將全角字符(如漢字)和半角字符(如數(shù)字與字母)都計(jì)作一個(gè)字符,F(xiàn)indB函數(shù)將全角字符計(jì)作兩個(gè)字節(jié)、半角字符計(jì)作一個(gè)字節(jié)。Find函數(shù)和FindB函數(shù)都區(qū)分大小寫,并且不允許使用通配符;如果要求忽略大小寫與允許使用通配符,只能使用Search函數(shù)或SearchB函數(shù)。
B、如果 Find_Text 為空文本 (""),默認(rèn)返回第一個(gè)字符的位置 1;Find_Text 不能包含任何通配符,如問號(hào)(?)或星號(hào)(*)。
C、Start_Num 為可選項(xiàng),若省略,則默認(rèn)從第一個(gè)字符開始查找;Start_Num 小于等于 0 或大于等于 Within_Text 的長度,F(xiàn)ind 與 FindB 都返回值錯(cuò)誤 #VALUE!。
D、若在 Within_Text 中沒有找到查找文本,也返回值錯(cuò)誤 #VALUE!。
二、Excel Find函數(shù)的使用方法及實(shí)例
(一)查找短文本省略查找開始位置的實(shí)例
1、假如要查找 Kg 在“2685kg”中位置。雙擊 E2 單元格,把公式 =FIND("kg",D2) 復(fù)制到 E2,按回車,返回 5;再次雙擊 E2,在 D2 后輸入逗號(hào),按回車,返回值錯(cuò)誤 #VALUE!;操作過程步驟,如圖1所示:
圖1
2、公式 =FIND("kg",D2) 中,"kg" 為查找文本,D2 為要查找文本的文本,公式省略了最后一個(gè)參數(shù)“查找開始位置”,則默認(rèn)從第一個(gè)字會(huì)開始查找。另外,公式 =FIND("kg",D2,) 返回值錯(cuò)誤,說明省略“查找開始位置參數(shù)”時(shí),不能在第二個(gè)參數(shù)后加逗號(hào)。
(二)區(qū)分大小寫與不允許使用通配符的實(shí)例
1、假如要查找“Excel 教程”中的大小寫 e。雙擊 B1 單元格,把公式 =FIND("E",A1) 復(fù)制到 B1,按回車,返回 1;雙擊 B2,把公式 =FIND("E",A1) 復(fù)制到 B2 后,把大寫 E 改為小寫 e,按回車,返回 4;再次雙擊 B2,在 e 后輸入 *,按回車,返回值錯(cuò)誤 #VALUE!;操作過程步驟,如圖2所示:
圖2
2、公式說明:
A、=FIND("E",A1) 返回大寫 E 的位置 1,而公式 =FIND("e",A1) 返回小寫 e 的位置 4,說明Find函數(shù)區(qū)分大小寫,否則兩個(gè)公式都返回 1。
B、公式 =FIND("e*",A1) 的查找文本 "e*" 含有通配符 *,它返回值錯(cuò)誤 #VALUE!,說明Find函數(shù)不能使用通配符。
(三)查找文本為空("")和空格(" ")的實(shí)例
1、雙擊 B1 單元格,把公式 =FIND("",A1) 復(fù)制到 B1,按回車,返回 1;雙擊 B1,把 "" 改為 " ",按回車,返回 6;操作過程步驟,如圖3所示:
圖3
2、公式 =FIND("",A1) 查找空(""),F(xiàn)ind函數(shù)默認(rèn)返回第一個(gè)字符的位置 1;公式 =FIND(" ",A1) 查找空格,返回“Excel 教程”中空格的位置 6。
(四)返回值錯(cuò)誤 #VALUE! 的實(shí)例
1、雙擊 B1 單元格,把公式 =FIND("c",A1,0) 復(fù)制到 B1,按回車,返回值錯(cuò)誤 #VALUE!;再次雙擊 B1,把 0 改為 8,按回車,也返回 值錯(cuò)誤 #VALUE!;操作過程步驟,如圖4所示:
圖4
2、公式說明:
A、公式 =FIND("c",A1,0) 的查找開始位置為 0,但返回錯(cuò)誤,說明Find函數(shù)的查找起始位置從 1 開始。
B、公式 =FIND("c",A1,8) 的查找起始位置為 8,而 A1 中的“Excel 教程”,只有 8 個(gè)字符,公式從第 8 個(gè)位置開始是查找第 9 個(gè)字符及之后的字符,因此返回錯(cuò)誤。
(五)找不到查找文本返回錯(cuò)誤及處理方法實(shí)例
1、雙擊 B1 單元格,把公式 =FIND("a",A1,1) 復(fù)制到 B1,按回車,返回值錯(cuò)誤 #VALUE!;再次雙擊 B1,把公式改為 =IFERROR(FIND("a",A1,1),0),按回車,返回 0;操作過程步驟,如圖5所示:
圖5
2、公式說明:
A、公式 =FIND("a",A1,1) 要在“Excel 教程”中從第一個(gè)字符開始查找 a,但沒有找到,因此返回錯(cuò)誤。
B、公式 =IFERROR(FIND("a",A1,1),0) 中,IfError函數(shù)是錯(cuò)誤判斷函數(shù),意思是:如果 FIND("a",A1,1) 返回正確的位置,則 IfError 返回該值,否則返回 0。
三、Excel FindB函數(shù)的使用方法及實(shí)例
(一)在由數(shù)字和字母組成的字符串中查找的實(shí)例
1、雙擊 B1 單元格,把公式 =FINDB("0",A1,6) 復(fù)制到 B1,按回車,返回 8;操作過程步驟,如圖6所示:
圖6
2、公式 =FINDB("0",A1,6) 中,0 為查找文本,A1 為查找 0 的文本,6 為查找開始位置;公式的意思是:從 A1 中的“Excel 2016”中的第 6 個(gè)字符開始查找 0,返回 0 的位置為 8;從返回位置可知,F(xiàn)indB函數(shù)與Find函數(shù)一樣,都把數(shù)字和字母計(jì)作一個(gè)字節(jié)。
(二)在由數(shù)字、字母和漢字組成的字符串中查找的實(shí)例
1、雙擊 B1 單元格,把公式 =FINDB("16",A1) 復(fù)制到 B1,按回車,返回 14;操作過程步驟,如圖7所示:
圖7
2、公式 =FINDB("16",A1) 在 A1 的“Excel 教程 2016”中查找 16,返回結(jié)果為 14,它正是 1 的位置;1 的前面共有 5 個(gè)字母、2 個(gè)空格、2 個(gè)數(shù)字和 2 個(gè)漢字,它們加起來為 11,說明 FindB 把每個(gè)漢字計(jì)作兩個(gè)字節(jié)。
四、Excel Find函數(shù)和FindB函數(shù)的應(yīng)用實(shí)例
(一)Mid + Find函數(shù)組合實(shí)現(xiàn)從任意指定字符開始截取字符串
1、假如要截取“WS-560長袖白襯衫86.9”中的漢字。雙擊 B1 單元格,把公式 =MID(A1,FIND("長",A1),5) 復(fù)制到 B1,按回車,返回“長袖白襯衫”;操作過程步驟,如圖8所示:
圖8
2、公式 =MID(A1,FIND("長",A1),5) 說明:
A、FIND("長",A1) 用于在 A1 中查找“長”的位置,結(jié)果為 7;在比較長的字符串中截取時(shí),通常用Find函數(shù)確定要截取字符串的開始位置,這樣能快速找出查找起始位置,不用一個(gè)個(gè)去數(shù)。
B、則公式變?yōu)?=MID(A1,7,5),A1 為要截取文本的文本,7 為開始截取位置,5 為截取長度,意思是:從第 7 個(gè)字符開始截取 5 字符,恰好截取得 A1 中的 5 個(gè)漢字。
提示:Mid + FindB 或 MidB + FindB 也可以實(shí)現(xiàn)同樣功能,公式可以分別這樣寫:=MID(A1,FINDB("長",A1),5) 或 =MIDB(A1,FINDB("長",A1),10);后一個(gè)公式之所以寫 10,是因?yàn)橛?MidB 截取時(shí),每個(gè)漢字占兩個(gè)字節(jié)。
(二)If + IsNumber + Find函數(shù)組合實(shí)現(xiàn)在動(dòng)態(tài)查找
1、假如要求標(biāo)出 A 列是否包含 B 列的年份,如果包含標(biāo)出“是”,否則標(biāo)出“否”。雙擊 C2 單元格,把公式 =IF(ISNUMBER(FIND(B2,A2)),"是","否") 復(fù)制到 C2,按回車,返回“是”;選中 C2,把鼠標(biāo)移到 C2 右下角的單元格填充柄上,鼠標(biāo)變?yōu)榧犹?hào)后,雙擊左鍵,則標(biāo)出剩余行的相應(yīng)結(jié)果;操作過程步驟,如圖9所示:
圖9
2、公式 =IF(ISNUMBER(FIND(B2,A2)),"是","否") 說明:
A、FIND(B2,A2) 用于在 A2 中查找 B2,如果找到,返回 B2 在 A2 中的位置,否則返回值錯(cuò)誤 #VALUE!;當(dāng)公式在 C2,返回 B2 在 A2 中的位置為 2。
B、則 ISNUMBER(FIND(B2,A2) 變?yōu)?ISNUMBER(2),由于 2 為數(shù)字,所以 IsNumber 返回“真”。則公式變?yōu)?=IF(TRUE,"是","否"),If 的條件為真,所以返回“是”。
C、當(dāng)公式在 C3 時(shí),A2 與 B2 都自動(dòng)變?yōu)?A3 和 B3(相當(dāng)于往下拖),F(xiàn)IND(B3,A3) 返回值錯(cuò)誤 #VALUE!,因?yàn)樵?A3 中沒有找到 B3;ISNUMBER(#VALUE!) 返回“假”,則公式變?yōu)?=IF(FALSE,"是","否"),If 的條件為假,所以返回“否”。
(三)Sum + IsNumber + Find函數(shù)組合實(shí)現(xiàn)一次查找多個(gè)值
1、假如要一次查找 4 個(gè)值。雙擊 B1 單元格,把公式 =SUM(ISNUMBER(FIND({"S","襯衫",8,10},A1))*1) 復(fù)制到 B1,按回車,返回查找結(jié)果 3;操作過程步驟,如圖10所示:
圖10
2、公式 =SUM(ISNUMBER(FIND({"S","襯衫",8,10},A1))*1) 說明:
A、FIND({"S","襯衫",8,10},A1) 的找查找文本為一個(gè)數(shù)組,數(shù)組中共包含四個(gè)元素,也就是要在 A1 中查找四個(gè)值;執(zhí)行時(shí),第一次取出數(shù)組中的第一個(gè)元素 S,然后在 A1 中查找,返回結(jié)果為 2;第二次取出數(shù)組中的第二個(gè)元素 “襯衫”,同樣在 A1 中查找,結(jié)果為 10;其它的以此類推,最后返回?cái)?shù)組 {2,10,12,#VALUE!},由于在 A1 中找不到 10,所以返回 #VALUE!。
B、則公式變?yōu)?=SUM(ISNUMBER({2,10,12,#VALUE!})*1),進(jìn)一步計(jì)算用 IsNumber 判斷數(shù)組中的元素是否為數(shù)字,如果是數(shù)字,返回 True,否則返回 False,則公式變?yōu)?=SUM({TRUE,TRUE,TRUE,FALSE}*1),再用數(shù)組中的每個(gè)元素與 1 相乘,相乘時(shí),True 轉(zhuǎn)為 1、False 轉(zhuǎn)為 0,則公式變?yōu)?=SUM({1,1,1,0}),最后用 Sum 對(duì)數(shù)組中的每個(gè)元素求和,結(jié)果為 3。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。