一文讀懂Excel通配符
什么是通配符
Excel中一共有三種類型的通配符,分別為“*”,“?”,“~”。
“*”:代表任何的字符。
“?”:代表任何的單個字符。
“~”:代表解除字符的通配性。
Excel筆記:通配符要在英文狀態(tài)下輸入
通配符的作用是進(jìn)行模糊的查找或者部分替代。
例如你要查找一個人,只記得姓”張”,最后一個字是”豐”,中間不確定的部分可以用通配符“*”代替,用“張*豐”去篩選查找。
除了記得第一個和最后一個字,還記得是四個字的名字,那么中間兩個字可以用通配符”??”來代替,用“張??豐”去篩選查找,中間是一個字的這部分被排除掉。

通配符在Excel中的應(yīng)用主要有三處:查找替換(Ctrl+F),篩選,公式。
查找中的匹配規(guī)則和篩選/公式略有不同。以如下關(guān)鍵字“北京”為例:

通配符應(yīng)用于查找
通過查找對話框分別查找以下三個值:“北京*”,“*北京”,“*北京*”,其結(jié)果完全一樣,只要包含“北京”的單元格都會被查找。

查找“北京*北京”時,只要包含2個“北京”的單元格都會被查找。


通配符應(yīng)用于篩選
篩選“北京*”,匹配以北京開頭的項;
篩選“*北京”, 匹配以北京結(jié)尾的項;
篩選“*北京*”, 匹配包含北京的項。

篩選“北京*北京”,匹配以北京開頭和北京結(jié)尾的項。注意,這和應(yīng)用于查找不一樣,“離開北京的老北京人”不能被匹配,因為結(jié)構(gòu)上不滿足以北京開頭,以北京結(jié)尾。

要篩選1開頭的數(shù)據(jù),不能直接用1,而要用”1*”


通配符應(yīng)用于函數(shù)
如下所示,COUNTIF可以直觀地看出函數(shù)中的匹配規(guī)則和篩選完全一致。
對“北京*”計數(shù),匹配以北京開頭的3項;
對“*北京”計數(shù),匹配以北京結(jié)尾的3項;
剩下兩個同理可推。

支持通配符的函數(shù)大概有以下幾類:
查詢類
VLOOKUP,HLOOKUP,XLOOKUP,MATCH,XMATCH,SEARCH,SEARCHB.
Excel筆記:XLOOKUP和XMATCH使用通配符時需對特定參數(shù)進(jìn)行設(shè)置。
如下案例中,XLOOKUP的第五參數(shù)需要設(shè)置為”2”.
=XLOOKUP("察布"&"*",A2:A15,A2:A15,,2)

條件類
諸如條件求和,條件計數(shù),條件平均等函數(shù),“條件”中可以包含通配符進(jìn)行模糊匹配運算。
包括:SUMIF,SUMIFS,COUNTIF,COUNTIFS,AVERAGEIF,
AVERAGEIFS,DPRODUCT,DSTDEVP,DSUM,MAXIFS,MINIFS等。
如要對包含關(guān)鍵字“成都”的數(shù)值求平均值:

“?”可以進(jìn)一步指定不確定部分的字符數(shù),如下案例中,需要查詢工號5位數(shù),等級大于9的員工數(shù)量。
COUNTIFS的第一個條件“AST?????”限定AST后必須是5個數(shù)字,”GS??”則排除等級小于10的部分。

求和函數(shù)的應(yīng)用十分廣泛,SUMIFS可以根據(jù)多個條件求和,所有條件都可以使用通配符。
如下案例中的條件是“12月“和”成都“:
"????12*"表示第4第5位為12,后續(xù)則不做任何限制;
"*成都*"包含關(guān)鍵字“成都“。


取消通配屬性
眾所周知,任何一個符號不可能只為一個作用單獨存在,*也可以表示乘法,或作為特殊的分隔符號存在。
如下案例中,VLOOKUP的查詢結(jié)果顯然是錯誤的,公式中的”*”被當(dāng)作通配符使用,但實際上它只是一個分隔符而已。

此時需要用到另一個特殊符號:波浪號”~”.
Excel筆記:”~”用于解除通配符(”*”和”?”)的統(tǒng)配屬性。
在上述公式中的”*”前加上”~”,此時的”*”不再被當(dāng)作通配符使用:

統(tǒng)配的本質(zhì)可以概括為模糊查找。
查詢信息中部分明確,部分模糊,就要考慮通配符了。