舉個工作中的實際例子,左邊是模擬員工的打卡數據明細
我們只保留2列,員工和打卡時間,其它無關字段已剔除
現在需要快速計算對應員工的最後一次打卡時間,如下所示
![](http://image.uc.cn/s/wemedia/s/upload/2024/25e548bcc11f09801fba8249d49b5650.png)
當表格中數據出現多次的時候,如果我們使用VLOOKUP公式進行查找匹配
輸入的公式是:
=VLOOKUP(D2,A:B,2,0)
它只會得到第一次出現的結果:
![](http://image.uc.cn/s/wemedia/s/upload/2024/b86a81d1b1a102167f673e932df2e729.png)
我們希望得到的結果是最後一次打卡時間,有3種解決辦法
1、使用MAXIFS公式因爲我們求解的結果是時間,時間數據也是屬于數值型型結果
所以我們可以使用MAXIFS公式來計算
輸入的公式是:
=MAXIFS(B:B,A:A,D2)
這個公式類似于SUMIFS,只不過它是條件求最大值
所以我們數據區域是B列裏面的最大值,條件是A列的結果是D2的值
所以就可以得到我們想要的結果
![](http://image.uc.cn/s/wemedia/s/upload/2024/82e939ab39f4381f239e7fee95fe561c.png)
當我們想要的結果是文本值時,不能使用這個公式
如果我們想要求的結果是最小值時,也可以使用MINIFS公式
2、使用LOOKUP公式這個公式進行查找匹配的時候,它也有一個萬能的固定搭配用法:
=LOOKUP(1,0/(查找值=查找列),結果列)
所以這裏,我們把對應序列套進去,輸入的公式是:
=LOOKUP(1,0/(D2=A:A),B:B)
但是LOOKUP公式,在多個條件都滿足的時候,會優先匹配最後一條結果
所以正好滿足我們的需求
![](http://image.uc.cn/s/wemedia/s/upload/2024/de7a72b47793dff6b7a70269bdc70caa.png)
這是最新版本的查找匹配公式,如果只使用前3個參數查找匹配,它也是默認從上向下進行匹配的,它的固定搭配用法是:
=XLOOKUP(查找值,查找列,結果列)
所以,這裏輸入的公式是:
=XLOOKUP(D2,A:A,B:B)
![](http://image.uc.cn/s/wemedia/s/upload/2024/0a9a6f2931a34244288c5a7e81ca77aa.png)
XLOOKUP更高級的點在于,如果你想從下向上匹配,你只需要在它的第6參數,修改成-1,就可以切換了,所以我們輸入的公式是:
=XLOOKUP(D2,A:A,B:B,,,-1)
它就可以從下向上進行匹配了
![](http://image.uc.cn/s/wemedia/s/upload/2024/c68b29192f7b59539dac9463b556a048.png)
所以總結一下
VLOOKUP遇到多個值時,從上向下匹配
LOOKUP遇到多個值時,從下向上匹配
XLOOKUP可自由控制,只填3個參數,從上向下,如果填第6參數-1,從下向上
關于這個小技巧,你學會了麽?動手試試吧!