Excelの行を統合する2つの簡単な方法

今すぐ共有:

Excelでデータを分析していると、重複した行が複数含まれている場合があります。このような場合、重複した行を素早く統合したいと思うでしょう。この記事では、そのための2つの簡単な方法をご紹介します。

多くのユーザーは、重複する行をマージし、Excelで対応する値を合計する必要があることがよくあります。 たとえば、次のスクリーンショットのように、Excelワークシートに重複するエントリが多数含まれているデータの範囲があります。 したがって、重複する行を統合し、対応する値を別の列に合計したいと思います。 手動でやると間違いなく面倒です。 したがって、私はそれを実現するために次の2つの方法を利用します。サンプルExcelシート

方法1:「統合」機能を使用する

  1. まず、マージおよび合計されたデータを配置する空白のセルをクリックします。
  2. 次に、「データ」タブに移動し、「統合」ボタンをクリックします。「統合」ボタンをクリックします
  3. ポップアップダイアログボックスで、「機能」ボックスで「合計」が選択されていることを確認します。
  4. 次に、 参照ボタン  「合計」機能を選択します
  5. 後で、統合する範囲を選択してクリックします 参照ボタン  範囲を選択
  6. その後、「統合」ダイアログの「追加」ボタンをクリックします。参照用の範囲を追加
  7. 続いて、「一番上の行」と「左の列」オプションをチェックします。「一番上の行」と「左の列」でラベルを使用する
  8. 最後に「OK」ボタンをクリックします。
  9. 次のスクリーンショットに示すように、一度に行が統合されます。統合データ

方法2:ExcelVBAコードを使用する

  1. 最初に、必要な範囲を選択します。範囲を選択
  2. 次に、「」に従ってVBAエディターをトリガーします。ExcelでVBAコードを実行する方法"
  3. 次に、次の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

VBAコード-行を統合する

  1. その後、「F5」を押してこのマクロを実行します。
  2. マクロが終了すると、新しいExcelブックが表示され、下の画像のように、マージされた行と合計されたデータを確認できます。新しい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

今すぐ共有:

コメントは締め切りました。