Excel中两组单元格比对匹配及结果自定义显示问题求助
Excel 多列匹配自定义返回值方案
你现有的公式逻辑是判断BH列值在BM列存在、且BJ列值在BO列存在时返回TRUE,要实现BH列无匹配时返回指定内容,只要在原公式外层加一层BH列的存在性判断即可:
1. BH列无匹配时返回空值的公式
把下面的公式粘贴到BU2单元格,下拉填充即可:
=IF(COUNTIF($BM$2:$BM$99,BH2)=0,"",IF(IFERROR(MATCH(BH2,$BM$2:$BM$99)*MATCH(BJ2,$BO$2:$BO$99,0),0)>0,TRUE,FALSE))
逻辑说明:
第一层先用
COUNTIF统计BH2在BM列的出现次数,如果次数为0说明没有任何匹配项,直接返回空值;如果存在匹配,再走你原来的匹配逻辑,满足条件返回TRUE,不满足返回FALSE。
2. BH列无匹配时返回自定义内容的公式
如果需要返回除0、1之外的其他内容,比如返回未找到,只要把公式里的空字符串替换为你要的内容即可:
=IF(COUNTIF($BM$2:$BM$99,BH2)=0,"未找到",IF(IFERROR(MATCH(BH2,$BM$2:$BM$99)*MATCH(BJ2,$BO$2:$BO$99,0),0)>0,TRUE,FALSE))
优化建议(可选)
如果你的匹配规则是BH和BJ需要同时和BM、BO的同一行内容匹配,可以用更简洁的COUNTIFS写法,性能和可读性更好:
=IF(COUNTIF($BM$2:$BM$99,BH2)=0,"",COUNTIFS($BM$2:$BM$99,BH2,$BO$2:$BO$99,BJ2)>0)
内容的提问来源于stack exchange,提问作者scubadivingfool
相关产品推荐
相关产品推荐

