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

多行列COUNTIF求和的数组公式实现问题

Excel 直接计算目标总计的正确公式方案

你需要实现的是:统计每行中“x”的数量,乘以对应A列的数值,最终求和得到总计。之前的{=SUM(COUNTIF(B2:E14,"x")*A2:A14)}无效,是因为COUNTIF对多行区域直接使用时,返回的是整个区域的“x”总数,而非每行的数量。以下是几种可行的解决方案:

方案1:SUMPRODUCT函数(推荐,无需数组公式输入)

SUMPRODUCT可直接处理数组运算,无需按组合键确认,公式如下:
=SUMPRODUCT((B2:E14="x")*A2:A14)

  • 逻辑:(B2:E14="x")生成布尔值数组(TRUE=1,FALSE=0),与A列数值数组相乘后,SUMPRODUCT自动对所有乘积求和,完美匹配需求。

方案2:SUM+MMULT数组公式(兼容全Excel版本)

若需使用数组公式,可通过MMULT逐行统计“x”数量,输入后按Ctrl+Shift+Enter确认(新版Excel可直接回车):
{=SUM(MMULT(--(B2:E14="x"),ROW(INDIRECT("1:"&COLUMNS(B2:E14)))^0)*A2:A14)}

  • 逻辑:--(B2:E14="x")将布尔数组转为0/1数组,ROW(INDIRECT("1:"&COLUMNS(B2:E14)))^0生成与B-E列列数一致的全1数组,MMULT计算每行的“x”总数,再与A列数值相乘后求和。

方案3:SUM+BYROW动态数组公式(适用于Excel 365/2021+)

新版Excel支持动态数组函数,BYROW遍历每行更直观:
=SUM(BYROW(B2:E14,LAMBDA(row,COUNTIF(row,"x")))*A2:A14)

  • 逻辑:BYROW遍历B2:E14的每一行,用COUNTIF统计每行“x”数量,生成数量数组后与A列相乘,最终SUM求和。

内容的提问来源于stack exchange,提问作者Maxime Charrière

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:41:25