メインコンテンツへスキップ
 
著者:シャオヤン 最終更新日:2023年12月01日

Excel では、重複したエントリを含むデータセットに遭遇するのが一般的なシナリオです。 多くの場合、さまざまなデータがあり、次のスクリーンショットに示すように、これらの重複行を効率的に結合しながら、同時に対応する列の値を合計することが重要な課題となることがあります。 これに関連して、重複データを統合し、それらに関連する値を集計して、Excel ブックの明瞭さと実用性の両方を高めるのに役立ついくつかの実用的な方法を詳しく説明します。


Consolidate 関数を使用して重複する行を結合し、値を合計します。

統合は、Excel の複数のワークシートまたは行を統合するのに便利なツールです。この機能を使用すると、重複する行を結合し、対応する値を迅速かつ簡単に合計できます。 次の手順に従ってください。

ステップ 1: 宛先セルを選択する

統合データを表示する場所を選択します。

ステップ 2: 統合機能にアクセスし、統合を設定する

  1. クリック 且つ > 統合する、スクリーンショットを参照してください:
  2. 統合する ダイアログボックス:
    • (1.)選択 合計 から 演算 ドロップダウンリスト;
    • (2.) 統合したい範囲をクリックして選択します。 参照 ボックス;
    • (3.)チェック 上段左の列 から でラベルを使用する オプション;
    • (4.) 最後に、 をクリックします。 OK

結果:

次のスクリーンショットに示すように、Excel は最初の列で見つかった重複を結合し、隣接する列の対応する値を合計します。

注意:
  • 範囲にヘッダー行が含まれていない場合は、必ず次のことを行ってください。 一番上の行のチェックを外します でラベルを使用する オプションを選択します。
  • この機能を使用すると、データの最初の列 (一番左の列) に基づいてのみ計算を統合できます。

重複した行を結合し、強力な機能で値を合計します – Kutools

あなたがインストールしている場合 Kutools for Excel、 その 高度な結合行 この機能を使用すると、重複した行を簡単に結合でき、データに対して合計、カウント、平均、またはその他の計算を実行するオプションが提供されます。 さらに、この機能は XNUMX つのキー列に限定されず、複数のキー列を処理できるため、複雑なデータ統合タスクがはるかに簡単になります。

Note:こんな場合はこちらをご利用ください 高度な結合行 特徴を教えてください Kutools for Excelをダウンロードしてインストールします 最初。

インストールした後 Kutools for Excelをクリックし、データ範囲を選択して、 クツール > マージ&スプリット > 高度な結合行.

高度な結合行 ダイアログボックスで、次の操作を設定してください。

  1. 重複に基づいて結合する列名をクリックします。ここでは、「Product」をクリックしてから、 主キー のドロップダウンリストから 操作 カラム;
  2. 次に、値を合計する列名を選択し、 合計 のドロップダウンリストから 操作 カラム;
  3. 他の列については、値を特定の区切り記号で結合したり、特定の計算を実行したりするなど、必要な操作を選択できます。 (列が XNUMX つしかない場合、この手順は無視できます。)
  4. 最後に、結合した結果をプレビューしてから、 OK

結果:

これで、次のスクリーンショットに示すように、キー列の重複値が結合され、他の対応する値が合計されます。

ヒント:
  • この便利な機能を使用すると、次のデモのように、重複したセル値に基づいて行を結合することもできます。
  • この機能 元に戻すをサポート, 元のデータを復元したい場合は、 を押すだけです。 Ctrlキー+ Z.
  • この機能を適用するには、 Kutools for Excelをダウンロードしてインストールします 最初。

重複した行を結合し、ピボットテーブルで値を合計します。

Excel のピボット テーブルは、データを再配置、グループ化、集計する動的な方法を提供します。 この機能は、重複エントリで満たされたデータセットに直面し、対応する値を合計する必要がある場合に非常に役立ちます。

ステップ 1: ピボット テーブルを作成する

  1. データ範囲を選択します。 そして、に行きます インセット タブをクリックして ピボットテーブル、スクリーンショットを参照してください:
  2. ポップアップされたダイアログ ボックスで、ピボット テーブル レポートを配置する場所を選択します。必要に応じて、新しいシートまたは既存のシートにレポートを配置できます。 次に、クリックします OK。 スクリーンショットを参照してください:
  3. これで、選択した宛先セルにピボット テーブルが挿入されます。 スクリーンショットを参照してください:

ステップ 2: ピボット テーブルの構成:

  1. ピボットテーブルフィールド ペインで、重複を含むフィールドを エリア。 これにより、重複がグループ化されます。
  2. 次に、合計したい値を含むフィールドをドラッグします。 価値観 エリア。 デフォルトでは、Excel は値を合計します。 以下のデモをご覧ください。

結果:

ピボット テーブルには、重複したデータが結合され、その値が合計されて表示されるようになり、分析のための明確かつ簡潔なビューが提供されます。 スクリーンショットを参照してください:


重複する行を結合し、VBAコードで値を合計します

VBA コードに興味がある場合は、このセクションで、重複する行を統合し、他の列の対応する値を合計するための VBA コードを説明します。 次の手順に従ってください。

ステップ 1: VBA シート モジュール エディターを開き、コードをコピーします。

  1. 押したまま Alt + F11 Excelでキーを開いて アプリケーション向け Microsoft Visual Basic 窓。
  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.
  2. 次のプロンプト ボックスで、結果を出力するセルを選択し、 OK.

結果:

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


Excel での重複行の結合と合計は、簡単かつ効率的です。 簡単な統合機能、高度な Kutools、分析ピボット テーブル、または柔軟な VBA コーディングから選択して、スキルとニーズに合ったソリューションを見つけてください。 Excel のヒントやテクニックをさらに詳しく知りたい場合は、当社の Web サイトで何千ものチュートリアルをご覧ください。 ここをクリックしてアクセスしてください。 読んでいただきありがとうございます。今後さらに役立つ情報を提供できることを楽しみにしています。


関連記事:

  • 重複に基づいて複数の行を XNUMX つに結合します
  • おそらく、製品名列 A に一定範囲のデータがあり、重複する項目がいくつかあると考えられます。次に、列 A の重複エントリを削除し、列 B の対応する値を結合する必要があります。Excel でこのタスクをどうやって回避できるでしょうか。 ?
  • Vlookupを実行し、重複することなく複数の値を返します
  • 場合によっては、vlookupを実行して、一致した複数の値を一度にXNUMXつのセルに返したいことがあります。 しかし、返されたセルに繰り返し値が入力されている場合、Excelに示す次のスクリーンショットのように、重複を無視して、一致するすべての値を返すときに一意の値のみを保持するにはどうすればよいでしょうか。
  • 同じID/名前の行を結合します
  • たとえば、下のスクリーンショットのようなテーブルがあり、行を注文IDと組み合わせる必要がありますが、何かアイデアはありますか? ここでは、この記事でXNUMXつのソリューションを紹介します。