Excel:统计逗号分隔列所有值的出现次数,COUNTIF仅统计首个值求助
统计逗号分隔单元格中值的出现次数
针对你的需求,这里提供几种实用的解决方法:
方法1:兼容多数Excel版本的SUMPRODUCT公式
在Summary工作表对应颜色的统计单元格(比如C11,对应B11的颜色值)输入以下公式:
=SUMPRODUCT(--(ISNUMBER(SEARCH(","&Summary!B11&",",","&Sheet1!$K:$K&","))))
公式逻辑:
","&Sheet1!$K:$K&",":给每个单元格内容前后添加逗号,避免"Red"和"Redish"这类相似内容被误匹配SEARCH(...):查找目标颜色被逗号包裹的内容,找到返回位置,找不到返回错误值ISNUMBER(...):将查找结果转换为布尔值(找到为TRUE,没找到为FALSE)--:把布尔值转换成1或0(TRUE对应1,FALSE对应0)SUMPRODUCT:对所有1和0求和,得到目标颜色的总出现次数
方法2:Excel 365/2021 专属简洁公式
如果你使用的是支持动态数组的Excel版本,可使用以下更简洁的公式:
=COUNTIF(TEXTSPLIT(TEXTJOIN(",",TRUE,Sheet1!$K:$K),","),Summary!B11)
公式逻辑:
TEXTJOIN(",",TRUE,Sheet1!$K:$K):将Sheet1中K列所有非空单元格的内容合并成一个完整的逗号分隔字符串TEXTSPLIT(...,","):把合并后的字符串拆分成单个颜色组成的动态数组COUNTIF(...):直接统计数组中目标颜色的出现次数
方法3:辅助列拆分法(适合新手理解操作)
如果觉得公式复杂,可通过辅助列拆分内容后统计:
- 在Sheet1的空白列(比如L列),输入
=TEXTSPLIT(K1,",")(Excel 365/2021);或者点击「数据」选项卡的「分列」功能,按逗号拆分K列内容 - 拆分后所有颜色会展开到多行/多列中
- 回到Summary工作表,用普通COUNTIF统计拆分后的颜色范围:
=COUNTIF(Sheet1!$L:$Z,Summary!B11)
内容的提问来源于stack exchange,提问作者TheKeyboarder
相关产品推荐
相关产品推荐

