Google Sheets中同名列下指定值的计数方法
解决Google表格同名列指定值统计问题
方法1:用SUMPRODUCT+ARRAYFORMULA
直接通过数组公式遍历所有列,匹配表头和目标值后求和:
=SUMPRODUCT(ARRAYFORMULA((A1:Z1="1")*(A2:Z="R")))
- 将
A1:Z1替换为你的表头所在行范围 - 将
"1"替换为需要匹配的目标列名 - 将
A2:Z替换为你的数据区域(从表头下一行开始) - 将
"R"替换为需要统计的指定值
原理:(A1:Z1="1")会生成布尔数组,列名匹配的位置为1,否则为0;(A2:Z="R")生成数据区域中值匹配的布尔数组,两者相乘后,SUMPRODUCT会把所有符合条件的结果相加,得到总数。
方法2:用QUERY+TRANSPOSE
通过转置表格筛选出目标列,再统计指定值:
=COUNTIF(QUERY(TRANSPOSE(A1:Z), "select Col2 where Col1='1'"), "R")
TRANSPOSE(A1:Z)把原表格的列转成行,表头变为第一列,数据变为后续列QUERY(...)筛选出第一列(原表头)等于"1"的行,即原表格中所有列名为“1”的列数据COUNTIF(...)统计筛选结果中"R"的出现次数
为什么COUNTIF/COUNTIFS不适用
这两个函数只能指定单个或多个固定范围,无法自动识别所有同名的列,因此需要借助数组函数或转置筛选的方式覆盖所有目标列。
内容的提问来源于stack exchange,提问作者santos1998
相关产品推荐
相关产品推荐

