Excelでデータを分析していると、重複した行が複数含まれている場合があります。このような場合、重複した行を素早く統合したいと思うでしょう。この記事では、そのための2つの簡単な方法をご紹介します。
多くのユーザーは、重複する行をマージし、Excelで対応する値を合計する必要があることがよくあります。 たとえば、次のスクリーンショットのように、Excelワークシートに重複するエントリが多数含まれているデータの範囲があります。 したがって、重複する行を統合し、対応する値を別の列に合計したいと思います。 手動でやると間違いなく面倒です。 したがって、私はそれを実現するために次の2つの方法を利用します。
方法1:「統合」機能を使用する
- まず、マージおよび合計されたデータを配置する空白のセルをクリックします。
- 次に、「データ」タブに移動し、「統合」ボタンをクリックします。
- ポップアップダイアログボックスで、「機能」ボックスで「合計」が選択されていることを確認します。
- 次に、
- 後で、統合する範囲を選択してクリックします
- その後、「統合」ダイアログの「追加」ボタンをクリックします。
- 続いて、「一番上の行」と「左の列」オプションをチェックします。
- 最後に「OK」ボタンをクリックします。
- 次のスクリーンショットに示すように、一度に行が統合されます。
方法2:ExcelVBAコードを使用する
- 最初に、必要な範囲を選択します。
- 次に、「」に従ってVBAエディターをトリガーします。ExcelでVBAコードを実行する方法"
- 次に、次のVBAコードをモジュールにコピーします。
Sub MergeRowsSumValues()
Dim objSelectedRange As Excel.Range
Dim varAddressArray As Variant
Dim nStartRow, nEndRow As Integer
Dim strFirstColumn, strSecondColumn As String
Dim objDictionary As Object
Dim nRow As Integer
Dim objNewWorkbook As Excel.Workbook
Dim objNewWorksheet As Excel.Worksheet
Dim varItems, varValues As Variant
On Error GoTo ErrorHandler
Set objSelectedRange = Excel.Application.Selection
varAddressArray = Split(objSelectedRange.Address(, False), ":")
nStartRow = Split(varAddressArray(0), "$")(1)
strFirstColumn = Split(varAddressArray(0), "$")(0)
nEndRow = Split(varAddressArray(1), "$")(1)
strSecondColumn = Split(varAddressArray(1), "$")(0)
Set objDictionary = CreateObject("Scripting.Dictionary")
For nRow = nStartRow To nEndRow
strItem = ActiveSheet.Range(strFirstColumn & nRow).Value
strValue = ActiveSheet.Range(strSecondColumn & nRow).Value
If objDictionary.Exists(strItem) = False Then
objDictionary.Add strItem, strValue
Else
objDictionary.Item(strItem) = objDictionary.Item(strItem) + strValue
End If
Next
Set objNewWorkbook = Excel.Application.Workbooks.Add
Set objNewWorksheet = objNewWorkbook.Sheets(1)
varItems = objDictionary.keys
varValues = objDictionary.items
nRow = 0
For i = LBound(varItems) To UBound(varItems)
nRow = nRow + 1
With objNewWorksheet
.Cells(nRow, 1) = varItems(i)
.Cells(nRow, 2) = varValues(i)
End With
Next
objNewWorksheet.Columns("A:B").AutoFit
ErrorHandler:
Exit sub
End Sub
- その後、「F5」を押してこのマクロを実行します。
- マクロが終了すると、新しいExcelブックが表示され、下の画像のように、マージされた行と合計されたデータを確認できます。
比較
| 優位性 | デメリット | |
| 方法1 | 操作しやすいです | 隣接していないXNUMXつの列を処理できません |
| 方法2 | 1.再利用に便利 | 1.VBA初心者にとって理解するのは少し難しい |
| 2.マージされたデータを新しいファイルに配置するという点で元のExcelシートを台無しにしない | 2.隣接していないXNUMXつの列を処理できません |
Excelのクラッシュに遭遇したとき
ご存知のとおり、Excelはときどきクラッシュする可能性があります。 この状況では、最悪の場合、現在のExcelファイルが直接破損する可能性があります。 その時、あなたは試みるしかない Excelの回復。 専門家に助けを求めるか、次のような専用のExcel修復ツールを使用する必要があります。 DataNumen Excel Repair.
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 腐敗した SQL Server と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com








