如何在 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 > 空單元格 > 公式 > 輸入。

步驟 5

然後使用自動填充柄向下拖動以完成任務。

結論

在本教程中,我們使用了一個簡單的示例來演示如何在 Excel 中輕鬆根據條件連線文字以突出顯示特定資料集。

更新於: 2023-07-13

760 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告