跳到主要內容

如何在Excel中沒有重複的列中加入文本?

您是否知道如何將列中的文本連接到單元格中而在Excel中沒有重複項? 如果在基於特定單元格值的列中加入文本而沒有重複項,該怎麼辦? 本文提供了解決問題的方法。

用公式將列中的文本連接在一起,沒有重複項
使用VBA代碼根據另一單元格值將一列中的文本聯接在一起,沒有重複項
使用出色的工具輕鬆將基於另一個單元格值的文本合併到列中

有關合併單元格的更多教程…


用公式將列中的文本連接在一起,沒有重複項

如下面的屏幕截圖所示,您希望將A列中的文本連接到一個沒有重複的單元格中。 請執行以下操作。

1.選擇一個空白單元格,將以下公式複製到其中,然後按 其他 + 轉移 + Enter 鑰匙在同一時間。

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12, 0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))

注意: 在公式, ”, ”是組合文本的分隔符; A2:A12是您將連接在一起的列單元格。 請根據需要更改它們。

現在,指定列中的文本已合併,沒有重複。


使用VBA代碼根據另一單元格值將一列中的文本聯接在一起,沒有重複項

有時,您可能需要在一列中加入文本,而不必根據另一個單元格中的值進行重複操作,如下面的屏幕截圖所示,您可以按以下步驟進行操作。

1.在工作表中包含您要加入的文本,請按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊 然後將下面的VBA代碼複製到“模塊代碼”窗口中。

VBA代碼:根據另一單元格值將一列中的文本聯接在一起,沒有重複項

Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    Dim xValue
    Dim xStr, xStrValue As String
    Dim xB As Boolean
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xStrValue = xArr(I, 2)
           xB = True
            For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
                If xStr = xStrValue Then
                    xB = False
                    Exit For
                End If
            Next
            If xB Then
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
            End If
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3。 按 F5 鍵來運行代碼。 在彈出 Excel的Kutools 對話框,選擇範圍,包括將要加入的文本所基於的值和將加入的文本,然後單擊 OK 按鈕。

然後,提取唯一值,並將它們在另一列中的相應唯一文本合併並放置在新工作表中。


使用出色的工具輕鬆將基於另一個單元格值的文本合併到列中

也許您不擅長公式或VBA代碼。 在這裡推薦 高級合併行 的效用 Excel的Kutools 為了你。 使用此實用程序,您只需單擊幾下,即可基於另一個單元格中的值輕鬆地將文本合併到列中。

申請前 Excel的Kutools首先下載並安裝.

注意: 由於該實用程序將直接應用於原始範圍,因此請在執行以下操作之前複製原始數據。

1.選擇範圍(包括要加入的文本和要加入的文本所基於的值),然後單擊 庫工具 > 內容 > 高級合併行。 見截圖:

2。 在裡面 高級合併行 對話框,請執行以下操作:

  • 選擇包含您將基於其連接文本的值的列,然後單擊 首要的關鍵;
  • 選擇包含要加入單元格的文本的列,然後單擊 結合 > 逗號;
  • 如果還有剩餘的列,請為其指定條件。 在這種情況下,我選擇“銷售”列,然後選擇 計算 > 和。
  • 點擊 OK 按鈕。 看截圖:

然後,您可以看到指定列中的所有文本都基於鍵列進行了連接。 看截圖:

  如果您想免費試用(30天)此實用程序, 請點擊下載,然後按照上述步驟進行操作。


相關文章

合併重複的行並在Excel中對值求和
在Excel中,當您具有一系列包含某些重複項的數據時,您可能總是會遇到此問題,而現在您想要組合重複數據並在另一列中求和相應的值,您如何解決此問題? 請嘗試本文中的方法。

在Excel中將多個單元格合併為帶有空格,逗號或其他分隔符的單元格
當您將多個列或行中的單元格合併為一個單元格時,合併後的數據可能不會被分隔。 但是,如果要用指定的標記(例如空格,逗號,分號或其他標記)將它們分開,該怎麼辦? 本教程將為您介紹一些方法。

串聯單元格以保持Excel中的數字/日期格式
您可能已經註意到,當我們在Excel中應用CONCATENATE函數時,日期格式(2014-01-03)和數字格式,例如貨幣格式($ 734.7),百分比格式(48.9%),小數位(24.5000)等。被刪除並在連接結果中顯示為常規數字。 在本文中,我們提出了幾種解決方法,以在Excel中保留日期或數字格式來連接數據。

反轉Excel中的串聯功能
眾所周知,Excel中的Concatenate函數可以幫助我們將多個單元格合併為一個單元格,但是,有時候,您想要做與Concatenate函數相反的操作,這意味著不合併單元格,而是將單元格值拆分為多個單獨的單元格。 本文中的方法將有助於解決問題。

如果Excel的另一列中存在相同的值,則串聯單元格
本文提供了一些方法來幫助您輕鬆連接單元格(如果Excel的另一列中存在相同的值)。

有關合併單元格的更多教程…

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

產品描述


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I like this formula, but often times i will have a blank cell in my data range and yet this formula won't work with blanks. how would i handle blank cells?
This comment was minimized by the moderator on the site
Thanks! This was helpful. I found that the formula below did the trick. I just needed to select a range to combine text, but didn't want to duplicate values.
=TEXTJOIN(", ",TRUE,UNIQUE($A2:$K2,TRUE))
This comment was minimized by the moderator on the site
This is a much easier way to join unique items based on another column:

=TEXTJOIN(", ",TRUE,UNIQUE(IF(Table1[Category]=Table2[Unique Categories],Table1[Items to Join],"")))

Works a treat, I use it a lot.
This comment was minimized by the moderator on the site
Thanks a Lot. You saved me.
This comment was minimized by the moderator on the site
Omg. You're a lifesaver, I was trying way more complex formulas and this worked like a charm! Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations