如何提取单元格内一组数字的不同数和相同数

来源:百度知道 编辑:UC知道 时间:2024/06/24 17:56:59
例:A1:00086467611208513196

如何提取这组数中的不同数字?和相同数字?
批量!
A1:是一个单元格。00086467611208513196 是这个单元格内的数字。需要找到这个单元格内的不同数。结果应为:0864712539
找相同数结果应为:0861(就是重复出现2次以上的数字)。提取,就是把结果显示在另一单元格内。

您的方法要一个一个的去分析。能不能批量的,把A列数据的分析结果。相同数放到B列。不同数放到C列。

下面是用VBA在excel中定义的宏,可以用快捷键呼叫来分析被点击的任意单元格的内容并给出答案。不仅对数字有效,更对所有文字符号都有效。已经调试过了,对你的例子也有效。

Sub BaiduGame()
'
' 分析当前活动单元格内文本,结果1:得到不含重复字符的文本放在NoSameCharTxt,结果2:得到重复字符的列表SameCharList,不破坏任何单元格原内容。
' Macro recorded 5/31/2008 by CNYIZHO
'
' Keyboard Shortcut: Ctrl+m
'
Dim txt1 As String, Schar As String, SameCharList As String, NoSameCharTxt As String
NoSameCharTxt = ""
SameCharList = ""
txt1 = ActiveCell '取当前活动单元格内文本到给定串变量中
For I = 1 To Len(txt1) '
Schar = Mid(txt1, I, 1) '从I位置采样字符

'将采样字符加入非重复字符文本
If InStr(1, NoSameCharTxt, Schar) = 0 Then NoSameCharTxt = NoSameCharTxt & Schar

'如果被采样字符在原文本中出现两次以上,将采样字符补入重复字符表
If InStr(1, Left(txt1, I - 1), Schar) Or (InStr(1, Right(txt1, Len(txt1) - I), Schar)) Then
If InStr(1, SameCharList, Schar) = 0