跳到主要內容

如何基於Excel中的組將行連接到一個單元格中?

這是兩列的範圍,一列是班級列表,另一列是學生姓名列表。 如您所見,有些學生在同一堂課,有些則不在。 現在,我想將同一班級的學生連接到一個單元格中,如下面的屏幕截圖所示,如何在Excel中快速處理它?
doc按組1連接

用公式和過濾器功能分組和連接

分組並連接VBA代碼

分組並連接“高級合併行”好主意3


用公式和過濾器功能分組和連接

在Excel中,您可以將公式應用於基於一列的串聯行,然後使用“篩選器”功能僅顯示結果。

備註:在執行以下步驟之前,您需要按類對數據進行排序。

1.在數據范圍旁邊的空白單元格中,例如C13,鍵入此公式 =IF(A13=A12,C12&", "&B13,B13), 按 Enter 鍵,然後拖動填充手柄將公式填充到單元格中。
doc按組2連接

在公式中,A13是“類別”列中的第一個數據,B13是“名稱”列中的第一個數據,“,”是用於分隔連接內容的分隔符。

2.然後在下一列D13中鍵入此公式 =IF(A13<>A14,"Last","") ,然後向下拖動填充手柄以將公式應用於所需的單元格。
doc按組3連接

3.現在選擇所有數據范圍,包括公式,然後單擊 數據 > Filter 加上 Filter icons 數據。
doc按組4連接

4。 點擊 Filter icon 在最後一個公式標題中,檢查 Last 僅從下拉列表中選中復選框,然後單擊 OK.
doc按組5連接

現在結果顯示如下,如果不需要,您可以刪除最後一個幫助器列。
doc按組6連接


分組並連接VBA代碼

這是一個VBA代碼,也可以處理此工作。

1。 按 Alt + F11 啟用 Microsoft Visual Basic for Applications 窗口。

2.然後在窗口中,單擊 Tools > References 啟用 References 對話框,然後檢查 Microsoft Scripting Runtime。 看截圖:
doc按組7連接
doc按組8連接

3。 點擊 OK,然後點擊 Insert > Module 在VBA窗口中,然後將以下VBA代碼複製並粘貼到 Module 腳本。 看截圖:

VBA:根據組將行連接到一個單元格中

  Sub ConcatenateCellsIfSameValues()
'UpdatebyExtendoffice20180201
    Dim I As Long
    Dim J As Long
    Dim xRg As Range
    Dim xRgKey As Range
    Dim xRgVal As Range
    Dim xStr As String
    Dim xDic As New Dictionary
    On Error Resume Next
    Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
    If xRgKey Is Nothing Then
        MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
    End If
    Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
    For I = 1 To xRgKey.Count
        If I > xRgKey.Count Then Exit For
        xStr = ""
        For J = 1 To xRgVal.Columns.Count
            xStr = xStr & " " & xRgVal(I, J)
        Next
        If xDic.Exists(xRgKey(I).Text) Then
            xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
            xRgKey(I).EntireRow.Delete
            I = I - 1
       Else
            xDic.Add xRgKey(I).Text, xStr
        End If
    Next
    For I = 1 To xRgVal.Count
        xRgVal(I).Value = xDic(xRgKey(I).Text)
    Next
End Sub

doc按組9連接

4。 按 F5 鍵,然後在彈出的對話方塊中選擇您使用的資料範圍。
doc按組10連接

5。 點擊 OK 選擇您想要分組的關鍵列。
doc按組11連接

6。 點擊 OK,現在結果如下圖所示:
doc按組12連接


分組並連接“高級合併行”

這是一個實用程式 Excel的Kutools, Advanced Combine ,它可以合併行或根據 Excel 中的關鍵列進行計算。

Excel的Kutools, 與以上 300 方便的功能,使您的工作更加輕鬆。 

安裝後 Kutools for Excel,請執行以下操作:(立即免費下載Kutools for Excel!)

1. 選擇您使用的資料範圍並點選 Kutools > 合併與拆分 > 高級合併行.
doc按組13連接

2。 在裡面 Advanced Combine Rows 視窗中,選擇要合併行的基礎列,然後按一下 Primary Key 將其設為關鍵列。
doc按組14連接

3.選擇需要合併的列,點選 Combine,然後選擇一個用來分隔組合內容的分隔符號。

doc按組15連接 doc箭頭向右 doc按組16連接

4。 點擊 Ok。 結果如下圖所示:
doc按組17連接

備註:在應用該實用程式之前,您最好擁有原始資料的副本。

最佳辦公生產力工具

🤖 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 (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
la formule excel détaillée plus haut ne fonctionne pas, il y a un problème=IF(A13=A12,C12&", "&B13,B13)
This comment was minimized by the moderator on the site
Hi, could you repeat the qustion in English? This formula I have tried again, it is correct.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations