如何统计Excel单元格中连续3个及以上x的序列出现次数
统计Excel字符串中连续3个及以上
x的出现次数 这里有几个实用的方案,帮你搞定这个统计需求——针对你给出的示例字符串0000xxx0xxx0xx00xxxxxx0xx0xxxxx,两种方法都会返回你预期的4次结果:
方法1:Excel 365/2021专属公式(无需代码)
如果你用的是较新的Excel版本,直接用TEXTSPLIT+FILTER+COUNT的组合公式就能解决:
=COUNT(FILTER(TEXTSPLIT(A1, {"0"}, , TRUE), LEN(TEXTSPLIT(A1, {"0"}, , TRUE)) >= 3))
公式说明:
TEXTSPLIT(A1, {"0"}, , TRUE):用0作为分隔符拆分原字符串,同时忽略拆分后产生的空值,得到所有由x组成的子串列表FILTER(..., LEN(...) >=3):从列表中筛选出长度≥3的x序列COUNT(...):统计筛选后的序列数量,就是你要的结果
方法2:VBA自定义函数(兼容所有Excel版本)
要是你用的是旧版Excel(没有TEXTSPLIT函数),写个简单的VBA自定义函数更靠谱:
- 按
Alt + F11打开VBA编辑器 - 右键左侧的工作簿名称 → 插入 → 模块
- 粘贴以下代码:
Function CountLongXSequences(inputStr As String) As Integer Dim regex As Object Set regex = CreateObject("VBScript.RegExp") regex.Global = True regex.Pattern = "x{3,}" ' 匹配连续3个及以上的x字符 CountLongXSequences = regex.Execute(inputStr).Count End Function
- 返回Excel工作表,在任意空白单元格输入
=CountLongXSequences(A1)(把A1换成你的字符串所在单元格),回车就能得到统计结果
这个函数用正则表达式精准匹配所有符合要求的x序列,统计起来高效又准确。
内容的提问来源于stack exchange,提问作者Marco Bortolotto
相关产品推荐
相关产品推荐

