如何在 Excel 中根据条件轻松连接文本?
当您希望将不同的信息片段合并到单个单元格或列中时,在 Excel 中连接文本是一项常规操作。但是,在某些情况下,您需要根据特定条件或标准连接文本,本教程可以提供帮助。在本文结束时,您将学习到简化文本连接任务和提高 Excel 体验效率的基本技巧和策略。因此,如果您准备提升您的 Excel 技能并掌握根据条件连接文本的技巧,让我们开始吧!
轻松根据条件连接文本
在这里,我们将首先列出唯一值,然后使用 VBA 创建一个用户定义的公式,并使用该公式完成任务。因此,让我们来看一个简单的过程,了解如何在 Excel 中轻松根据条件连接文本。
步骤 1
考虑一个 Excel 表格,其中表格中的数据类似于下图。
首先列出唯一值,单击一个空单元格并输入公式 =IFERROR(INDEX(A2:A15, MATCH(0,COUNTIF(D1:D1, A2:A15), 0)), 然后按 Ctrl + Shift + Enter。然后使用自动填充柄向下拖动。
空单元格 > 公式 > Ctrl + Shift + Enter。
步骤 2
现在要创建用户定义的公式,右键单击工作表名称并选择“查看代码”以打开 VBA 应用程序,然后单击“插入”并选择“模块”。
右键单击 > 查看代码 > 插入 > 模块。
步骤 3
然后将以下代码复制到文本框中。
代码
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant 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
步骤 4
然后使用 Alt+Q 关闭 VBA。然后单击一个空单元格,在本例中为单元格 E2,并输入公式 =CONCATENATEIF(A2:A15, D2, B2:B15, ",").
Alt + Q > 空单元格 > 公式 > 输入。
步骤 5
然后使用自动填充柄向下拖动以完成任务。
结论
在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中轻松根据条件连接文本以突出显示特定数据集。
广告