Excel批量识别金额单元格是否含连续4位及以上重复数字
Excel 判断数字中是否存在连续4次及以上重复数位
解决方案
适用于Excel 365/2021(支持动态数组)
在B1单元格输入以下公式,直接回车即可向下填充:
=LET( num_str, SUBSTITUTE(SUBSTITUTE(A1,",",""),".",""), chars, MID(num_str,SEQUENCE(LEN(num_str)),1), diff, IFERROR(EXACT(chars,DROP(chars,1)),0), runs, SCAN(1,diff,LAMBDA(a,b,IF(b,a+1,1))), IF(MAX(runs)>=4,"yes","no") )
公式逻辑:
num_str:移除A1中的逗号和小数点,提取纯数字字符串chars:将纯数字字符串拆分为单个字符的数组diff:逐个比较相邻字符是否完全相同,生成逻辑数组runs:用SCAN函数统计连续相同字符的次数,相同则累加,不同则重置为1- 最终判断最大连续次数是否≥4,返回
yes或no
适用于旧版Excel(无动态数组支持)
在B1单元格输入以下公式,按Ctrl+Shift+Enter确认数组公式,再向下填充:
=IF(MAX(FREQUENCY(IF(MID(SUBSTITUTE(SUBSTITUTE(A1,",",""),".",""),ROW(INDIRECT("1:"&LEN(SUBSTITUTE(SUBSTITUTE(A1,",",""),".","")))),1)=MID(SUBSTITUTE(SUBSTITUTE(A1,",",""),".",""),ROW(INDIRECT("1:"&LEN(SUBSTITUTE(SUBSTITUTE(A1,",",""),".",""))))+1,1),ROW(INDIRECT("1:"&LEN(SUBSTITUTE(SUBSTITUTE(A1,",",""),".",""))))))>=3,"yes","no")
公式逻辑:
- 先清理非数字字符,提取纯数字字符串
- 通过
MID提取每个位置的字符,与下一个位置字符比较,标记相同的位置 - 用
FREQUENCY统计连续相同标记的出现次数,连续n个相同数字会产生n-1个相同标记,因此当最大频率≥3时,说明存在至少4次连续重复的数位
验证示例
- 当A1为
38,353.03时,清理后为3835303,无连续4次重复数字,B1返回no - 当A1为
3,404,444时,清理后为3404444,存在连续4个4,B1返回yes
内容的提问来源于stack exchange,提问作者katoa
相关产品推荐
相关产品推荐

