Excel中如何在单个单元格统计一行范围内字符"s"的出现次数?
解决Excel中一行范围内统计字符"s"总次数的问题
嘿,我完全懂你的烦恼!要在单个单元格里统计某一行(比如C4到AG4)所有单元格中字符"s"的总出现次数,用COUNTIFS确实行不通——毕竟"s"的组合形式太多了,根本列不全。而单个单元格的=LEN(C3)-LEN(SUBSTITUTE(C3,"s",""))虽然可靠,但逐个单元格复制修改参数效率太低了。
这里给你一个完美的解决方案,用SUMPRODUCT函数把单个单元格的计数逻辑扩展到整行:
=SUMPRODUCT(LEN(C4:AG4)-LEN(SUBSTITUTE(C4:AG4,"s","")))
公式拆解:
LEN(C4:AG4):返回C4到AG4每个单元格的字符长度,生成一个对应每个单元格的长度数组LEN(SUBSTITUTE(C4:AG4,"s","")):把每个单元格里的所有"s"都替换为空字符串,再返回替换后的字符长度,同样生成一个数组- 两个数组对应位置相减,得到的就是每个单元格中"s"的出现次数
SUMPRODUCT会自动把这些单个单元格的计数结果全部相加,最终得到整行范围内"s"的总次数
额外提示:
如果需要不区分大小写统计(比如同时统计大写"S"和小写"s"),可以用UPPER或LOWER统一转换后再替换:
=SUMPRODUCT(LEN(C4:AG4)-LEN(SUBSTITUTE(UPPER(C4:AG4),"S","")))
这个公式直接输入到你想要显示结果的单元格里就行,不用再逐个修改参数,不管"s"是单独出现还是和其他字符组合(比如"sc"、"sss"、"xsx"),都能准确统计到每一次出现。
内容的提问来源于stack exchange,提问作者Marco
相关产品推荐
相关产品推荐

