excel圖表如何查找指定數據?用一個示例來說明,如下圖1所示,是一個記錄員工值班日期的表,在安排每天的值班時,需要查看員工最近一次值班的日期,以免值班時間隔得太近。例如,可以查到張無忌最近是2019年9月9日值班,因此下一天的值班就不會安排張無忌了。現在就是要求給出張無忌后,獲得他最近值班的日期2019年9月9日,對于其他的員工也是這樣。
圖1
下面,我們分別使用公式和VBA來解決。
使用INDEX+SUMPRODUCT+MAX+ROW函數
公式如下:
=INDEX($B$2:$B$10,SUMPRODUCT(MAX(ROW($A$2:$A$10)*($D$2=$A$2:$A$10))-1))
公式先比較單元格D2中的值與單元格區域A2:A10中的值,如果相同返回TRUE,不相同則返回FALSE,得到一個由TRUE和FALSE組成的數組,然后與A2:A10所在的行號組成的數組相乘,得到一個由行號和0組成的數組,MAX函數獲取這個數組的最大值,也就是與單元格D2中的值相同的數據在A2:A10中的最后一個位置,減去1是因為查找的是B2:B10中的值,是從第2行開始的,得到要查找的值在B2:B10中的位置,然后INDEX函數獲取相應的值。之所以使用SUMPRODUCT函數,是因為該函數可以處理數組公式,而無須在公式輸入完成后按Ctrl+Shift+Enter組合鍵。
結果如下圖2所示。
圖4
無論使用上述哪種方法,最終的結果如下圖5所示。
圖5