MAX不是求最大值的函數嗎?什麼時候成了「查詢界的黑馬」?還讓VLOOKUP都甘拜下風了?以下這篇文章就來帶大家深入了解MAX的查詢功能,希望對大家有幫助!
大家都知道VLOOKUP可以按給定的內容去匹配到我們所需的數據,正因為如此,它在函數界有了很大的名氣。但今天要分享的三個範例,如果使用VLOOKUP去配對資料的話,就有些麻煩了(有興趣的朋友可以自己試試看)。就在VLOOKUP頭痛不已的時候,MAX函數二話不說,只用了一個套路就把三個問題都解決了。
可能有些小夥伴會好奇,MAX不是求最大的函數麼,它怎麼能解決VLOOKUP都搞不定的問題呢?還有這個套路又是什麼呢?一起往下看看就明白了…
範例1:在業務明細表中找出每個經銷商最近一次的業務日期
為了方便理解問題,資料來源只保留了經銷商和業務日期兩列數據,現在需要得到每個經銷商最近一次發生業務的日期。 (提示:資料來源中的業務日期是升序排列的。)
#不知道使用VLOOKUP該怎麼解決問題呢? MAX使出的套路是這樣的:
=MAX(($A$2:$A$18=D2)*$B$2:$B$18)
輸入方法請看動畫示範:
注意這個公式在輸入後要同時按住Ctrl和Shift鍵再回車,公式會自動出現大括號。
如何理解這個公式是大家最關心的問題,其實原理很簡單,首先做一個比較,看看A列有哪些數據和我們需要判斷的供貨商一致,也就是$A$2: $A$18=$D2這部分的作用。在編輯欄選取這部分公式,按下F9鍵就能看到公式的計算結果。
可以看到公式的結果是一組邏輯值,當A列的內容與要匹配的經銷商一致時得到TRUE,不一致則為FALSE。
接下來就是用這一組邏輯值與B列的業務日期做乘法(Excel中的日期的本質上是數字哦),TRUE在進行運算時與數字1相同,FALSE在進行運算時與數字0相同,因此計算結果是這樣的。
在得到的這組數字中,0表示沒有匹配到對應的經銷商時返回的值,而不為0的這些數字表示匹配到對應的經銷商後回傳的業務日期。其中最大的值就是最近的一次日期,因此MAX就能輕易的得到最終結果。
如果你做出來的結果不是日期而是數字的話,把儲存格格式改成日期格式就沒問題了。
範例2:依照工號或姓名得到對應的獎金
通常在進行資料比對時,是用一個固定的條件進行查找。而在這個例子中,我們的條件是二者之一。
不管是工號還是姓名,都可以得到對應的獎金。
不知道VLOOKUP該如何解決這個問題?反正MAX還是一樣的套路:
=MAX(($A$2:$B$13=E2)*$C$2:$C$13)
公式的輸入方法和原理不再贅述,與範例1完全一樣,再來看看範例3。
範例3:依照姓名找到對應的分組代碼
#每一組有四位組員,依照組員姓名找到所屬分組的代碼。
如果說前兩個例子VLOOKUP還想掙扎著折騰一下的話,這個例子直接就能讓VLOOKUP找不到北了。 MAX還是沿用了老套路:
=MAX(($B$2:$E$4=A7)*$A$2:$A$4)
怎麼樣,MAX函數的這個套路是不是很強!
要使用這個套路需要注意以下兩點:
1. 找出結果為數字;
2. 注意判斷條件的區域與結果所在區域的選取一定要準確,並且要進行鎖定。
那麼問題來了,如果要找的結果不是數字呢?
這時候光靠MAX就無法應付了,需要藉助IF或其他函數才能滿足需要,關於這方面的案例,我們以後再介紹。
相關學習推薦:excel教學
以上是Excel函數學習之查詢界的黑馬-MAX()!的詳細內容。更多資訊請關注PHP中文網其他相關文章!