提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何根據Excel中的重複項將多行組合成一個?

也許,您有以下屏幕截圖數據,在產品名稱列A中,有一些重複的項目,現在您需要刪除列A中的重複條目,但在列B中組合了相應的值,請參閱屏幕截圖:

DOC  - 高級 -  combine1 -2 DOC  - 高級 -  combine2

你有一些有效的方法來解決這個任務嗎?

將多個重複行組合成一個包含VBA代碼的行

將多個重複行組合成一個Kutools for Excel

合併多個重複行並將值與Kutools for Excel進行求和/平均

Office選項卡在Office中啟用選項卡式編輯和瀏覽,使您的工作更輕鬆......
Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%
  • 重用任何東西: 將最常用或最複雜的公式,圖表和其他任何內容添加到您的收藏夾中,並在將來快速重複使用它們。
  • 超過20文本功能: 從文本字符串中提取數字; 提取或刪除部分文字; 將數字和貨幣轉換為英文單詞。
  • 合併工具:將多個工作簿和工作表合二為一; 合併多個單元格/行/列,而不會丟失數據; 合併重複的行和總和。
  • 拆分工具:根據價值將數據分割成多個工作表; 一本工作簿可轉換為多個Excel,PDF或CSV文件; 一列到多列。
  • 粘貼跳過 隱藏/過濾行; 數和總和 按背景顏色; 將個性化電子郵件批量發送給多個收件人。
  • 超級過濾器: 創建高級過濾方案並應用於任何工作表; 分類 按週,日,頻率等; 過濾 通過大膽,公式,評論......
  • 超過300強大的功能; 與Office 2007-2019和365一起使用; 支持所有語言; 在您的企業或組織中輕鬆部署。

箭頭藍色右泡將多個重複行組合成一個包含VBA代碼的行


以下VBA代碼可以幫助您根據列A的值組合重複行,並且以下代碼僅適用於兩列。 所以,如果你有兩欄數據,這段代碼會幫你一個忙。

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications窗口.

2。 點擊 插入 > 模塊,並將以下代碼粘貼到 模塊窗口.

VBA代碼:將多行組合成一個

Sub CombineRows()
'Update 20131202
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
    xvalue = arr(i, 1)
    If Dic.Exists(xvalue) Then
        Dic(arr(i, 1)) = Dic(arr(i, 1)) & " " & arr(i, 2)
    Else
        Dic(arr(i, 1)) = arr(i, 2)
    End If
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub

3。 然後按 F5 鍵,彈出提示框提醒您選擇需要組合的範圍。 看截圖:

DOC  - 高級 -  combine3

4。 然後點擊 OK,B列中的值已合併為一條記錄並用空格分隔。

DOC  - 高級 -  combine4

筆記:

1。 此代碼可能會破壞原始數據,當您使用它時,您最好先備份數據。

2。 此代碼僅適用於兩列,如果您的列數多於兩列,則此代碼僅合併前兩列並移除其他列數據。 當你使用這些代碼時,你必須謹慎。


箭頭藍色右泡將多個重複行組合成一個Kutools for Excel

既然上面的代碼有一些限制和風險,是否有一個方便和安全的方式來完成這項工作? 同 Kutools for Excel先進的組合行 實用程序,您可以快速刪除您基於並合併的列中的多個重複行,或者為其他記錄計算一些適當的單元格。

Kutools for Excel 包含了比300更方便的Excel工具。 免費試用30天無限制。 立即獲取.

安裝Kutools for Excel後,請按如下操作:

1。 選擇要合併重複項的範圍數據。

DOC  - 高級 -  combine5

2。 然後點擊 Kutools > 內容轉換器 > 先進的組合行。 看截圖:

DOC  - 高級 -  combine6

3。 在 先進的組合行 對話框中,選擇列名稱作為要合併基於的值的鍵列,然後單擊 主要欄目。 看截圖:

DOC  - 高級 -  combine7

4。 然後繼續點擊您需要將其值合併到一條記錄中的列,然後單擊 合併操作 並選擇 只與分離器結合使用,然後選擇一個分隔符來分隔右列表中的組合值。 看截圖:

DOC  - 高級 -  combine8

5。 完成設置後,單擊 OK,您的數據將根據鍵列進行合併,並用分隔符分隔。

DOC  - 高級 -  combine9

請注意: 如果您不需要為其餘列設置操作,請保持默認狀態。


箭頭藍色右泡合併多個重複行並將值與Kutools for Excel進行求和/平均

有了這個多功能 先進的組合行 實用程序,您可以組合重複的行並對值進行一些計算。

1。 選擇要合併重複項的範圍數據。

2。 去的 先進的組合行 對話框;

  • (1。)選擇一個列名稱作為要根據其計算其他列值的關鍵列,然後單擊 主要欄目;
  • (2)。選擇需要對這些值進行一些計算的列,然後單擊 合併操作 > 結合計算,然後選擇一個你需要的計算類型,在這種情況下,我選擇 總和。 看截圖:

DOC  - 高級 -  combine10

3。 如果您不需要為其餘列設置操作,只需保持默認狀態,然後單擊 OK,並且列A中的重複值將被合併,並且列B中的相應值將相加。 查看屏幕截圖:

DOC  - 高級 -  combine11 -2 DOC  - 高級 -  combine12

筆記:

1。 如果你檢查 我的數據有標題 選項,當您應用此實用程序時,範圍的標題(第一行)將被忽略。

2. 使用格式化的值:它將在組合重複單元格後保留值的格式。

3。 該實用程序不適用於過濾數據。

點擊了解有關此高級組合行功能的更多信息。


相關文章:

組合重複的行並對這些值進行求和


Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及你以前用過的任何東西; 加密單元格 密碼; 創建郵件列表 並發送電子郵件...
  • 超級方程式酒吧 (輕鬆編輯多行文字和公式); 閱讀佈局 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不丟失數據; 分裂細胞含量; 組合重複的行/列...防止重複的細胞; 比較範圍...
  • 選擇複製或唯一 行; 選擇空行 (所有細胞都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇......
  • 精確複製 多個單元格而不更改公式參考; 自動創建參考 多張表; 插入項目符號,複選框等等......
  • 提取文本,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級過濾器 (將過濾方案保存並應用到其他工作表); 高級排序 按月/週/日,頻率等; 特殊過濾器 用粗體,斜體......
  • 結合工作簿和工作表; 根據鍵列合併表; 將數據拆分為多個表格; 批量轉換xls,xlsx和PDF...
  • 超過300強大的功能。 支持Office / Excel 2007-2019和365。 支持所有語言。 在您的企業或組織中輕鬆部署。 全功能30天免費試用。
kte tab 201905

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ashley · 1 years ago
    I have used the code above successfully in the past however today, it is deleting column B. Looks like it's just removing duplicates...not sure what the issue is.

    Sample Data
    Reece, Ashley G01-Registered-UWG
    Reece, Chris G02-Registered-KSU
    Reece, Chris G03-Dropped-KSU
    Reece, Jayden G02-Registered-UNG
    Reece, Jayden G02-Withdrawn-UNG
  • To post as a guest, your comment is unpublished.
    Muveen · 2 years ago
    I have in column A

    1 Cast
    2 Crew
    3 Hiring
    4 Cast
    5 Hiring
    6 Crew

    I need these unique CAST CREW AND HIRING in another column without delete in column A entries.

    Ex: I need (after formula)

    1 Cast
    2 Crew
    3 Hiring

    Is it possible by formula?
  • To post as a guest, your comment is unpublished.
    Ilaiyaraja · 3 years ago
    Above Macro only Combine the limited cell(e.g 20 cells) in b column. How to Combine more cells
  • To post as a guest, your comment is unpublished.
    David Greene · 5 years ago
    I've found that the "Combine multiple duplicate rows and sum/average the values" feature within KUTools does not work if the numbers in the row have a comma or period. This makes the tool unusable for combining and summing currency fields (which is why I tried the product in first place). I'm currently using the trial version which states that it is full-functioned; is it possible that this works in the paid version?
    • To post as a guest, your comment is unpublished.
      Admin-jay · 5 years ago
      [quote name="David Greene"]I've found that the "Combine multiple duplicate rows and sum/average the values" feature within KUTools does not work if the numbers in the row have a comma or period. This makes the tool unusable for combining and summing currency fields (which is why I tried the product in first place). I'm currently using the trial version which states that it is full-functioned; is it possible that this works in the paid version?[/quote]
      Sorry, we will fix it in next version.