Microsoft VBA Excel 单元格 重复元素 去重

问题场景

简述:

单元格显示:N/A,A54,N/A,B12,R6,A55,去掉重复的元素。

参考:excel表格同一单元格里剔除重复词怎么做?


代码描述

第一步:

第二步:

在较旧的 Excel 版本中,没有直接的函数可以用来去除字符串中的重复元素。一种解决办法是使用 VBA 来创建一个自定义函数,该函数可以接受一个字符串并返回一个去除了重复项的字符串。

vb 复制代码
Function UniqueList(inputStr As String, delimiter As String) As String
    Dim dictionary As Object
    Set dictionary = CreateObject("Scripting.Dictionary")
    Dim part As Variant
    Dim parts() As String
    
    parts = Split(inputStr, delimiter)
    
    For Each part In parts
        If Trim(part) <> "" And Not dictionary.Exists(Trim(part)) Then
            dictionary.Add Trim(part), Trim(part)
        End If
    Next part
    
    UniqueList = Join(dictionary.Items, delimiter)
End Function

例如,如果想要处理单元格 A1 中的字符串 N/A,A54,N/A,B12,R6,A55,可以在另一个单元格中使用以下公式:

excel 复制代码
=UniqueList(A1, ",")

这将返回 N/A,A54,B12,R6,A55

相关推荐
龙虎榜小红牛系统8 小时前
使用Excel制作通达信自定义“序列数据“
excel·股票·通达信
Py办公羊大侠9 小时前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全
SixCandy10 小时前
EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作
办公软件·excel··wps
你走以后10 小时前
excel中如何筛选一列中重复的内容,相同的内容只保留一次
excel
Ainnle14 小时前
微软 CEO 萨提亚・纳德拉:回顾过去十年,展望 AI 时代的战略布局
人工智能·microsoft
热心市民运维小孙1 天前
Ubuntu重命名默认账户
linux·ubuntu·excel
可喜~可乐1 天前
C# WPF开发
microsoft·c#·wpf
微凉的衣柜1 天前
微软在AI时代的战略布局和挑战
人工智能·深度学习·microsoft
又蓝1 天前
使用 Python 操作 Excel 表格
开发语言·python·excel
yngsqq1 天前
一键打断线(根据相交点打断)——CAD c# 二次开发
windows·microsoft·c#