如何根据Excel中的条件轻松串联文本?
假设我有一列ID号,其中包含一些重复项和一列名称,现在,我想根据唯一ID号将名称连接起来,如左图所示,以便根据条件快速合并文本,我们如何在Excel中做?
根据条件使用用户定义的功能连接文本
要将文本与唯一ID号组合在一起,可以先提取唯一值,然后创建用户定义函数以根据唯一ID组合名称。
1。 以以下数据为例,您需要首先提取唯一的ID号,请应用此数组公式: =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),""),将此公式输入一个空白单元格(例如D2),然后按 Ctrl + Shift + Enter 键在一起,请参见屏幕截图:
Tips::在以上公式中, A2:A15 是您要从中提取唯一值的列表数据范围, D1 是要提取结果的列的第一个单元格。
2。 然后向下拖动填充手柄以提取所有唯一值,直到显示空白为止,请参见屏幕截图:
3。 在此步骤中,您应该创建一个 用户定义功能 要根据唯一ID号组合名称,请按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。
4。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。
VBA代码:根据条件连接文本
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
Next i
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function
5. 然后保存并关闭此代码,返回到工作表,并在单元格E2中输入此公式, = CONCATENATEIF($ A $ 2:$ A $ 15,D2,$ B $ 2:$ B $ 15,“,”) ,请参见屏幕截图:
6。 然后将填充手柄向下拖动到要应用此公式的单元格上,并且所有相应的名称都已根据ID编号组合在一起,请参见屏幕截图:
提示:
1.在上式中 A2:A15 是您要基于合并的原始数据, D2 是您提取的唯一值,并且 B2:B15 是您要组合在一起的名称列。
2.如您所见,我组合了用逗号分隔的值,可以根据需要更改公式的逗号“,”来使用其他任何字符。
使用 Kutools for Excel 根据条件连接文本
如果你有 Kutools for Excel,其 高级组合行 实用程序,您可以根据标准快速方便地连接文本。
Kutools for Excel : 带有300多个便捷的Excel加载项,可以在30天内免费试用. |
安装后 Kutools for Excel,请执行以下步骤:
1。 根据一列选择要合并的数据范围。
2。 点击 库工具 > 合并与拆分 > 高级组合行,请参见屏幕截图:
3。 在 根据列合并行 对话框中,单击“ ID”列,然后单击 首要的关键 将此列作为合并数据所基于的关键列,请参见屏幕截图:
4。 然后点击 名称 要合并值的列,然后单击 结合 选项,然后为合并的数据选择一个分隔符,请参见屏幕截图:
5。 完成这些设置后,单击 OK 退出对话框,并且B列中的数据已基于键A列合并在一起。请参见屏幕截图:
使用此功能,将尽快解决以下问题:
演示:使用 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%,并减少数百次鼠标单击!