如何在 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 中輕鬆根據條件連線文字以突出顯示特定資料集。
廣告