Excel如何按日期查找最近的数据?

如题,按一定条件查找日期附近的数据?

G2单元格公式=INDEX(C:C,MIN(IF((ABS(A$2:A$100-E2)=MIN(ABS(A$2:A$100-E2)))*(B$2:B$100=F2),ROW($2:$100))))

数组公式, Ctrl+Shift+回车,公式两端出现大括号{}后,下拉。 如图:

追问

能解释下公式的意义么?谢谢

追答

用A列的日期减E列的日期得到差值最小的数,因为两者相减有可能是负数,所以加上绝对值函数ABS,当A列减E列的绝对值符合最小值条件和B列姓名等于F列姓名的条件时,返回最小行号所在的C列值。

追问

非常感谢您的回答,在表中也实现了,但在实际应用中因数据量大发现查找结果不对,可否向您请教,我的邮箱是[email protected],万分感谢!

追答

好的,我看出问题了,加个条件进行就可以了,G2单元格公式=INDEX(C:C,MIN(IF((ABS(A$2:A$100-E2)=MIN(IF(B$2:B$100=F2,ABS(A$2:A$100-E2))))*(B$2:B$100=F2),ROW($2:$100))))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-22
在G2中输入或复制粘贴下列公式
=INDEX(C:C,MIN(IF(ABS(A$2:A$13-E2)=MIN(ABS(A$2:A$13-E2))*(B$2:B$13=F2),ROW($2:$13))))

按三键CTRL+SHIFT+ENTER结束输入
下拉填充
第2个回答  2021-10-22
G2单元格输入数组公式:
=LOOKUP(1,0/((A$2:A$13-E2=MIN(ABS(A$2:A$13-E2)))*(B$2:B$13=F2)),C$2:C$13)
复制并下拉即可……
特别注意!是数组公式!必须同时按ctrl+shift+enter这3个键结束公式编辑!否则公式无效哦!
相似回答