EXCEL单元格内重复数据去重

工作上经常遇到需要处理的 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

当然,上述代码中可以根据你数据分隔符不同,自由更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值