如何用公式统计首行标题为Anna的列中blue的出现次数?
统计多列中指定标题列的目标值出现次数
示例表格
| Anna | Krijn | Fieke | Anna | Krijn | Fieke |
|---|---|---|---|---|---|
| blue | green | blue | green | blue | green |
| green | blue | green | blue | green | blue |
| blue | green | blue | green | blue | green |
解决方案
通用公式(适用于所有Excel版本)
使用SUMPRODUCT实现跨多列的条件统计:
=SUMPRODUCT((A1:F1="Anna")*(A2:F4="blue"))
- 原理:
A1:F1="Anna"生成布尔数组标记首行标题为“Anna”的列;A2:F4="blue"生成布尔数组标记值为“blue”的单元格。两个数组相乘后,仅同时满足两个条件的位置计为1,最终求和得到总次数。
动态数组公式(适用于Excel 365/2021)
利用FILTER先筛选目标列,再用COUNTIF统计:
=COUNTIF(FILTER(A2:F4,A1:F1="Anna"),"blue")
- 原理:
FILTER(A2:F4,A1:F1="Anna")提取所有首行标题为“Anna”的列,形成新数据区域;COUNTIF在该区域内统计“blue”的出现次数。
为什么COUNTIFS无法直接实现
COUNTIFS要求每个条件对应独立区域,无法批量匹配多个重复列标题,因此无法直接处理这类场景,上述方法通过数组运算或动态筛选解决了该问题。
内容的提问来源于stack exchange,提问作者Krijn
相关产品推荐
相关产品推荐

