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

Excel公式求助:list工作表N列统计A-M列在data表的匹配次数

解决Excel中整行多列匹配次数统计问题

方法1:用COUNTIFS逐一指定列条件

COUNTIFS其实完全能实现需求,只是需要把A到M列的匹配条件逐一列出来。在List表的N2单元格输入以下公式,下拉填充即可:

=COUNTIFS(Data!A:A, List!A2, Data!B:B, List!B2, Data!C:C, List!C2, Data!D:D, List!D2, Data!E:E, List!E2, Data!F:F, List!F2, Data!G:G, List!G2, Data!H:H, List!H2, Data!I:I, List!I2, Data!J:J, List!J2, Data!K:K, List!K2, Data!L:L, List!L2, Data!M:M, List!M2)

这个公式会统计Data表中同时满足A列等于List表A2、B列等于List表B2……M列等于List表M2的行数,也就是整行完全匹配的次数。

方法2:用SUMPRODUCT简化多列匹配(兼容旧版Excel)

如果觉得COUNTIFS的参数太长,试试SUMPRODUCT结合数组判断的写法,适合所有Excel版本:

=SUMPRODUCT(--(MMULT(--(Data!A$2:M$1000=List!A2:M2),ROW($1:$13)^0)=13))
  • 注意把Data!A$2:M$1000改成你实际的数据范围(不要用整列,避免卡顿)
  • 核心逻辑:先逐单元格判断是否匹配,再对每行的匹配结果求和,只有当13列全匹配时求和结果为13,最后统计这样的行数。

方法3:Excel 365/2021专属简化写法

如果你用的是支持动态数组的新版本Excel,用字符串拼接的方式更简洁:

=COUNTIF(BYROW(Data!A:M,LAMBDA(r,TEXTJOIN("|",,r))),TEXTJOIN("|",,A2:M2))
  • 把每行A-M列的内容用|拼接成一个字符串(选不会出现在单元格内容里的分隔符即可),然后统计当前行拼接字符串在Data表所有行中的出现次数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:00:53