Excel中的MAX函數,相信大家都有用過,作用是用來求一組數據中的最大值。但除了這個功能之外,還有一個大家所不知道的隱藏技巧,用來查詢數據。
查詢數據,大家的第一反應都是用VLOOKUP或LOOKUP,雖然這兩個函數的功能已足夠強大,但有時候有些查詢VLOOKUP是無法解決的,例如:查找公司員工一天中最晚一次打卡時間,用VLOOKUP無法解決,但是用MAX函數,一下子就搞定。
下面講兩個用MAX函數查找的例子,記得點贊轉發哦~
實例1:在考勤表中求出每個員工一天內的最晚打卡時間。
要求:下圖中A列和B列單元格區域是員工上班的打卡時間,我們要在E列中求出每一個員工一天中最晚一次打卡的時間。
具體操作步驟如下:
1、選中E2單元格 -- 在編輯欄中輸入公式「=MAX(($A$2:$A$18=D2)*$B$2:$B$18)」-- 按組合鍵「Ctrl+Shift+Enter」結束公式。
2、選中E2單元格 -- 將滑鼠光標定位到單元格右下角,出現「十」字符號按快捷鍵「Ctrl+E」填充公式,即可得到每個員工最後一次打卡時間。
3、動圖演示如下。
【公式解析】
$A$2:$A$18=D2:判斷A列單元格內容有哪些是與D2單元格內容相等的,如果相等,返回TRUE,否則,返回FALSE。我們在編輯欄中選中$A$2:$A$18=D2,即可看到公式返回的結果。
($A$2:$A$18=D2)*$B$2:$B$18:如果$A$2:$A$18=D2返回TRUE,與B列的內容相乘,返回B列對應單元格的值,如果$A$2:$A$18=D2返回FALSE,與B列的內容相乘,結果為0。
這道題除了使用MAX函數,其實我們也可以使用LOOKUP函數。
具體操作步驟如下:
1、選中E2單元格 -- 在編輯欄中輸入公式「=LOOKUP(1,0/($A$2:$A$18=D2),$B$2:$B$18)」-- 按回車鍵回車。
2、選中E2單元格 -- 將滑鼠光標定位到單元格右下角,出現「十」字符號按快捷鍵「Ctrl+E」填充公式,即可得到每個員工最後一次打卡時間。
3、動圖演示如下。
【公式解析】
$A$2:$A$18=D2判斷這個區域中是否等於D2單元格的姓名,如果是,返回TRUE,否則,返回FALSE。TRUE=1,FALSE=0。利用LOOKUP的特性(忽略錯誤值),所以用0除TRUE和FALSE,0/($A$2:$A$18=D2)滿足條件返回0,不滿足返回錯誤值。公式變成「=LOOKUP(1,0/{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;0;0;#DIV/0!;#DIV/0!;},$B$1:$B$2)」。
可以看到以上公式的數組中只返回3個0,其他都是錯誤值。二分法使得LOOKUP只能找到不大於查找值的最後一個數字,因此只能找到0,最後根據0的行位置(第14-16行)得到第3個參數對應位置的數據,而MAX可以返回數值中的最大值,所以返回B16單元格的內容。
實例2:根據學號或姓名查找對應的測評總分。
要求:下圖中A1:D10單元格區域是學生信息表,我們要在G列中求出學號或姓名對應的測評總分。
具體操作步驟如下:
1、選中G2單元格 -- 在編輯欄中輸入公式「=MAX(($A$2:$B$10=F2)*$D$2:$D$10)」-- 按組合鍵「Ctrl+Shift+Enter」結束公式。
2、選中G2單元格 -- 將滑鼠光標定位到單元格右下角,出現「十」字符號按快捷鍵「Ctrl+E」填充公式,即可得到學號或姓名對應的測評總分。
3、動圖演示如下。
以上我們用MAX函數解決了VLOOKUP函數解決不了的難題,下次別人再問你MAX函數可以用來做什麼,你就不要開口說只可以用來求最大值了。
注意:使用MAX函數時查找結果應為數字並且查找結果應升序排序哦~
想學更多的Word、Excel等辦公技巧嗎?歡迎關注小編哦,定期更新實用技巧供大家學習。
您的讚賞、關注、轉發、評論、點贊和收藏都是對小編的鼓勵和支持,謝謝您!