Excel多条件校验公式需求:判断文件是否按时发送
Excel多条件匹配+日期时间校验整合公式
核心逻辑
需先确认2-11行中存在某一行,同时满足G列值=A2、H列值=B2、I列值=C2,再基于匹配到的该行数据,校验发送日期与计划日期是否相同、发送时间是否不晚于计划时间,最终返回对应结果。
公式方案(分Excel版本)
方案1:适用于Excel 365/2021(支持XLOOKUP/LET函数)
=IFERROR( LET( match_row, XLOOKUP(1, (G2:G11=A2)*(H2:H11=B2)*(I2:I11=C2), ROW(G2:G11)), plan_date, INDEX(G:G, match_row), plan_time, INDEX(J:J, match_row), IF(AND(A2=plan_date, D2<=plan_time), "On Time", "Delayed") ), "No Match" )
- 公式说明:
XLOOKUP通过三个条件的数组运算(同时满足时结果为1)定位匹配行的行号LET定义变量提取匹配行的计划日期(G列)和计划时间(J列),简化公式结构IF判断日期时间条件,返回"On Time"或"Delayed"IFERROR处理无匹配记录的情况,返回"No Match"(可按需修改)
方案2:适用于旧版Excel(无XLOOKUP/LET支持)
=IFERROR( IF( AND( A2=INDEX(G:G, MATCH(1, (G2:G11=A2)*(H2:H11=B2)*(I2:I11=C2), 0)), D2<=INDEX(J:J, MATCH(1, (G2:G11=A2)*(H2:H11=B2)*(I2:I11=C2), 0)) ), "On Time", "Delayed" ), "No Match" )
- 注意:旧版Excel需按
Ctrl+Shift+Enter作为数组公式输入(Excel 2019及以后版本无需此操作)
额外说明
- 若需区分大小写匹配,将公式中的
=替换为EXACT()函数(例如EXACT(G2:G11,A2)) - 确保日期/时间单元格为正确的日期/时间格式,避免文本格式导致比较错误
内容的提问来源于stack exchange,提问作者Salman Shafi
相关产品推荐
相关产品推荐

