excel如何去除重复内容?只要字一样,排序跟空格不管,都可以去除的公式该怎么写?请高人解救

例如:张三
三张
张 三
三 张
去重后只剩下其中任何一个就可以。结果为: 张三 或 三张 或 张 三 或 三张

你的问题难度非常大,用公式没戏,用VBA写代码应该可以解决,我可以给你提供一个思路,用一个宏完成全部工作,完全写出代码你另请高人吧。
步骤1:替换掉所有的空格
步骤2:把每个单元格的内容拆分成一个数组,每个数组元数只存放一个字,把数组排序后再合成字符串。
步骤3:去掉重复。
如果用公式,也可以从这3个步骤去考虑,或分解成更多的步骤。

如果你自己水平不够,这个回答帮不了你,不好意思了。追问

谢谢,如果能写出来就好了,我水平肯定是不够的

追答

我给上面的第二步写了一个自定义函数,alt+f11,点击模块,你把代码复制进去,就可以使用排序函数了。
Public Function paixu(a As String) As String
n = Len(a)
Dim t() As String
ReDim t(n)
For i = 1 To n
t(i) = Mid(a, i, 1)
Next

For i = 1 To n
For j = i + 1 To n
If t(j) < t(i) Then
s = t(i)
t(i) = t(j)
t(j) = s
End If
Next
Next
For i = 1 To n
paixu = paixu & t(i)
Next
End Function

=paixu(a1)的结果是对a1的排序结果,也就是说你可以把所有数据都排序一下了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-20
拿具体的文件和希望达到的效果 我可以替你想办法做个宏追问

例如:拿具体的文件(就这几个字)去重.
1,拿出具体的文件
2,拿出文件的具体
3,具体的文件拿出
4,拿出 具体 文件 的
5,拿 文件 出 具体 的
6,拿文件 出 具体的
这样随意的排序或者空格,只要字是一模一样的,去重后就只得出来一个结果,任意结果都可以,麻烦你帮我写了哦。谢谢

第2个回答  2011-09-20
假设数据从A1开始到A5
B1
=IF(ROW()>SUM(1/(MMULT(--(SUBSTITUTE($A$1:$A$5," ","")=SUBSTITUTE(TRANSPOSE($A$1:$A$5)," ","")),ROW($A$1:$A$5)^0))),"",OFFSET(A$1,SMALL(IF(MATCH(SUBSTITUTE($A$1:$A$5," ",""),SUBSTITUTE($A$1:$A$5," ",""),)=ROW($A$1:$A$5),ROW($A$1:$A$5)-1),ROW()),))
CTRL+SHIFT+ENTER追问

具体说明下怎么用公式好吗?我比较菜

追答

呵呵,这个看不懂不能说明你比较菜,是因为公式比较复杂
具体讲:
1°先去除所有的括号
2°判断一共有几个不一样的
3°若行数超过不一样的个数,则显示为空
4°若行数低于不一样的个数,那么列举每一个不一样的数

相似回答