如何在 Excel 中根据条件轻松连接文本?
当您想要将不同的信息合并到单个单元格或列中时,在 Excel 中连接文本是一项常规操作。但是,有时您需要根据特定条件连接文本,本教程可以为您提供帮助。读完本文后,您将学到一些简化文本连接工作并提高 Excel 效率的重要技巧和策略。所以,如果您准备好提升 Excel 技能并掌握根据条件连接文本的技巧,那就开始吧!
根据条件轻松连接文本
在这里,我们将首先列出唯一值,然后使用 VBA 创建用户定义公式并使用该公式完成任务。让我们通过一个简单的流程来了解如何在 Excel 中根据条件轻松连接文本。
步骤 1
假设有一个 Excel 工作表,其中的数据与下图类似。

首先,要列出唯一值,请点击一个空单元格,并输入公式 =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 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($A$2:$A$15, D2, $B$2:$B$15, ",")。
Alt + Q > 空单元格 > 公式 >Enter。

步骤 5
然后使用自动填充手柄向下拖动以完成任务。

总结
在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中根据条件轻松连接文本以突出显示特定的一组数据。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/


