KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で重複行を結合して値を合計する(簡単なテクニック)

著者Xiaoyang変更日

Excel では、重複エントリを含むデータセットに遭遇することがよくあります。特に、以下のスクリーンショットのように、対応する列の値を合計しながら重複行を効率的にまとめる必要があるケースがよく課題となります。ここでは、重複データを統合し、関連する値を集計することで、Excel ワークブックの明確性と有用性を高めるための実践的な方法をいくつかご紹介します。


統合機能で重複行を結合して値を合計

「統合」機能は、Excel で複数のワークシートや行をまとめるのに役立つ便利なツールです。この機能を使えば、重複する行を簡単に結合し、対応する値を素早く簡単に合計できます。以下の手順に従ってください:

手順1:出力先セルを選択

統合後のデータを表示する場所を指定してください。

手順2:統合機能にアクセスして設定を行う

  1. 「データ」>「統合」をクリックしてください(下記スクリーンショットをご参照ください)。
    Excel リボンにある「統合」オプションのスクリーンショット
  2. 「統合」ダイアログボックスで:
    • (1。)「関数」ドロップダウンリストから「合計」を選択してください。
    • (2。)「参照」ボックスで、統合したい範囲をクリックして選択してください。
    • (3。)「ラベルの位置」オプションで、「最上行」と「最も左の列」をチェックしてください。
    • (4。)最後に、「OK」ボタンをクリックしてください。
    • 「統合」ダイアログボックスのオプション(集計方法、参照、ラベルの設定を使用)を示すスクリーンショット

結果:

Excel は第1 列の重複を結合し、隣接列の対応する値を以下のスクリーンショットのように合計します:

統合後の Excel のスクリーンショット。重複行が結合され、値が合計されています

注記:
  • 範囲にヘッダー行が含まれていない場合は、「ラベルの位置」オプションで「最上行」のチェックを外してください。
  • この機能では、データの最も左側にある最初の列に基づいてのみ集計処理が行われます。

Kutools で重複行を結合して値を合計

「Kutools for Excel」をインストール済みの方は、「高度な行のマージ」機能で重複行を簡単に結合できます。この機能を使えば、データに対して合計・カウント・平均などの計算オプションを適用でき、キーカラムだけでなく複数のキーカラムにも対応しているため、複雑なデータ統合作業が大幅にスムーズになります。

Kutools for Excelは複雑なタスクを合理化する高度な機能を300 以上提供し、創造性と効率性を高めます。AI 機能を統合することで、Kutools は正確にタスクを自動化し、データ管理を簡単に行えるようにします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

「Kutools for Excel」をインストール後、データ範囲を選択し、「Kutools」→「結合と分割」→「高度な行のマージ」をクリックしてください。

「高度な行のマージ」ダイアログボックスで、以下の操作を設定してください:

  1. 「商品」列をクリックして重複を結合する基準とし、その後、「操作」列のドロップダウンリストから「主キー」を選択します。
  2. 次に、合計したい値が含まれる列名を選択し、「操作」列のドロップダウンリストから「合計」を選びます。
  3. その他の列については、特定の区切り文字で値を結合するか、特定の計算を実行するなど、必要な操作をお選びいただけます。(列が2 つしかない場合は、この手順を省略可能です。)
  4. 最後に、結合結果をプレビューし、「OK」ボタンをクリックしてください。
  5. Kutools の「高度な行の結合」ダイアログボックスのスクリーンショット。重複を結合し値を合計するオプションが含まれています

結果:

これで、キーカラム内の重複する値が結合され、他の対応する値が以下のスクリーンショットのように合計されました:

Kutools を使用して Excel で重複行を結合し値を合計した結果を示すスクリーンショット

ヒント:
  • この便利な機能を使えば、以下のように重複するセルの値に基づいて行を結合することも可能です。
    Kutools を使用して Excel で重複値に基づいて行を結合するアニメーションデモ
  • この機能は「元に戻す」をサポートしています。元のデータを復元したい場合は、Ctrl + Z を押すだけです。
  • この機能をご利用になるには、Kutools for Excel をダウンロードしてインストールしてください

PivotTable で重複行を結合して値を合計

Excel のピボットテーブルは、データを動的に並べ替えたり、グループ化したり、集計したりする強力な手段です。特に、重複エントリを含むデータセットで対応する値を合計したい場合に効果を発揮します。

手順1:PivotTable を作成

  1. データ範囲を選択し、「挿入」タブから「PivotTable」をクリックしてください。スクリーンショットをご参照ください。
    Excel の「挿入」タブから「ピボットテーブル」オプションを選択しているスクリーンショット
  2. 表示されたダイアログボックスで、ピボットテーブルレポートの配置先を指定できます。必要に応じて、新しいワークシートまたは既存のワークシートのいずれかを選択し、「OK」をクリックしてください。スクリーンショットを参照してください。
    ピボットテーブルのダイアログボックスのスクリーンショット。新しいシートまたは既存のシートにテーブルを挿入する選択が可能です
  3. これで、選択したセルにピボットテーブルが挿入されました。スクリーンショットをご参照ください。
    Excel ワークシートに挿入された空のピボットテーブルを示すスクリーンショット

手順2:PivotTable を設定:

  1. 「ピボットテーブルフィールド」ペインで、重複を含むフィールドを「行」エリアにドラッグすると、重複データが自動的にグループ化されます。
  2. 次に、合計したい値を含むフィールドを「値」エリアにドラッグしてください。デフォルトでは、Excel がこれらの値を自動的に合計します。以下のデモをご覧ください:
  3. Excel でピボットテーブルのフィールドを設定して重複をグループ化し値を合計するアニメーションデモ

結果:

これにより、PivotTable 内で重複が統合され、その値が合計されたデータが表示され、分析に最適な明確で簡潔なビューが提供されます。スクリーンショットをご参照ください。

Excel でピボットテーブルを使用して重複行を結合し値を合計した結果を示すスクリーンショット


VBA コードで重複行を結合して値を合計

VBA コードにご興味をお持ちの方へ——このセクションでは、他の列の対応する値を合計しながら重複行を統合する VBA コードをご紹介します。以下の手順に従ってください:

手順1:VBA 標準モジュールエディターを開き、コードをコピー

  1. Excel で「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
  2. 「挿入」>「標準モジュール」をクリックし、次のコードを「標準モジュール」ウィンドウに貼り付けます。
    VBA コード:重複行を結合して値を合計
    Sub CombineDuplicateRowsAndSumForMultipleColumns()
    'Update by Extendoffice
        Dim SourceRange As Range, OutputRange As Range
        Dim Dict As Object
        Dim DataArray As Variant
        Dim i As Long, j As Long
        Dim Key As Variant
        Dim ColCount As Long
        Dim SumArray() As Variant
        Dim xArr As Variant
        Set SourceRange = Application.InputBox("Select the original range:", "Kutools for Excel", Type:=8)
        If SourceRange Is Nothing Then Exit Sub
        ColCount = SourceRange.Columns.Count
        Set OutputRange = Application.InputBox("Select a cell for output:", "Kutools for Excel", Type:=8)
        If OutputRange Is Nothing Then Exit Sub
        Set Dict = CreateObject("Scripting.Dictionary")
        DataArray = SourceRange.Value
        For i = 1 To UBound(DataArray, 1)
            Key = DataArray(i, 1)
            If Not Dict.Exists(Key) Then
                ReDim SumArray(1 To ColCount - 1)
                For j = 2 To ColCount
                    SumArray(j - 1) = DataArray(i, j)
                Next j
                Dict.Add Key, SumArray
            Else
                xArr = Dict(Key)
                For j = 2 To ColCount
                    xArr(j - 1) = xArr(j - 1) + DataArray(i, j)
                Next j
                Dict(Key) = xArr
            End If
        Next i
        OutputRange.Resize(Dict.Count, ColCount).ClearContents
        i = 1
        For Each Key In Dict.Keys
            OutputRange.Cells(i, 1).Value = Key
            For j = 1 To ColCount - 1
                OutputRange.Cells(i, j + 1).Value = Dict(Key)(j)
            Next j
            i = i + 1
        Next Key
        Set Dict = Nothing
        Set SourceRange = Nothing
        Set OutputRange = Nothing
    End Sub
    

手順2:コードを実行

  1. このコードを貼り付けたら、「F5」キーを押して実行してください。プロンプトボックスが表示されたら、結合および合計したいデータ範囲を選択し、「OK」をクリックします。
    VBA 入力ボックスで重複行を結合・合計するためのデータ範囲を選択しているスクリーンショット
  2. 次のプロンプトボックスで、結果を表示するセルを選択して「OK」をクリックしてください。
    VBA 入力ボックスで結合・合計結果の出力セルを選択しているスクリーンショット

結果:

これで重複する行が結合され、対応する値が合計されました。スクリーンショットをご参照ください。

重複行を結合し値を合計する VBA コード実行後の結果を示すスクリーンショット


Excel で重複する行を結合して合計するのは、簡単かつ効率的にできます。「統合」機能の手軽さ、「Kutools」の高度な機能、分析に最適なピボットテーブル、柔軟な VBA コーディングの中から、あなたのスキルやニーズにぴったりの解決策をお選びください。さらに多くのExcel テクニックやヒントを知りたい方は、当サイトで数千ものチュートリアルをご用意しています。こちらをクリックしてアクセスしてください。ご一読いただき、誠にありがとうございました。今後も有益な情報を提供できるよう、精進してまいります!


関連記事:

  • 重複に基づいて複数の行を1 行に結合
  • 例えば、商品名が記載された列 A にいくつかの重複アイテムを含むデータ範囲があり、列 A の重複エントリを削除すると同時に、列 B の対応する値を結合したい場合、Excel でこのタスクをどのように実行すればよいでしょうか?
  • 重複を除いて複数の値を Vlookup して返す
  • 場合によっては、VLOOKUP を使って複数の一致値を一度に1 つのセルに返したいことがあります。しかし、返されたセルに重複する値が含まれている場合、以下のスクリーンショットのように、Excel で一致するすべての値を取得する際に重複を除外し、一意の値だけを保持するにはどうすればよいでしょうか?
  • 同じ ID/名前を持つ行の結合
  • たとえば、下のスクリーンショットのようなテーブルがあり、注文 ID に基づいて行を結合する必要があります。何かアイデアはありますか?ここでは、この記事で2 つの解決策をご紹介します。