Excel如何编写公式提取CK:CM列对应行最新日期 解决返回1900年问题
公式报错原因
- 你当前使用的公式属于数组运算逻辑,旧版Excel如果直接按回车确认,只会判断区域内第一个单元格的值,匹配失败时返回的逻辑值
FALSE会被MAX识别为0,日期格式下0对应的就是1900年1月0日 - 原有公式的匹配逻辑没有做空值分支处理,匹配不到对应行、或对应行CK:CM区域全为空时,都会返回0值对应的错误日期
调整后的可用公式
适用Excel 365/2021及以上版本(不需要数组确认)
=LET( matched_range, FILTER('Loan Tape'!CK:CM, 'Loan Tape'!B:B=Data!B2, ""), max_date, MAX(matched_range), IF(max_date=0, "N/A", max_date) )
你也可以写为单行格式:=LET(matched_range,FILTER('Loan Tape'!CK:CM,'Loan Tape'!B:B=Data!B2,""),max_date,MAX(matched_range),IF(max_date=0,"N/A",max_date))
适用所有Excel版本(含旧版)
输入完成后需要按Ctrl+Shift+Enter三键组合确认,触发数组运算:=IF(MAX(IF('Loan Tape'!B2:B51=Data!B2,'Loan Tape'!CK2:CM51))=0,"N/A",MAX(IF('Loan Tape'!B2:B51=Data!B2,'Loan Tape'!CK2:CM51)))
额外注意事项
- 提前确认
Loan Tape表的CK:CM单元格格式为日期格式,文本格式存储的日期无法被MAX函数正常识别统计 - 如果B列可能存在重复匹配项,公式会返回所有匹配行CK:CM区域的最大日期,符合你要取最新日期的需求
内容的提问来源于stack exchange,提问作者Danny
相关产品推荐
相关产品推荐

