如何让SUMPRODUCT公式仅统计复选框勾选行的颜色提及次数?
统计Google Sheets勾选行中指定颜色的提及次数
问题背景
在Google Sheets的MockData1工作表中,C列存储着颜色列表(部分单元格可能用逗号分隔多个颜色)。原本使用公式统计A2单元格颜色在C列的总提及次数,但需要调整为仅统计A列复选框勾选行中的颜色提及次数,尝试用AND、IF修改原公式未成功。
原统计公式
用于统计指定颜色在C列所有行中的提及次数:
=SUMPRODUCT((LEN(MockData1!C:C)-LEN(SUBSTITUTE(MockData1!C:C,A2,"")))/LEN(A2))
解决方案
方案1:调整原SUMPRODUCT公式
在原公式中加入复选框行的筛选条件(假设复选框在A列),直接统计A2颜色在勾选行中的提及次数:
=SUMPRODUCT((MockData1!A:A=TRUE)*(LEN(MockData1!C:C)-LEN(SUBSTITUTE(MockData1!C:C,A2,"")))/LEN(A2))
- 核心逻辑:用
MockData1!A:A=TRUE筛选出勾选的行,通过乘法运算仅保留这些行的统计结果。
方案2:Tedinoz提供的QUERY批量统计公式
如果需要一次性统计所有勾选行中每种颜色的出现次数,可使用以下公式:
=QUERY({FLATTEN(ARRAYFORMULA(TRIM(SPLIT(QUERY({MockData1!A2:C},"select Col3 where Col1 is not null and Col1 = true"),","))))},"select Col1, count(Col1) where Col1 is not null group by Col1 label count(Col1) ''")
公式分步说明:
- 内层
QUERY:筛选出A列复选框勾选行的C列颜色内容 SPLIT:将C列中逗号分隔的多个颜色拆分为独立单元格TRIM:去除颜色文本前后的空格ARRAYFORMULA:批量处理所有筛选出的行FLATTEN:将拆分后的多行多列数据转换为单列- 外层
QUERY:对单列颜色数据分组统计出现次数,最后隐藏计数列的标题
内容的提问来源于stack exchange,提问作者Audrey G
相关产品推荐
相关产品推荐

