删除Excel单元格中的重复项

假设我在一个Excel单元格中有以下文本字符串:

John John John Mary Mary

我想在另一个单元格上创建一个公式(所以没有菜单函数或VBA)

John Mary

我怎样才能做到这一点?

我到目前为止所尝试的是搜索互联网和SO搜索问题所有我能找到的解决方案涉及Excel的内置重复删除或涉及countif和替换“”的重复项.我还看了一下Excel函数列表,特别是那些来自“Text”类别的函数,但找不到任何有趣的东西,可以在一个单元格上完成.

最佳答案 答案在这里:
https://www.extendoffice.com/documents/excel/2133-excel-remove-duplicate-characters-in-string.html

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby20140924
With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For Each x In Split(txt, delim)
        If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
    Next
    If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
End Function

将上面的代码放在一个模块中

使用=删除(A2,“,”)
A2包含重复的文本,由
您可以更改分隔符

点赞