MATCH函數是我們在進行數據查詢時候,常用到的一個函數,我們來看看這個函數完整的使用方法!
本文内容有點多,建議各位先保存再看。
01
函數表達式
MATCH函數的表達式是:MATCH(查找的值, 查找的區域, 精确查找或模糊查找)
這個表達式是什麼意思呢,我們下面結合兩個具體的應用場景來看一下。
02
用法詳解
一、查找縱列位置
我們用酒店這個表為例,來看看用MATCH函數是如何幫我們查詢的。
我們選中所有的酒店,在名稱這裡定義這個區域為酒店。
然後我們在I14的單元格,選擇菜單欄上的數據,數據驗證,選擇序列,然後在來源這裡按F3,選擇酒店,确定,這樣我們就可以建立一個下拉的選項卡了。
之後我們用match函數來查找這個酒店,位于酒店序列裡的第幾個。
我們就輸入match函數,然後選擇I14,再選擇A5到A12,最後是0,回車,最後結果就會返回這個酒店位于序列當中的第幾個。
最後結果是4,說明它排在序列當中的第四個。
二、查找橫列位置
我們選中月份這一行,定義這一行為月份。
建立選擇數據驗證,選擇序列,然後在來源這裡按F3,選擇月份,确定。
我們輸入一個match函數,然後查找4月份位于月份序列當中的第幾個,最後是0,返回的結果是4.
就說明4月在月份序列當中的第四個。
以上就是MATCH函數的常見用法。
那這裡就有同學可能會有疑問了,最後一個參數,也就是查找的類型除了0之外,其他的用法是怎麼用的呢?
下面我們就來看看它的其他查找模式。
三、降序查找
在下面的案例當中,我們要查找銷售額大于指定數值的數量,比如我們指定的銷售額是4000.
我們想知道銷售額大于4000的,一共有多少個,我們就可以利用MATCH函數降序查找的模式。
首先我們先對原本的銷售額數據,設置成降序排列的模式,也就是數值從高到底排列。
之後我們在F18單元格錄入函數公式:=MATCH(E18,C18:C27,-1)
得到的結果是4,也就是說明銷售額大于4000的,一共有4個。
四、升序查找
在下面的案例當中,我們要查找銷售額小于指定數值的數量,比如我們指定的銷售額是4000.
我們想知道銷售額小于4000的,一共有多少個,我們就可以利用MATCH函數升序查找的模式。
首先我們先對原本的銷售額數據,設置成升序排列的模式,也就是數值從低到高排列。
之後我們在F32單元格錄入函數公式:=MATCH(E32,C32:C41,1)
得到的結果是6,也就是說明銷售額小于4000的,一共有6個。
五、查找重複值
有兩列數據,如果我們想知道這兩列數據有沒有重複的數值,我們也可以利用MATCH函數精确查找的特性來進行查找。
比如上面的案例,我們想知道編号1和編号2兩列的數據是否有重複,我們就可以錄入下面的公式。
=IFERROR(MATCH(C46,$B$46:$B$55,0),"唯一值")
這公式表示,先去查找C46單元格的值,看它在B46到B55這個區間能不能找到,如果能找到,就返回具體的行号,如果找不到,就返回唯一值。
通過這個公式,我們就可以知道兩列數據有那些是重複的,那些是唯一的,重複的數據又在哪個位置。
六、與VLOOKUP函數結合
MATCH函數的作用在于,查找某個字段在它所在字段當中的序号。
比如在下面這個案例當中,我們查找【班級】字段在所在字段列表當中的第幾列,我們就可以使用函數:
=MATCH(D23,B23:G23,0)
得到的結果就是3,表示班級在所有字段當中的第三列。
這個功能有什麼用呢,它就可以解決VLOOKUP函數第三個參數不能引用的問題。
在前面這個案例當中,正是VLOOKUP函數第三個參數不能引用,所以才導緻結果錯誤。
我們可以借助MATCH函數,先計算出每個字段位于字段列表當中的第幾個,再嵌套到VLOOKUP函數裡面,這樣我們就不用手動更改第三個參數了。
最終公式為:=VLOOKUP($I24,$B$24:$G$31,MATCH(J$23,$I$23:$N$23,0),0)
其中:MATCH(J$23,$I$23:$N$23,0)部分,則是計算每個字段位于字段列表當中的第幾個。
這樣我們就通過函數讓第三個參數具備了引用的屬性。
七、與INDEX函數結合
在前面的酒店的案例當中,我們通過MATCH函數已經得知,酒店在第四行、月份在第四列。
那麼可以結合INDEX函數,算出具體的數值。
Index函數它的表達式是:INDEX(查找的區域,第幾行,第幾列)
我們在這裡就用來查找宜居酒店4月份的銷量,輸入index函數,選擇數據區域(B5到M12),注意這裡不包括酒店和月份,然後是第3行,第四列,最後返回的結果就是100.
以上就是MATCH函數的常見用法,希望對大家有所幫助!
感興趣私信回複【練習146】免費領取模闆~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!