辦公軟件是指可以進(jìn)行文字處理、表格制作、幻燈片制作、圖形圖像處理、簡單數(shù)據(jù)庫的處理等方面工作的軟件。目前辦公軟件朝著操作簡單化,功能細(xì)化等方向發(fā)展。辦公軟件的應(yīng)用范圍很廣,大到社會統(tǒng)計(jì),小到會議記錄,數(shù)字化的辦公,離不開辦公軟件的鼎力協(xié)助。另外,政府用的電子政務(wù),稅務(wù)用的稅務(wù)系統(tǒng),企業(yè)用的協(xié)同辦公軟件,這些都屬于辦公軟件。 在 Excel 中,Search函數(shù)用于查找指定文本在查找文本的文本中的位置,SearchB函數(shù)與Search函數(shù)的功能一樣,但它們有區(qū)別,Search函數(shù)把全角(如“漢字”)和半角(如“數(shù)字和字母”)字符都計(jì)作一個(gè)字符,而SearchB函數(shù)把全角字符計(jì)作兩個(gè)字節(jié)、半角字符計(jì)作一個(gè)字節(jié)。另外,Search函數(shù)和SearchB函數(shù)與Find函數(shù)和FindB函數(shù)的區(qū)別為:前兩個(gè)忽略大小寫且允許使用通配符模糊查找,后兩個(gè)區(qū)分大小寫且不允許使用通配符。
Search函數(shù)和SearchB函數(shù)可與 Mid、Sum、Index、Match、IsNumber 和 Count 等函數(shù)組合使用,例如 Mid + Search(或 SearchB)組合實(shí)現(xiàn)截取指定字符串,Count + Search函數(shù)組合實(shí)現(xiàn)統(tǒng)計(jì)一列中包含指定文本的單元格數(shù),Sum + IsNumber + Search函數(shù)組合實(shí)現(xiàn)一次查找多個(gè)值,Index + Match + IsNumber + Search函數(shù)組合實(shí)現(xiàn)返回兩列匹配的對應(yīng)單元格。
一、Excel Search函數(shù)和SearchB函數(shù)的語法
1、Search函數(shù)表達(dá)式:SEARCH(Find_Text, Within_Text, [Start_Num])
中文表達(dá)式:SEARCH(查找文本, 要查找文本的文本, [查找開始位置])
2、SearchB函數(shù)表達(dá)式:SEARCHB(Find_Text, Within_Text, [Start_Num])
中文表達(dá)式:SEARCHB(查找文本, 要查找文本的文本, [查找開始位置])
3、說明:
A、Search函數(shù)把每個(gè)字符都計(jì)作一個(gè)字節(jié),無論是半角字符(如“數(shù)字或字母”)還是全角字符(如“漢字”;SearchB函數(shù)把半角字符計(jì)作 1 個(gè)字節(jié)、全角字符計(jì)作 2 個(gè)字節(jié)。Search函數(shù)和SearchB函數(shù)都忽略大小寫,還可以使用通配符問號(?)或星號(*);而Find函數(shù)和FindB函數(shù)要求區(qū)分大小寫且不能使用通配符,這也是它們的區(qū)別。
B、可以在 Find_Text 中使用通配符問號(?)或星號(*),問號表示任意一個(gè)字符,星號表示任意一個(gè)或多個(gè)字符;如果要查找通配符,需要在它們前面加轉(zhuǎn)義字符 ~,則查找問號表示為 ~?、查找星號表示為 ~*。
C、如果查找空文本 (""),則返回第一個(gè)字符的位置 1。
D、Start_Num 為可選項(xiàng),如果省略,則從第 1 個(gè)字符開始查找;如果 Start_Num 小于等于 0 或大于等于 Within_Text 的長度,Search 與 SearchB 都返回值錯(cuò)誤 #VALUE!。
E、如果在 Within_Text 中沒有找到查找文本,也返回值錯(cuò)誤 #VALUE!。
二、Excel Search函數(shù)的使用方法及實(shí)例
(一)查找單詞或詞組的實(shí)例
1、選中 B1 單元格,輸入公式 =SEARCH("tutolail",A1),按回車,返回 16;選中 B2,輸入公式 SEARCH("教程",A2),按回車,也返回16;操作過程步驟,如圖1所示:

圖
2、公式說明:
A、公式 =SEARCH("tutolail",A1) 中,單詞 tutolail 為查找文本,A1 為查找文本的文本,公式的意思是:在 A1 中查找 tutolail 并返回 tutolail 的第一個(gè)字母 t 在 A1 中的位置。
B、公式 =SEARCH("教程",A2) 的意思是:在 A2 中查找“教程”并返回“教程”的第一個(gè)字“教”在 A2 中的位置;兩個(gè)公式都返回 16,且查找文本前都為 15 個(gè)字符,而 A1 中 tutolail 前全為字母,A2 中“教程”前有字母、數(shù)字和漢字,說明 Search函數(shù)把字母、數(shù)字和漢字都算一個(gè)字符。
(二)使用通配符 ? 和 * 的實(shí)例
(1)使用 *
1、假如要在 Excel function option tutolail 查找 option。雙擊 B1 單元格,把公式 =SEARCH("o*n",A1) 復(fù)制到 B1,按回車,返回13;雙擊 B1,把 o*n 改 op*n,按回車,返回 16;操作過程步驟,如圖2所示:

圖2
2、公式說明:
公式 =SEARCH("o*n",A1) 中的查找文本 n*o 有一個(gè)星號,意思是找以 n 開頭且以 o 結(jié)尾的字符串,而 Excel function option tutolail 中,至少有三處符合條件,即 on、option 和 on option,而返回 13 是 on 的位置,因此要查找 option,必須在 o*n 的 o 后再加p。
(2)使用 ?
1、同樣以在 Excel function option tutolail 中查找 option 為例。雙擊 B1 單元格,把公式 =SEARCH("o????n",A1) 復(fù)制到 B1,按回車,返回 16;操作過程步驟,如圖3所示:

圖3
2、公式說明:
公式 =SEARCH("o????n",A1) 中的查找文本 o????n 有四個(gè)問號,每個(gè)問號代表一個(gè)字符,意思是查找以 n 開頭且以 o 結(jié)尾并且 n 與 o 之間只有四個(gè)字符的字符串,所以恰好返回單詞 option 在 A1 中的位置。
(三)查找空文本("")和空格(" ")的實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCH("",A1) 復(fù)制到 B1,按回車,返回 1;再次雙擊 B1,把鼠標(biāo)定位到雙引號 "" 中,按一下空格鍵,在雙引號中加一個(gè)空格,按回車,返回 6;操作過程步驟,如圖4所示:

圖4
2、公式 =SEARCH("",A1) 查找空文本(""),Search函數(shù)默認(rèn)返回第 1 個(gè)字符的位置 1;公式 =Search(" ",A1) 查找空格,返“Excel function option tutolail”中的第 1 個(gè)空格的位置 6。
(四)查找半角雙引號(")與全角雙引號(“”)的實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCH("""",A1) 復(fù)制到 B1,按回車,返回 7;雙擊 B2,輸入公式 =SEARCH("“",A2),按回車,返回 12;再次雙擊 B2,把 “ 改為 ”,按回車,返回 15;操作過程步驟,如圖5所示:

圖5
2、公式說明:
A、公式 =SEARCH("""",A1) 查找半角雙引號 ",值得注意的是,必須輸入兩個(gè)半角雙引號,這樣返回的位置仍然是第一個(gè)雙引號的位置。
B、公式 =SEARCH("“",A2) 查找左邊的全角雙引號,查找右邊的全角雙引號,只需把 “ 改為 ”,但要注意,Excel 的默認(rèn)字體不會顯示全角雙引號,需要把字體設(shè)置為中文字體(如“宋體”)才會顯示。
(五)開始查找位置不在范圍內(nèi)導(dǎo)致 #VALUE! 錯(cuò)誤的實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCH("基礎(chǔ)",A1,0) 復(fù)制到 B1,按回車,返回值錯(cuò)誤 #VALUE!;雙擊 B1,將 0 改為 1,按回車,返回14;再次雙擊 B1,將 1 改為 17,按回車,返回 #VALUE!;操作過程步驟,如圖6所示:

圖6
2、公式說明:
A、公式 =SEARCH("基礎(chǔ)",A1,0) 中的 0 表示從第 0 個(gè)字符開始查找,但Search函數(shù)要求至少要從第 1 個(gè)字符開始查找,因此返回錯(cuò)誤;把 0 改為 1 后,立即返回“基礎(chǔ)”在 A1 中的正確位置。
B、公式 =SEARCH("基礎(chǔ)",A1,17) 從第 17 個(gè)字符開始查找,但 A1 中的字符只有 16 個(gè),所以返回錯(cuò)誤。
(六)查找不到文本返回錯(cuò)誤及處理方法實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCH("3",A1) 復(fù)制到 B1,按回車,返回值錯(cuò)誤 #VALUE!;再次雙擊 B1,把公式改為 =IFERROR(SEARCH("3",A1),"未找到"),按回車,返回“未找到”;操作過程步驟,如圖7所示:

圖7
2、公式說明:
A、公式 =SEARCH("3",A1) 要在“Excel 2016 函數(shù)基礎(chǔ)教程”中查找 3,但沒有找到,所以返回值錯(cuò)誤。
B、在公式 =IFERROR(SEARCH("3",A1),"未找到") 中,IfError函數(shù)用于 SEARCH("3",A1) 執(zhí)行出錯(cuò)時(shí)的處理,如果 SEARCH("3",A1) 返回錯(cuò)誤,則 IfError 返回“未找到”,否則返回 SEARCH("3",A1) 的返回值。
三、Excel SearchB函數(shù)的使用方法及實(shí)例
(一)使用通配符星號 * 的實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCHB("o*n",A1) 復(fù)制到 B1,按回車,返回 13;再次雙擊 B1,在 A1 后輸入“,14”,按回車,返回16;操作過程步驟,如圖8所示:

圖8
2、公式說明:
A、公式 =SEARCHB("o*n",A1) 中,查找文本 o*n 使用了 *,表示查找以 o 開頭且以 n 結(jié)尾的字符串,返回值為 13 ,是 A1 中 on 的位置。
B、公式 =SEARCHB("o*n",A1,14) 同樣是查找 o*n,但從第 14 個(gè)字符開始查找,因此返回單詞 option 的位置 16。
(二)使用通配符問號 ? 的實(shí)例
1、雙擊 B1 單元格,把公式 =SEARCHB("o????n",A1) 復(fù)制到 B1,按回車,返回 16;雙擊 B2,把公式 =SEARCHB("函????????程",A2) 復(fù)制到 B2,按回車,返回 12;作過程步驟,如圖9所示:

圖9
2、公式說明:
A、公式 =SEARCHB("o????n",A1) 的查找文本 o????n 中使用了四個(gè)問號 ?,每個(gè)問號代表一個(gè)字符,意思是:在 A1 中查找以 o 開頭且以 n 結(jié)尾并且 o 與 n 之間只能有四個(gè)字符的字符串。
B、公式 =SEARCHB("函????????程",A2) 的查找文本“函????????程”中,“函與程”之間有八個(gè)問號,每個(gè)問號代表一個(gè)字節(jié)(即一個(gè)半角字符),由于“函與程”之間有四個(gè)字漢字,每個(gè)漢字占兩個(gè)字節(jié),因此四個(gè)漢字要八個(gè)問號。
四、Excel Search函數(shù)和SearchB函數(shù)的應(yīng)用實(shí)例
(一)Mid + Search函數(shù)組合實(shí)現(xiàn)截取指定字符串
1、假如要從“Excel function Excel 2016 函數(shù)基礎(chǔ)教程 option tutolail”中截取“Excel 2016 函數(shù)基礎(chǔ)教程”。雙擊 A2 單元格,把公式 =MID(A1,SEARCH("e*l",A1,5),SEARCH("程",A1)-SEARCH("e*l",A1,5)+1) 復(fù)制到 A2,按回車,返回“Excel 2016 函數(shù)基礎(chǔ)教程”;操作過程步驟,如圖10所示:

圖10
2、公式 =MID(A1,SEARCH("e*l",A1,5),SEARCH("程",A1)-SEARCH("e*l",A1,5)+1) 說明:
A、SEARCH("e*l",A1,5) 用于從 A1 中第 5 個(gè)字符開始查找以 e 開頭且以 l 結(jié)尾的單詞,即截取要查找字符串的開頭單詞 Excel,由于在此單詞之前已經(jīng)有一個(gè) Excel,因此要從第 5 個(gè)字符開始以跳過第一個(gè) Excel;SEARCH("e*l",A1,5) 的返回值為 16。
B、SEARCH("程",A1) 用于返回要截取字符串的最后一個(gè)字“程”字在 A1 中的位置,結(jié)果為 32;SEARCH("程",A1)-SEARCH("e*l",A1,5)+1 用于計(jì)算要截字符串的長度,代入值為 32 - 16 + 1 = 17,如果僅用 32 - 16,截得的字符串會少一個(gè),所以要加 1。
C、則公式變?yōu)?=MID(A1,16,17),最后從 A1 中從第 16 個(gè)字符開始截取 17 個(gè)字符,即截得“Excel 2016 函數(shù)基礎(chǔ)教程”。
提示:MidB + SearchB 也可以實(shí)現(xiàn)同樣功能,公式可以這樣寫:=MIDB(A1,SEARCHB("e*l",A1,5),SEARCHB("程",A1)-SEARCHB("e*l",A1,5)+LENB("程")),由于每個(gè)漢字占兩個(gè)字節(jié),因此后面要加 2,即 LENB("程")。
(二)Count + Search函數(shù)組合實(shí)現(xiàn)統(tǒng)計(jì)一列中包含指定文本的單元格數(shù)
1、假如要統(tǒng)計(jì) A 列中包含指定字符的單元格個(gè)數(shù)。雙擊 A11 單元格,把公式 =COUNT(SEARCH("*"&C2&"*",A$2:A$10)) 復(fù)制到 A11,按Ctrl + Shift + 回車,返回 4;操作過程步驟,如圖11所示:

圖11
2、公式 =COUNT(SEARCH("*"&C2&"*",A$2:A$10)) 說明:
A、"*"&C2&"*" 表示查找中間包含 C2 且兩邊為任意字符的文本,* 也可以表示空文本(即 "")。
B、A$2 是對列的相對引用對行的絕對引用,2 前的 $ 表示絕對引用,即往下拖時(shí),A2 不會變 A3、A4 等;A$2:A$10 以數(shù)組形式返回 A2 至 A10 中的所有值。
C、SEARCH("*"&C2&"*",A$2:A$10) 執(zhí)行時(shí),"*"&C2&"*" 變?yōu)?"*襯衫*";接著,第一次從 A2 至 A10 中取出 A2,然后在 A2 中查找 "*襯衫*",由于找到了,因此返回 1;第二次取出 A3,沒有找到 "*襯衫*",所以返回值錯(cuò)誤 #VALUE!;其它的以此類推,最后返回?cái)?shù)組 {1;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;1}。
D、則公式變?yōu)?=COUNT({1;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;1}),最后統(tǒng)計(jì)數(shù)組中的元素個(gè)數(shù),由于 #VALUE! 不統(tǒng)計(jì),所以統(tǒng)計(jì)結(jié)果為 4。
(三)Sum + IsNumber + Search函數(shù)組合實(shí)現(xiàn)一次查找多個(gè)值
1、假如要一次同時(shí)查找 4 個(gè)值。雙擊 A2 單元格,把公式 =SUM(ISNUMBER(SEARCH({"excel","函數(shù)",2016,2019},A1))*1) 復(fù)制到 A2,按回車,返回查找結(jié)果 3;操作過程步驟,如圖12所示:

圖12
2、公式 =SUM(ISNUMBER(SEARCH({"excel","函數(shù)",2016,2019},A1))*1) 說明:
A、SEARCH({"excel","函數(shù)",2016,2019},A1) 的找查找文本是一個(gè)包含 4 個(gè)元素的數(shù)組,即要在 A1 中查找 4 個(gè)值;執(zhí)行時(shí),第一次從數(shù)組中取第一個(gè)元素 excel,接著在 A1 中查找,返回結(jié)果為 1;第二次從數(shù)組中取第二個(gè)元素“函數(shù)”,也在 A1 中查找,結(jié)果為 27;其它的以此類推,最后返回 {1,27,22,#VALUE!},因在 A1 中找不到 2019,因此返回 #VALUE!。
B、則公式變?yōu)?=SUM(ISNUMBER({1,27,22,#VALUE!})*1),接著,用 IsNumber 檢查數(shù)組中的元素是否為數(shù)字,如果是,返回 True,否則返回 False;則公式變?yōu)?=SUM({TRUE,TRUE,TRUE,FALSE}*1),進(jìn)一步計(jì)算用數(shù)組中的每個(gè)元素與 1 相乘,相乘時(shí),True 轉(zhuǎn)為 1、False 轉(zhuǎn)為 0,則公式變?yōu)?=SUM({1,1,1,0}),最后把數(shù)組中的每個(gè)元素相加,結(jié)果為 3。
(四)Index + Match + IsNumber + Search函數(shù)組合實(shí)現(xiàn)返回兩列匹配的對應(yīng)單元格
1、如果 A 列的“貨號”中含有 B 列“批次”,則返回對應(yīng)的“數(shù)量”。雙擊 D2 單元格,把公式 =INDEX(C$2:C$8,MATCH(1=1,ISNUMBER(SEARCH(B$2:B$8,A2)),)) 復(fù)制到 D2,按回車,返回 870;選中 D2,把鼠標(biāo)移到 D2 右下角的單元格填充柄上,鼠標(biāo)變?yōu)榧犹柡螅醋∽箧I然后往下拖,則返回剩余的“數(shù)量”;操作過程步驟,如圖13所示:

圖3
2、公式 =INDEX(C$2:C$8,MATCH(1=1,ISNUMBER(SEARCH(B$2:B$8,A2)),)) 說明:
A、B$2:B$8 以數(shù)組形式返回 B2 至 B8 中的值,即 {"A";"B";"C";"D";"E";"F";"G"};則 SEARCH(B$2:B$8,A2) 變?yōu)?SEARCH({"A";"B";"C";"D";"E";"F";"G"},A2),接著從數(shù)組中取出每個(gè)元素,然后在 A2 中查找,如果找到返回 1,否則返回 #VALUE!;最后返回 {#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!}。
B、則 ISNUMBER(SEARCH(B$2:B$8,A2)) 變?yōu)?ISNUMBER({#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!}),進(jìn)一步計(jì)算,用 IsNumber 判斷數(shù)組的每個(gè)元素,如果是數(shù)字的返回 True,否則返回 False;最后返回 {FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}。
C、1=1 用于返回 True,因?yàn)?IsNumber 返回的數(shù)組元素就是 True 和 False,這樣便于判斷。
D、則 MATCH(1=1,ISNUMBER(SEARCH(B$2:B$8,A2)),) 變?yōu)?MATCH(TRUE,{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE},),接著,在數(shù)組中查找 True,找到后返回它在數(shù)組中的位置,最后返回 4。
E、則公式變?yōu)?=INDEX(C$2:C$8,4),最后用Index函數(shù)返回 C2 至 C8 中第四行的值,即返回 870。
Office辦公軟件是辦公的第一選擇,這個(gè)地球人都知道。
|