Google Sheets条件统计文本次数:如何按行标题筛选计数?
问题:统计指定标题列中目标文本的出现次数
请问是否有Google Sheets公式可以统计工作表中某个文本值的出现次数,但仅当行标题满足特定条件?
示例数据:
| 1 | 1 | 2 | 2 |
|---|---|---|---|
| John | B | A | A |
| John | C | B | D |
| C | John | A | John |
| D | A | B | A |
例如,我想统计当第1行等于“1”时“John”的出现次数,预期结果为3。
我曾成功使用AVERAGEIFS完成过类似操作,但针对这类文本查询却无法实现。使用COUNTIFS时出现VALUE错误,提示数组大小不同,修正后得到的结果为1;使用DCOUNTA也没有进展。
解决方案
可以使用SUMPRODUCT函数实现这个需求,公式如下:
=SUMPRODUCT(--(A1:D1="1"), --(A2:D5="John"))
公式解释:
A1:D1="1":生成布尔值数组,标记第一行中等于"1"的列(TRUE为符合条件,FALSE为不符合)--():将布尔值转换为数值(TRUE对应1,FALSE对应0),便于后续计算A2:D5="John":生成另一个布尔值数组,标记数据区域中等于"John"的单元格SUMPRODUCT:将两个数组对应位置的数值相乘后求和——只有当标题列符合条件且单元格内容是"John"时,乘积为1,否则为0,最终总和就是符合要求的出现次数
代入示例数据后,该公式会返回预期结果3。
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

