如何在 Excel 中根据条件轻松连接文本?

ms excelmicrosoft technologiescomputers更新于 2024/8/26 5:00:17

当您想要将不同的信息合并到单个单元格或列中时,在 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 中根据条件轻松连接文本以突出显示特定的一组数据。


相关文章


有用资源