Excel多条件查找函数需求:匹配客户名并校验日期区间返回Policy Number
Excel 匹配保单编号解决方案

需求说明
需在H列返回A列的保单编号(Policy Number),需满足两个条件:
- 客户名称匹配:I列客户名称与B列完全一致
- 日期区间校验:J列的索赔日期(claim date)处于C列生效日期(start date)与D列截止日期(End date)之间
要求优先匹配客户名称,再校验日期区间。
解决方案公式
方案1:使用XLOOKUP(适用于Excel 365/2021及以上版本)
在H2单元格输入以下公式,下拉填充即可:
=XLOOKUP(1,(B:B=I2)*(C:C<=J2)*(D:D>=J2),A:A,"无匹配")
公式说明:
(B:B=I2):筛选出与当前行I列客户名称一致的行,返回逻辑值(TRUE/FALSE),运算时自动转为1/0(C:C<=J2)*(D:D>=J2):筛选出索赔日期在生效日期和截止日期之间的行,同样转为1/0- 三个条件相乘后,结果为1的行即为同时满足所有要求的行,XLOOKUP会返回对应A列的保单编号
"无匹配"是无符合条件时的提示文本,可根据需求修改
方案2:使用INDEX+MATCH(兼容所有Excel版本)
在H2单元格输入以下公式:
=IFERROR(INDEX(A:A,MATCH(1,(B:B=I2)*(C:C<=J2)*(D:D>=J2),0)),"无匹配")
- 若使用Excel 2019及更早版本,输入完成后需按
Ctrl+Shift+Enter确认数组公式;Excel 365/2021直接回车即可 - 公式说明:MATCH函数定位到第一个满足所有条件的行号,INDEX函数根据行号返回A列的保单编号;IFERROR用于处理无匹配时的错误提示,返回自定义文本
内容的提问来源于stack exchange,提问作者Alisa
相关产品推荐
相关产品推荐

