有一知名大公司的Excel面試題,要求提取左側表格中每位客戶的最後一次拜訪記錄:
上圖左側表中姓名是排好序的,這一下降低了題目的難度。所以今天我們就假設這些姓名不連續,然後設置查找公式。
以前小編也分享過這個題目的公式,用的是Lookup函數。現在已經是2020年,Excel也新增了很多好用的查找函數,所以今天小編要用更多的公式搞定它。
公式1:Lookup
=LOOKUP(1,0/(A$2:A$101=E3),C$2:C$101)
注:用最經典“1,0/”結構查詢返回最後一個值。
公式2:Max函數
{=MAX((A$2:A$101=E3)*C$2:C$101)}
注: 先用A列和E3對比,再* C列的值,讓不符合條件的變成0,留言符合條件的日期,最後求最大值。如果你不是office365版本,需要用數組形式輸入該公式。(按Ctrl+shift+enter)
公式3:Index+match
{=INDEX(C:C,MATCH(1,0/(A$1:A$101=E3)))}
注:你以為只有Lookup可以“1,0”嗎?No! Match也可以。
公式4:Xlookup函數
=XLOOKUP(E3,A:A,C:C,,,-1)
注:當Xlookup第6個參數為-1時,表示從後向前查。
公式5:Filter +Max
=MAX(FILTER(C$2:C101,A$2:A101=E3))
注:Filter函數可以篩選出所有符合條件日期,然後用MAx提取最大值。
注:當其他函數都在用技巧完成最後一次查找時,Xlookup用的只是基本功能。不得不說Xlookup函數太強大了。
閱讀更多 數碼產品資訊 的文章