如何在Google Sheets中用ARRAYFORMULA统计每行指定值的出现次数
公式修改方案
原公式存在两个核心问题:
- 数组内用逗号做分隔符,Google Sheets中逗号默认是列分隔符,你写的
{"Mango Occurrences", COUNTIF(A1:C1, "Mango")}会生成1行2列的内容,第二个值自然会偏移到E列 - COUNTIF仅指定了A1:C1单行范围,只能统计第一行的结果,无法覆盖所有数据行
最终可用公式(直接粘贴到D1单元格即可)
=ARRAYFORMULA({"Mango Occurrences"; BYROW(A:C, LAMBDA(r, COUNTIF(r, "Mango")))})
调整说明
- 将数组元素之间的逗号替换为分号,分号是Google Sheets的行分隔符,表头和后续统计值都会落在D列,不会出现跨列偏移
- 新增BYROW函数遍历A到C列的所有行,逐行统计Mango的出现次数,自动返回所有行的结果,不需要手动下拉填充
- 外层完整保留ARRAYFORMULA,完全符合任务要求
如果你的表格数据行数是固定的(比如只有前200行有有效数据),可以把公式里的A:C改成A1:C200,避免后续空行返回无意义的0值。
内容的提问来源于stack exchange,提问作者TheKing
相关产品推荐
相关产品推荐

