如何查找A列最近已过日期(含今日)并返回对应E列单元格内容
需求实现方案
这个需求完全可以实现,以下是两种适配不同Excel版本的公式方案:
方案一:使用XLOOKUP函数(适用于Excel 365/2021及以上版本)
直接利用XLOOKUP的匹配特性,定位符合条件的最近过期日期:
=XLOOKUP(MAX(A:A*(A:A<=TODAY())),A:A,E:E,,0)
公式说明:
A:A*(A:A<=TODAY()):筛选A列中小于等于今日的日期,不符合条件的单元格会返回0MAX(...):提取上述结果中的最大值,也就是包含今日在内的最近已过期日期XLOOKUP:根据这个最大日期匹配A列,返回对应行的E列内容
方案二:使用INDEX+MATCH组合(兼容所有Excel版本)
如果你的Excel版本不支持XLOOKUP,用经典函数组合也能达成需求:
=INDEX(E:E,MATCH(MAX(A:A*(A:A<=TODAY())),A:A,0))
公式说明:
- 同样通过
MAX(A:A*(A:A<=TODAY()))获取最近已过期日期 MATCH定位该日期在A列的位置INDEX根据位置提取E列对应内容
验证示例:
- 当今日为2024年3月25日时,公式会定位A列中<=该日期的最大日期,返回对应E18的$16,550
- 当今日变为2024年4月5日时,会匹配到更新的过期日期,返回E19的$17,250
注意:如果A列存在重复的过期日期,公式会返回第一个匹配到的E列内容;如果A列没有符合条件的日期(比如所有日期都在今日之后),公式会返回#N/A,可根据需要用IFERROR包裹处理异常。
内容的提问来源于stack exchange,提问作者MrPeriodical
相关产品推荐
相关产品推荐

