Google Sheets统计含指定重复次数字符的单元格方法
Google Sheets 统计含指定重复次数字符的单元格数量
核心逻辑
通过计算「单元格原始长度 - 移除目标字符后的长度」,得到单个单元格内目标字符的出现次数,再统计次数恰好等于指定值的单元格总数。
方法1:COUNTIF 结合数组计算
假设你的数据在A:A列,要统计恰好包含2个逗号的单元格数量,直接用下面的公式:
=COUNTIF(ARRAYFORMULA(LEN(A:A)-LEN(SUBSTITUTE(A:A, ",", ""))), 2)
拆解说明:
SUBSTITUTE(A:A, ",", ""):把A列所有单元格里的逗号替换为空字符串LEN(A:A)-LEN(...):用原始长度减去替换后的长度,得到每个单元格中逗号的出现次数ARRAYFORMULA:让上述计算对整列生效,无需下拉填充COUNTIF:统计所有次数等于2的单元格数量
方法2:纯 ARRAYFORMULA 实现
如果更习惯用纯数组公式,也可以用求和的方式实现:
=SUM(ARRAYFORMULA(N(LEN(A:A)-LEN(SUBSTITUTE(A:A, ",", ""))=2)))
拆解说明:
LEN(A:A)-LEN(SUBSTITUTE(...))=2:判断每个单元格的逗号次数是否等于2,返回布尔值TRUE/FALSEN(...):把布尔值转换成数字1(符合条件)或0(不符合条件)SUM:对所有数字求和,结果就是符合条件的单元格总数
通用适配规则
要统计其他字符或不同次数,只需要修改两个地方:
- 把公式中的
,替换为目标字符(比如统计x就写成"x",注意加双引号) - 把公式中的
2替换为你需要的重复次数(比如3、5等)
特殊情况处理
- 如果要排除空白单元格,避免把空白(字符次数为0)误统计,可以修改公式:
=COUNTIF(ARRAYFORMULA(IF(A:A="",,LEN(A:A)-LEN(SUBSTITUTE(A:A, ",", "")))), 2) - 如果目标字符是
*、?这类通配符,需要用~转义,比如统计*出现2次的单元格:=COUNTIF(ARRAYFORMULA(LEN(A:A)-LEN(SUBSTITUTE(A:A, "~*", ""))), 2)
内容的提问来源于stack exchange,提问作者calclatingchocolte
相关产品推荐
相关产品推荐

