Microsoft VBA Excel 单元格 重复元素 去重
问题场景
简述:
单元格显示:N/A,A54,N/A,B12,R6,A55,去掉重复的元素。
参考:excel表格同一单元格里剔除重复词怎么做?
代码描述
第一步:
第二步:
在较旧的 Excel 版本中,没有直接的函数可以用来去除字符串中的重复元素。一种解决办法是使用 VBA 来创建一个自定义函数,该函数可以接受一个字符串并返回一个去除了重复项的字符串。
Function UniqueList(inputStr As String, delimiter As String) As StringDim dictionary As ObjectSet dictionary = CreateObject("Scripting.Dictionary")Dim part As VariantDim parts() As Stringparts = Split(inputStr, delimiter)For Each part In partsIf Trim(part) <> "" And Not dictionary.Exists(Trim(part)) Thendictionary.Add Trim(part), Trim(part)End IfNext partUniqueList = Join(dictionary.Items, delimiter)
End Function
例如,如果想要处理单元格 A1 中的字符串 N/A,A54,N/A,B12,R6,A55
,可以在另一个单元格中使用以下公式:
=UniqueList(A1, ",")
这将返回 N/A,A54,B12,R6,A55
。