在excel里,如何提取出一个单元格里有多个相同字符。例如A1为“我们都是123456”,共10个

2025-03-09 15:53:50
推荐回答(2个)
回答1:

用SUBSTITUTE函数进行逐个剔除,然后测试剩下字符串的长度,但如果A1的长度不确定就很复杂,用VBA写代码为好。假设A1内容长度固定为10,比如“我们都是123456”则可以:
【B2】=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,MID(A$1,10,1),""),MID(A$1,9,1),""),MID(A$1,8,1),""),MID(A$1,7,1),""),MID(A$1,6,1),""),MID(A$1,5,1),""),MID(A$1,4,1),"")
【C2】=IF(LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,MID(A$1,3,1),""),MID(A$1,2,1),""),MID(A$1,1,1),""))<2,"对","")
由于SUBSTITUTE镶嵌层数限制,很难写到一个公式中,用B2作过渡,C2作为测试结果,<2就是剩下少于2个字符,你也可以用A2的长度减去剩下字符长度来计算删除了多少个字符作为判断标准

回答2:

B2输入公式=IF(SUMPRODUCT((LEN(A2)-LEN(SUBSTITUTE(A2,MID($A$1,ROW($1:$10),1),""))>0)*1)>=8,"是","")
向下拉
有8个以上相同字符的显示是,否则空白