絕對被低估的Excel函數:MATCH

查找函數上一期

説到Excel的查找函數,人們總會想起vlookup。的確,vlookup非常方便實用,一個函數就能查到想要的值。但vlookup有排序的限制,所以人們忽略了,還有一套用法更靈活的函數可以用。

 

MATCH

下面讓我來隆重介紹,今日的主角——MATCH函數。

在Microsoft的官網中,給MATCH下的定義是“在引用或數組中查找值”。這裏的值指的不是像vlookup函數那樣返回相應單元格的值,而是返回該值在區域中的位置

       

     

位置的表現形式為數字,排在第一個就是1,排在第二個就是2,……第一百位就是100。我們暫時不去思考這個數字有什麼用,先看下這個函數的語法。

語法:

MATCH(lookup_value, lookup_array, [match_type])

解釋一下即:

MATCH(要查找的值, 查找的區域, 查找方式)

參數三可以是{0,1,-1}

若參數三為0,參數二可以為任何順序

若參數三為1,參數二必須為升序,參數三可忽略

若參數三為-1,參數二必須為降序

該函數可以忽略錯誤值

       

絕對被低估的Excel函數:MATCH

       

     

 

看起來公式比vlookup更長了,但也有相應的好處,比如無需為了查找首列而改變數據的位置,無需特地排序等。

 

OFFSET

OFFSET這個函數就有趣了,官方給的定義是“從給定引用中返回引用偏移量”。如果把單元格看做數學裏的數軸,那麼OFFSET就是指定座標(0,0)再按規則偏移,返回偏移的單元格。

       

     

語法:

OFFSET(reference, rows, cols, [height], [width])

解釋:

OFFSET(參照點/起點, 偏移的行, 偏移的列, [框選的行數], [框選的列數])

參數二、三可以為負數,但參數四、五必須為正

若參數四、五被省略,則寬度與高度與參數一相同

將MATCH與OFFSET組合,寫出公式:

=OFFSET($A$2,MATCH($H$4,$A$3:$A$22,0),MATCH(I$3,$B$2:$F$2,0))

       

絕對被低估的Excel函數:MATCH

     

       

     

 

OFFSET的優缺點和INDEX類似,看起來公式比vlookup更長,但也無需為了查找首列而改變數據的位置,無需特地排序。

 

總結

雖然可以和MATCH函數打配合的還有CHOOSE、INDIRECT等等,但個人感覺還是INDEX或OFFSET更加常用。VLOOKUP作為查找函數非常好用,但也有自身的侷限,比如只能查到第一個,無法查重名、有時還需要改變數據結構或排序等。

MATCH雖不能直接查重複項,但可以將原有的範圍減去第一個數據所在的範圍,然後再查剩下的範圍。而且不用特別關注排序問題,或者位置需不需要改動的問題,可謂更加靈活多變。

當然,函數説到底還是要解決實際問題。根據實際需求來寫函數,不同的思路可以得到不一樣的答案,這也是我列出所有解法的原因——沒有絕對正確的答案,最重要的是思路。

最後我會將這個表上傳,需要的朋友可以自取。我是小若,我們下期見。

 

查找函數示例鏈接提取碼: rvnr 

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 1281 字。

轉載請註明: 絕對被低估的Excel函數:MATCH - 楠木軒