如何用Excel公式统计两列间精准的部分/完全匹配数?
解决Excel中精准匹配逗号分隔列表项的统计问题
核心需求:统计IA_DX列的每个值作为独立项出现在AUDIT_DX列的逗号分隔列表中的行数,需排除部分匹配(如
D71与D71.9不算匹配),同时保留INDIRECT函数以支持工作表切换。解决方案公式:
=SUMPRODUCT( --(INDIRECT(K1985&"[IA_DX]")<>""), --ISNUMBER( SEARCH( ", "&INDIRECT(K1985&"[IA_DX]")&", ", ", "&INDIRECT(K1985&"[AUDIT_DX]")&", " ) ) )
公式说明:
- 在
IA_DX和AUDIT_DX值前后添加,(逗号加空格),确保匹配的是完整的独立代码项,彻底避免类似D71匹配D71.9的部分匹配问题 SEARCH函数查找处理后的IA_DX是否存在于处理后的AUDIT_DX中,存在返回位置值,不存在返回错误值ISNUMBER将查找结果转为布尔值(存在为TRUE,否则为FALSE)--将布尔值转为1或0,配合SUMPRODUCT实现符合条件的行数统计- 保留
INDIRECT(K1985&"[列名]")结构,支持通过K1985单元格的工作表名称下拉切换数据源
- 在
验证示例(对应你提供的表格):
IA_DX AUDIT_DX 计数结果 I21.0 I10, I21.A1, I21.0 1 L08.0 L08.0 1 D71 D71.9 0 最终统计结果为2,完全符合需求。
内容的提问来源于stack exchange,提问作者user22954263
相关产品推荐
相关产品推荐

