You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

匹配多行编号并核查对应日期是否在90天范围内

Excel多条件匹配统计解决方案

需求明确

判断A2单元格的编号是否在D列存在匹配项,同时需满足:

  • A2对应的B列日期 ≥ 匹配项对应的E列日期
  • B列日期与E列日期间隔小于91天(即90天范围内)
    满足以上所有条件则计入统计,否则不计入。

此前尝试的VLOOKUP仅能返回首个匹配值,无法核查所有可能的匹配项;INDEX+MATCH组合也无法实现多行匹配的多条件核查。

可行公式方案

方案1:兼容全版本Excel(SUMPRODUCT函数)

使用数组运算实现多条件统计,公式如下:

=IF(SUMPRODUCT(--(D:D=A2),--(B2>=E:E),--(B2-E:E<91))>0,"计入","不计入")

公式拆解:

  • --(D:D=A2):将D列与A2编号匹配的单元格转换为1(匹配)或0(不匹配)
  • --(B2>=E:E):判断B2日期是否大于等于对应E列日期,转换为1或0
  • --(B2-E:E<91):判断两日期间隔是否小于91天,转换为1或0
  • SUMPRODUCT将三个数组相乘后求和,结果大于0则说明存在符合条件的匹配项,返回"计入",否则返回"不计入"

方案2:Excel 365/2021专属(XLOOKUP函数)

利用动态数组特性直接查找符合条件的项,公式如下:

=IF(NOT(ISERROR(XLOOKUP(1,(D:D=A2)*(B2>=E:E)*(B2-E:E<91),E:E))),"计入","不计入")

公式拆解:

  • (D:D=A2)*(B2>=E:E)*(B2-E:E<91):生成由0和1组成的数组,1代表同时满足三个条件的行
  • XLOOKUP查找数组中第一个1对应的E列值,找不到则返回错误
  • NOT(ISERROR(...))判断是否存在符合条件的匹配项,进而返回"计入"或"不计入"

示例验证

  • 示例1:编号24902、日期12/20/22,D列匹配3行但B2日期均早于E列日期,SUMPRODUCT求和为0,返回不计入
  • 示例2:编号24902、日期3/11/23,D列存在1行满足所有条件,SUMPRODUCT求和大于0,返回计入

内容的提问来源于stack exchange,提问作者Derek Dickson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:12:33