跳到主要内容
 

如何在Excel中串联唯一值?

作者:晓阳 最后修改时间:2020-07-24

如果我有一长串的值填充了一些重复数据,那么现在,我只想查找唯一值,然后将它们串联到单个单元格中。 如何在Excel中快速轻松地解决此问题?

在列中查找唯一值,然后使用VBA代码将它们连接到一个单元格中

在一列中查找唯一值,然后使用 Kutools for Excel 将它们连接到一个单元格中

列出唯一值并使用VBA代码连接相应的值

列出唯一值并使用 Kutools for Excel 连接相应的值


箭头蓝色右气泡 在列中查找唯一值,然后使用VBA代码将它们连接到一个单元格中

下列 用户定义功能 可以帮助您将唯一值连接到列表中的单个单元格中,请执行以下操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:将唯一值连接到单个单元格中:

Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
    Dim xCell As Range
    Dim xDic As Object
    Set xDic = CreateObject("Scripting.Dictionary")
    For Each xCell In xRg
        xDic(xCell.Value) = Empty
    Next
    ConcatUniq = Join$(xDic.Keys, xChar)
    Set xDic = Nothing
End Function

3. 然后回到您的工作表,并输入以下公式: = ConcatUniq(A1:A17,“,”) 放入要输出级联结果的空白单元格,然后按 输入 获取唯一的串联结果的关键,请参见屏幕截图:

doc串联唯一性1

备注:在以上公式中, A1:A17 是您要连接的单元格范围,而逗号“,”是您需要分隔组合值的分隔符,您可以根据需要更改它们。


箭头蓝色右气泡 在一列中查找唯一值,然后使用 Kutools for Excel 将它们连接到一个单元格中

如果您不熟悉VBA代码, Kutools for Excel 也可以帮助您,您可以将 选择重复和唯一单元格结合 实用程序来实现您所需的结果。

Kutools for Excel : 带有300多个便捷的Excel加载项,可以在30天内免费试用.

安装后 Kutools for Excel,请执行以下操作: 立即免费下载Kutools for Excel! )

1。 选择仅要合并唯一值的单元格列表。

2。 点击 库工具 > 选择 > 选择重复和唯一单元格,请参见屏幕截图:

3。 在 选择重复和唯一单元格 对话框中选择 全部唯一(包括第一个重复项) 选项下 违反的规则 部分,请参见屏幕截图:

Tips:如果要合并唯一值(不包括首次出现的重复项),请选中 仅唯一值 选项。

doc串联唯一性3

4。 然后点击 OK 按钮,并且只选择了唯一值,然后按 按Ctrl + C 复制它们,然后按将它们粘贴到特定位置 按Ctrl + V,请参见屏幕截图:

doc串联唯一性4

5。 选择粘贴的唯一单元格,然后单击 库工具 > 合并与拆分合并行,列或单元格而不会丢失数据,请参见屏幕截图:

6。 在 合并列或行 对话框,选择 合并成单个单元格 在下面 根据以下选项合并选定的单元格,然后为合并的数据指定分隔符,请参见屏幕截图:

doc串联唯一性6

7。 然后点击 Ok or 申请 按钮,提取的唯一值已连接到一个单元格中,如以下屏幕截图所示:

doc串联唯一性7

立即免费下载Kutools for Excel!


箭头蓝色右气泡 列出唯一值并使用VBA代码连接相应的值

在另一种情况下,您有一个包括两列的数据范围,现在,您只想列出唯一值并连接另一列的相应值以获得以下结果,您是否有任何好的方法来完成这项工作在Excel中?

doc串联唯一性8

在这里,您可以应用以下VBA代码来处理此作业,请执行以下操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:列出唯一值并连接相应的数据

Sub test()
'updateby Extendoffice
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3。 然后按 F5 键运行此代码,并弹出一个提示框,提醒您根据唯一值选择要连接的数据范围,请参见屏幕截图:

doc串联唯一性9

4。 点击 OK,则已提取唯一值,并将它们在另一列中的对应值连接在一起,形成一个新的工作表。

备注:在上面的代码中,您可以更改红色逗号 xArr(xDic.Item(xArr(I,1)),2)= xArr(xDic.Item(xArr(I,1)),2)&“,“&xArr(I,2) 在此脚本中使用您要分隔组合数据的任何其他定界符。


箭头蓝色右气泡 列出唯一值并使用 Kutools for Excel 连接相应的值

如果你有 Kutools for Excel,其 高级组合行 功能,您无需任何代码即可快速轻松地解决此问题。

安装后 Kutools for Excel,请执行以下操作: 立即免费下载Kutools for Excel! )

1。 首先,如果要保留原始数据,则应复制原始数据。 然后根据唯一值选择要连接的数据范围。

2。 然后点击 库工具 > 合并与拆分 > 高级组合行,请参见屏幕截图:

3。 在 高级组合行 对话框中,单击只列出唯一值的列名,然后单击 首要的关键,请参见屏幕截图:

doc串联唯一性11

4。 然后,单击要连接的另一个列名,然后单击 结合,然后选择一个分隔符来分隔合并的数据,请参见屏幕截图:

doc串联唯一性12

5。 然后点击 Ok 按钮,这些值已经根据另一列的唯一值进行了级联,如下图所示:

doc串联唯一性13

立即免费下载Kutools for Excel!

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!