单元格内数据去重 纯分享 解决工作难题

31 天前
 wendy12478
工作上经常遇到需要处理的 excel 数据,比如某一单元格中有许多重复值
示例,原单元格数据为:张三,李四,李四,王五
去重后单元格数据变为:张三,李四,王五
可以通过以下 vba 代码实现:

' 函数开始
Function RemoveDuplicates(cell As Range) As String
Dim items As Object
Dim arr() As String
Dim output As String
Dim i As Long

' 创建字典对象用于去重
Set items = CreateObject("Scripting.Dictionary")

' 将单元格内容按逗号拆分为数组
arr = Split(cell.Value, ",")

' 遍历数组,将唯一值添加到字典
For i = LBound(arr) To UBound(arr)
arr(i) = Trim(arr(i)) ' 去除多余的空格
If Not items.exists(arr(i)) Then
items.Add arr(i), True
End If
Next i

' 将字典中的键合并为字符串
output = Join(items.keys, ",")

' 返回去重后的结果
RemoveDuplicates = output
End Function
' 函数结束

当然,上述代码中可以根据你数据分隔符不同,自由更改,也可以更改输出数据采用的分隔符。都是聪明人肯定知道怎么改啦!哈哈哈
543 次点击
所在节点   Excel
1 条回复
manbamentality
31 天前
6

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1090949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX