-
1 # wangsir1121
-
2 # 罌粟姐姐
Excel萬用字元是一種神奇的存在,就像紙牌遊戲鬥地主中的癩子一樣,可以任意搭配,威力強大。
尤其是當你只知道關鍵字元,不知道完整字元或者懶得輸入完整的字元時,就可以用萬用字元代替。
1、什麼是萬用字元?
萬用字元是一類鍵盤字元,主要有星號(*)和問號(?)兩種。
星號(*):代替0個或多個字元。
問號(?):代替一個字元。(“?”必須為英文輸入條件下的問號)
所以,星號表示匹配的數量不受限制,而問號的匹配字元數則受到限制,多少個問號代表多少個字元。
例如:
萬用字元案例2、查詢替換時使用萬用字元
案例,現有一份班級成績表。
任務1:找到所有慕容姓的同學。
查詢過程任務2:找到名字兩個字且姓王的同學。
步驟1:Ctrl+A全選資料區域。步驟2:Ctrl+F開啟查詢和替換對話方塊,在查詢內容對話方塊中輸入“王?”步驟3:開啟【選項】,勾選單元格匹配(注意:一定要勾選單元格匹配,如果不勾選擇,EXCEL會理解為只要是包含“王”的單元格都給找出來)步驟4:點選查詢全部。3個查詢結果。
查詢過程3、高階篩選時使用萬用字元
案例,現有一份班級成績表。
任務:將滿足以下任意一個條件的資料記錄篩選出來。1、姓名欄位包含括號;2、姓名為3個字且高數成績大於等於85;3、英語成績大於等於75
步驟1:在G1:K4區域設定篩選條件。縱向為條件1、條件2、條件3,橫向為空格、姓名、高數、英語。步驟2:在條件1-空格H2單元格中輸入公式=FIND("(",C2),表示選擇姓名欄位中包含括號的記錄。步驟3:在條件2-姓名I3單元格中輸入“"=???”,表示選擇名字為3個字的記錄。步驟4:在條件2-高數J3單元格中輸入“>=85”,表示高數成績大於等於85的記錄。步驟5:在條件3-英語K4單元格中輸入“>=75”,表示英語成績大於等於75的記錄。步驟6:選擇【資料】-【高階】-【高階篩選】對話方塊,單擊【將篩選結果複製到其他位置】,在【條件區域】內選取H1:K4單元格區域,將資料複製到G6單元格,單擊【確定】。
計算過程計算結果4、結合公式使用萬用字元
案例,現有一份班級成績表。
任務1:計算王姓同學的個數。
步驟:在G5單元格輸入公式“=COUNTIF(C2:C19,"王*")”,計算結果為6。
任務2:計算高數成績75分以上、英語成績70分以上、王姓同學的個數。
步驟:在G11單元格輸入公式“=COUNTIFS(C2:C19,"王*",D2:D19,">75",E2:E19,">70")”,計算結果為4。
計算結果Vlookup,Countif,Sumif,Match等等這些函式都支援萬用字元,非常方便且強大。
Excel萬用字元的幾種用法講完了,大家一定要牢牢記住?代表1,*代表0和N。
-
3 # 蓉城斌哥
Excel中我們有時查詢資料時發現我們查詢的資料並不完全,或是我們記憶的並不清楚,我們該如何辦呢?實際上我們並不用擔心,Excel還具有模糊查詢的功能哦。
工具/原料電腦一臺有Excel即可方法/步驟我們在這個成績表中想查詢馬x的成績,但是我們不知道具體的名字,只知道他姓馬,並且名字只有兩個字。首先我們要知道在查詢中?代表任意一個字元。*代表無限多個字元。
我們運用快捷鍵ctrl+F操作,在視窗中輸入馬?。注意“?”為英文下的?哦。然後我們將選項中的單元格格式匹配勾上,因為我們“馬?”是兩個字,如果不匹配的話我們會選擇到三個字的。
我們透過搜尋後發現馬麗就是我們需要找的人,我們的單元格會自動的跳到馬麗這一欄,我們可以檢視相關資訊。
現在我們知道一個人在廣州什麼公司工作,我們不知道這個公司的名字,反正裡面有一個廣州,不知道後面有多少字,這時我們可以使用模糊查找了。
我們還可以設定我們查找出資訊的格式,我們在替換中將底色改為藍色,確定後我們再看看。
回覆列表
EXCEL按CTRL+F調出查詢和替換選單,一般使用萬用字元進行模糊查詢與替換。
在Excel中萬用字元有3個,分別為?(問號)、*(星號)、~(波形符)。其中,?(問號)可代表任意單個字元;*(星號)可代表任意數量的字元;~(波形符)後可跟 ?、* 或 ~ 問號、星號或波形符,例如,“AK47~?”可找到“AK47?”
例如要查詢張三丰、張三,CTRL+F調出查詢與替換選單,查詢內容輸入“張*”或“張?”,都會找到張三丰、張三。這裡看不出“?”和"*"的區別,因為查詢替換功能會顯示所有滿足條件的結果。
函式方面,VLOOKUP函式、SEARCH、MATCH函式都支援萬用字元查詢。當查詢區域有唯一數字值,SUMIF/SUMIFS也可以用來查詢,這兩個函式都支援萬用字元。
用VLOOKUP函式查詢第一個非空值,如圖
B2輸入=VLOOKUP("?*",A2:A11,1,)
這裡*代表任意數量字元,如果只寫一個*,那麼會得到空值,用?*代表非空值。
當然B2輸入=INDEX(A2:A11,MATCH("?*",A2:A11,))也可以得到結果。
同樣查詢第一個非空值,我們換一下資料,如圖
結果顯示錯誤值,原因是VLOOKUP函式只支援文字型資料的萬用字元查詢,不支援數值型資料的萬用字元查詢。我們只需要修改公式:=VLOOKUP("?*",A2:A11&"",1,),注意這是個陣列公式,需要按ctrl+shift+enter,如圖
同樣這裡B2如果輸入=INDEX(A2:A11,MATCH("?*",A2:A11,)),也會得到錯誤值,因為MATCH函式也只支援文字型資料的萬用字元查詢,修改公式為=INDEX(A2:A11,MATCH("?*",A2:A11&"",)),然後按ctrl+shift+enter也可以得到結果。
利用SUMIF/SUMIFS萬用字元查詢,如圖資料
我們要查詢張三的工資,E2可以輸入=SUMIF(A2:A6,"張?",B2:B6)
如果查詢張三丰的工資,E2可以輸入=SUMIF(A2:A6,"張??",B2:B6)
如果E2輸入=SUMIF(A2:A6,"張*",B2:B6),就會計算張三和張三丰的工資和。
當然SUMIF可以全部換成SUMIFS,例如F2輸入=SUMIFS(B2:B6,A2:A6,"張?"),
就會得到張三的工資。F2輸入=SUMIFS(B2:B6,A2:A6,"張??"),就會得到張三丰的工資。
這個例子也可以用VLOOKUP完成,E2輸入=VLOOKUP("張?",A:B,2,0),就可以得到張三的工資。E2輸入=VLOOKUP("張??",A:B,2,0),就可以得到張三丰的工資。
我們再來看看字元模糊查詢和替換的函式方法。
查詢所有13打頭的電話號碼,如圖
選擇B2:B25,輸入=IFERROR(INDEX(A2:A24,SMALL(IF(ISNUMBER(SEARCH("13*",A2:A25)),ROW(1:24),4^10),ROW(1:24))),""),然後按ctrl+shifit+enter.
這裡用最經典INDEX+SMALL+IF實現一對多查詢,其中用ISNUMBER(SEARCH("13*",A2:A25)來構建行標,當然這裡還可以用LEFT(A2:A25,2)="13"來構建行標。
還是繼續這個例子,如果我們要替換所有13打頭的前三位為137,不是13打頭的保持不變。如圖
選擇B2:B25,輸入
=IF(LEFT(A2:A25,2)="13",REPLACE(A2:A25,1,3,137),A2:A25),然後按ctrl+shifit+enter.
我們再來看一個例子,如圖,計算工時總和。
C2輸入
=TEXT(SUM(--SUBSTITUTE(SUBSTITUTE(IF(ISNUMBER(FIND("小時",B2:B6)),B2:B6,"0小時"&B2:B6),"小時",":"),"分",)),"[h]小時mm分"),然後按ctrl+shifit+enter.
公式解釋:這裡用IF(ISNUMBER(FIND("小時",B2:B6)),B2:B6,"0小時"&B2:B6)把只有XX分鐘的時間轉換為標準時間。有的小夥伴就問,只有小時沒有分的為什麼不轉換為XX小時00分?因為替換小時為:,替換分為空以後,再用--轉換為數值,1:會自動變為1:00,數值的時間就可以用SUM求和,最後用TEXT函式的"[h]小時mm分"引數轉換為XX小時XX分。