怎么用excel篩選日期?excel如何篩選最近一次活動(dòng)的日期
例如,下圖1所示,求單元格F12中指定名稱所對應(yīng)的最新日期?在單元格區(qū)域B12:C20中是要查找的數(shù)據(jù)。

圖1
如何在單元格F13中編寫公式?
先不看答案,自已動(dòng)手試一試。
解決方案
公式1:使用LOOKUP函數(shù)
=LOOKUP(2,1/(B13:B20=$F$12),$C$13:$C$20)
很顯示,使用與《Excel公式練習(xí)70:求最近一次活動(dòng)的日期》中一樣的LOOKUP公式不可取,我們必須構(gòu)造一個(gè)供查找的數(shù)組,即公式中的:
1/(B13:B20=$F$12)
這樣,公式轉(zhuǎn)換為:
=LOOKUP(2, {1;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},$C$13:$C$20)
LOOKUP函數(shù)在生成的中間數(shù)組中找不到要查找的值2,返回小于2的最大值所對應(yīng)的C13:C20中單元格的值。
公式2:使用MAX/SUMPRODUCT函數(shù)
=SUMPRODUCT(MAX((B13:B20=$F$12)*(C13:C20)))
這個(gè)公式與《Excel公式練習(xí)70:求最近一次活動(dòng)的日期》中的一樣,由于日期在Excel中是以數(shù)字形式存儲(chǔ)的,因此可以將它們與TRUE/FALSE值組成的數(shù)組相乘,上述公式可轉(zhuǎn)換為:
=SUMPRODUCT(MAX({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}*{41091;41091;41091;41092;41092;41093;41094;41094}))
可轉(zhuǎn)換為:
=SUMPRODUCT(MAX({41091;0;0;41092;0;0;0;0}))
得到:
41092
即該日期對應(yīng)的序數(shù),設(shè)置適當(dāng)?shù)母袷胶笤贓xcel中顯示相應(yīng)的日期。
我們使用了SUMPRODUCT函數(shù)強(qiáng)制進(jìn)行數(shù)組運(yùn)算,如果不使用SUMPRODUCT函數(shù),則在輸入公式:
=MAX((B13:B20=$F$12)*(C13:C20))
需按Ctrl+Shift+Enter組合鍵。






