如何统计Google Sheets单元格内逗号分隔数值的指定值出现次数
Google Sheets 逗号分隔单元格精准统计指定数值出现次数方案
原有公式异常原因
- 直接按目标值拆分字符串,会把包含目标值子串的数值(如示例中的
118包含18)误判为匹配项,导致多计数 - 拆分逻辑未考虑逗号分隔的独立数值边界,末尾无逗号的结构会触发额外计数偏差
正确解决公式
方案1(易懂通用,适配动态目标值)
如果目标值存储在B2单元格,使用以下公式:
=IF(ISBLANK(A2), 0, COUNTIF(SPLIT(A2, ","), B2))
如果要统计固定值18,直接替换B2即可:
=IF(ISBLANK(A2), 0, COUNTIF(SPLIT(A2, ","), "18"))
公式逻辑说明
- 先用
SPLIT(A2, ",")将单元格内容按逗号拆分为独立数值组成的数组,每个数组项对应原本分隔开的单个数值,从根源上避免子串匹配问题 - 再用
COUNTIF对拆分后的数组做完全匹配统计,只会统计和目标值完全相等的项,自动排除包含目标子串的其他数值 - 最外层
ISBLANK判断处理空单元格场景,空单元格直接返回0
可选优化
如果分隔后的数值前后可能存在多余空格,可增加TRIM处理避免匹配失败:
=IF(ISBLANK(A2), 0, COUNTIF(ARRAYFORMULA(TRIM(SPLIT(A2, ","))), B2))
效果验证
针对示例单元格内容18,9,8,15,18,118统计18的出现次数,公式返回结果为正确值2,完全解决原有两个异常问题。
内容的提问来源于stack exchange,提问作者BigEd
相关产品推荐
相关产品推荐

