如何在Excel中不重复的列中加入文本?
您是否知道如何将列中的文本连接到单元格中而在Excel中没有重复项? 如果在基于特定单元格值的列中加入文本而没有重复项,该怎么办? 本文提供了解决问题的方法。
用公式将列中的文本联接在一起,没有重复项
使用VBA代码根据另一单元格值将一列中的文本联接在一起,没有重复项
使用出色的工具轻松将基于另一个单元格值的文本合并到列中
有关合并单元格的更多教程…
用公式将列中的文本联接在一起,没有重复项
如下面的屏幕截图所示,您希望将A列中的文本连接到一个没有重复的单元格中。 请执行以下操作。
1.选择一个空白单元格,将以下公式复制到其中,然后按 其他 + 转移 + 输入 钥匙在同一时间。
=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12, 0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))
请注意: 在公式, ”, ”是组合文本的分隔符; A2:A12是您将连接在一起的列单元格。 请根据需要更改它们。
现在,指定列中的文本已合并,没有重复。
使用VBA代码根据另一单元格值将一列中的文本联接在一起,没有重复项
有时,您可能需要在一列中加入文本,而不必根据另一个单元格中的值重复创建文本,如下面的屏幕截图所示,您可以按以下步骤进行操作。
1.在工作表中包含您要加入的文本,请按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。
2.在 Microsoft Visual Basic应用程序 窗口中,单击 插页 > 模块 然后将下面的VBA代码复制到“模块代码”窗口中。
VBA代码:根据另一单元格值将列中的文本联接在一起,没有重复项
Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
Dim xRg As Range
Dim xArr As Variant
Dim xCell As Range
Dim xTxt As String
Dim I As Long
Dim xDic As Object
Dim xValue
Dim xStr, xStrValue As String
Dim xB As Boolean
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
xStrValue = xArr(I, 2)
xB = True
For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
If xStr = xStrValue Then
xB = False
Exit For
End If
Next
If xB Then
xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
End If
End If
Next
Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub
3。 按 F5 键来运行代码。 在弹出 Kutools for Excel 对话框中,选择范围,包括将要加入的文本所基于的值和将加入的文本,然后单击 OK 按钮。
然后,提取唯一值,并将它们在另一列中的相应唯一文本合并并放置在新工作表中。
使用出色的工具轻松将基于另一个单元格值的文本合并到列中
申请前 Kutools for Excel请 首先下载并安装.
请注意: 由于该实用程序将直接应用于原始范围,因此请在执行以下操作之前复制原始数据。
1.选择范围(包括要加入的文本和要加入的文本所基于的值),然后单击 库工具 > 内容 > 高级合并行。 看截图:
2.在 高级组合行 对话框,请执行以下操作:
- 选择包含您将基于其连接文本的值的列,然后单击 首要的关键;
- 选择包含要加入单元格的文本的列,然后单击 结合 > 逗号;
- 如果还有列,请为它们指定条件。 在这种情况下,我选择“销售”列,然后选择 计算 > 和。
- 点击 OK 按钮。 看截图:
然后,您可以看到指定列中的所有文本都基于键列进行了连接。 看截图:
如果您想免费试用(30天)此实用程序, 请点击下载,然后按照上述步骤进行操作。
相关文章
合并重复的行并在Excel中对值求和
在Excel中,当您具有一系列包含某些重复项的数据时,您可能总是会遇到此问题,而现在您想要组合重复数据并在另一列中求和相应的值,您如何解决此问题? 尝试本文中的方法。
在Excel中将多个单元格合并为带有空格,逗号或其他分隔符的单元格
当您将多个列或行中的单元格合并为一个单元格时,合并后的数据可能不会被分隔。 但是,如果要用指定的标记(例如空格,逗号,分号或其他标记)将它们分开,该怎么办? 本教程将为您介绍一些方法。
串联单元格以保持Excel中的数字/日期格式
您可能已经注意到,当我们在Excel中应用CONCATENATE函数时,日期格式(2014-01-03)和数字格式,例如货币格式($ 734.7),百分比格式(48.9%),小数位(24.5000)等。被删除并在连接结果中显示为常规数字。 在本文中,我们提出了几种解决方法,以在Excel中保留日期或数字格式来连接数据。
反转Excel中的串联功能
众所周知,Excel中的Concatenate函数可以帮助我们将多个单元格合并为一个单元格,但是,有时您想要做与Concatenate函数相反的操作,这意味着不合并单元格,而是将单元格值拆分为多个单独的单元格。 本文中的方法将有助于解决问题。
如果Excel中的另一列中存在相同的值,则串联单元格
本文提供了一些方法来帮助您轻松连接单元格(如果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%,并减少数百次鼠标单击!