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

如何用ARRAYFORMULA()将横向COUNTIF()纵向扩展至整列?

Google Sheets 批量逐行 COUNTIF 统计方案

直接用ARRAYFORMULA(COUNTIF(A1:A:D1:D))无法实现逐行统计,原因是这个写法会把A-D列的所有单元格当成一个整体范围,而非逐行对应处理。下面提供两种可行方案:

方案一:用 BYROW 函数(新版 Sheets 支持)

BYROW 可以遍历指定区域的每一行,对每行单独执行 COUNTIF 逻辑,自动生成纵向数组结果:

=BYROW(A1:D, LAMBDA(row, COUNTIF(row, "你要统计的内容")))
  • 把A1:D替换成你的目标数据区域;
  • 把"你要统计的内容"替换成实际要统计的数值、文本或条件(比如统计非空可以改成"<>")。

例如,要统计每行中"完成"的数量,公式就是:

=BYROW(A1:D, LAMBDA(row, COUNTIF(row, "完成")))

方案二:用 MMULT 函数(兼容旧版 Sheets)

如果你的 Sheets 版本不支持 BYROW,可以用 MMULT 实现数组统计,以统计特定值为例:

=ARRAYFORMULA(MMULT(--(A1:D="你要统计的内容"), SEQUENCE(COLUMNS(A1:D), 1, 1, 0)))
  • --(A1:D="你要统计的内容")会把符合条件的单元格转为1,不符合的转为0;
  • SEQUENCE(COLUMNS(A1:D), 1, 1, 0)生成一个和列数相同的纵向数组,用来和前面的0/1矩阵做矩阵乘法,得到每行的总和(即符合条件的数量)。

如果是统计每行非空单元格数量,简化版公式:

=ARRAYFORMULA(MMULT(--(A1:D<>""), SEQUENCE(COLUMNS(A1:D), 1, 1, 0)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:54:53