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

Excel で同じ値に基づいて行をすばやくまとめるには?

著者Sun変更日
Excel で重複した注文名を含むデータを示すスクリーンショット
Excel でデータを扱う際、ある列に重複する値が含まれ、対応する数値データを結合または集計する必要があることがよくあります。注文列(重複エントリあり)と売上列の2 つの列がある場合、各一意の注文ごとに売上値を集計して行を統合したいとします(スクリーンショット参照)。本記事では、共通の値に基づいて行を効率的に圧縮するためのいくつかの手法をご紹介します。

ピボットテーブルで値に基づいて行を圧縮する

Kutools for Excel で値に基づいて行を圧縮する
数式で値に基づいて行を圧縮する
VBA マクロで行を圧縮して集計する

ピボットテーブルで値に基づいて行を凝縮する

Excel のピボットテーブル機能は、特に1 つの列に含まれる重複する値に基づいて行を凝縮し、別の列の数値データを集計したいときに、データを素早く効率的にサマリー化するために設計されています。この機能は、結果をさらにグループ化・フィルタリング・分析できるインタラクティブなサマリーテーブルを求めているユーザーに最適です。ピボットテーブルは大規模なデータセットの処理に優れており、最小限の手間で簡単に更新できます。

1。列ヘッダーを含むデータの全範囲を選択し、リボンの上部にある挿入タブに移動します。次に、ピボットテーブルをクリックすると、「ピボットテーブルの作成」ダイアログボックスが表示されます。ワークフローに応じて、ピボットテーブルを新しいワークシートに配置するか、既存のワークシートに配置するかを選択し、OKをクリックしてください。スクリーンショットを参照してください:

2。「ピボットテーブルフィールド」ペインで、注文フィールドをエリアに、売上フィールドをエリアにドラッグすると、各注文ごとの一意のリストとその売上合計が自動的にサマリーテーブルとして生成されます。

ヒント:デフォルトでは、ピボットテーブルは数値列を合計します。平均、個数、最小値、最大値など、他の集計方法を使いたい場合は、「値」セクションにある「売上の合計」の横のドロップダウン矢印をクリックし、値のフィールドの設定を選択して、目的に応じた集計方法をお選びください。
ピボットテーブルの「値フィールドの設定」で他の計算を行うスクリーンショット

メリット:

  • 動的分析やデータ探索に最適です。
  • ソースデータが変更されても、簡単に更新できます。
  • フィルタリング、グループ化、レイアウト調整のための多彩なオプションを提供します。
デメリット:
  • 高度なカスタマイズを行うには、ピボットテーブルの操作に習熟している必要があります。

Kutools for Excel で値に基づいて行を凝縮する

「Kutools for Excel」は、重複する行を簡単に結合してデータをサマリー化できる効率的なソリューションを提供し、繰り返し発生する作業や大規模なタスクに特に役立ちます。複雑な手作業なしに大量のデータを素早く変換・集計したいユーザーに最適です。

注記:Kutools は元のデータ範囲に対して直接操作を実行します。データの安全性を確保するため、マージ後には変更を簡単に元に戻せないため、事前にバックアップを取ってください。
Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。凝縮したいデータ範囲をハイライトします。次に、ツールバーのKutoolsタブをクリックし、結合と分割高度な行のマージを選択してください。

2。「高度な行のマージ」ダイアログが表示されます。以下の操作を行ってください:

  • 重複エントリを含む列のヘッダーをクリックして、それを主キーに設定してください。これにより、Excel がどの値に基づいてデータをグループ化するかが指定されます。
  • 集計したい数値が含まれる列のヘッダーをクリックします。操作ドロップダウンリストの「計算」セクションから、目的に応じて「合計」「平均」「最大値」「最小値」など、最適な集計方法を選びましょう。
  • これらの設定を指定した後、OKをクリックしてマージを実行します。

3。行が凝縮され、選択した列に指定された計算が適用されます。

実用的なヒント:

  • データセットに空白セルや数値以外のテキストが含まれている場合、計算対象の列に数値のみが含まれていることをご確認ください。これにより、予期しない結果を確実に回避できます。
  • 大規模なデータセットで手動でのマージが煩雑になる場合には、特にKutools の使用をおすすめします。
メリット:
  • バッチ処理が非常に高速で、しかも簡単です。
  • 重複データのマージ方法や集計対象の列を、完全に自由にカスタマイズできます。
デメリット:
  • Kutools for Excel アドインをインストールする必要があります。
  • 元のデータ範囲を変更できます(未保存の場合は Ctrl+Z で元に戻せます)。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


数式で値に基づいて行を凝縮する

Excel の数式を使えば、ワークシートの構造を一切変えることなく、データを柔軟にサマリー化できます。この方法は、カスタマイズされたタスクや小規模なデータセットに最適です。また、ソースデータはそのままで、別の領域に情報を凝縮したい場合にもぴったりです。SUMIFなどの代表的な数式を使えば、各一意の値の合計を自動で簡単に計算できます。

1。データ範囲の隣にある空白セル(例:セル D2)を選択し、次の数式を入力してください。最初の一意の値に対して計算を行うには、Shift + Ctrl + Enterキーを押してください。

=INDEX($A$2:$A$12,MATCH(0,COUNTIF($D$1:D1,$A$2:$A$12),0))

注記:数式内の範囲(「A2:A12」は重複の可能性のあるリストを指し、「D1」は結果の出力開始セル)を、実際のワークシートに合わせて調整してください。セル参照が正しく一致していることを確認し、他のセルに数式をコピーする際は絶対参照をご使用ください。

2。数式を入力したセル D2 を選択し、オートフィルハンドルを下にドラッグしてリストの末尾まで、または一意のエントリがすべて表示されたことを示すエラー値が現れるまで続けます。

3。リストの末尾に表示されるすべてのエラーメッセージを削除します。その後、結果エリアの隣接セル(例:E2)に移動し、各エントリの値を合計する次の数式を入力して、Enterキーを押すと、他の行にも自動的に適用されます。

=SUMIF($A$2:$A$12,D2,$B$2:$B$12)

注記:「A2:A12」は重複をチェックする元の列、「D2」は最初の一意な値が入力されるセル、「B2:B12」は売上やその他の数値が含まれる列です。データセットに応じて、これらのセル参照を適宜調整してください。

ヒントと注意事項:

  • 数式は元のデータを一切変更せず、並列表示のサマリーレポートに最適です。
  • 必要に応じて、COUNTIFAVERAGEIFなどのその他の集計関数も活用し、分析要件にぴったり合わせることができます。

VBA マクロで行を凝縮して合計する

特に大規模なデータセットを扱う場合や、同じ値に基づいて行を繰り返し凝縮する必要がある際には、VBA マクロによる自動化で大幅な時間と労力を節約できます。この方法を使えば、数百行から数千行に及ぶデータを一括処理でき、カスタムワークフローに新たな機能を簡単に追加することも可能です。ここでご紹介する VBA ソリューションは、指定列の各一意な項目ごとに別の列の値を集計し、その凝縮結果を新しいワークシートに出力することで、元のデータをそのまま保持します。

1。Excel を開き、Alt+F11 を押してVisual Basic for Applicationsエディターを起動します。VBA エディターで、挿入標準モジュールをクリックし、新しいコードモジュールを作成してください。以下のコードをモジュールウィンドウにコピー&ペーストします:

Sub CondenseAndSumRows()
    Dim srcWS As Worksheet, destWS As Worksheet
    Dim lastRow As Long, i As Long
    Dim dict As Object
    Dim keyCol As String, sumCol As String
    Dim dataRange As Range, cell As Range
    
    On Error Resume Next
    Set dict = CreateObject("Scripting.Dictionary")
    
    Set srcWS = Application.ActiveSheet
    
    ' Prompt to select the whole data range
    Set dataRange = Application.InputBox("Select full data range including headers", "KutoolsforExcel", Type:=8)
    
    keyCol = Application.InputBox("Select header name for key/duplicate column", "KutoolsforExcel", Type:=2)
    sumCol = Application.InputBox("Select header name for numeric/sum column", "KutoolsforExcel", Type:=2)
    
    If dataRange Is Nothing Or keyCol = "" Or sumCol = "" Then Exit Sub
    
    ' Get column numbers by header
    Dim keyColNum As Integer, sumColNum As Integer
    For i = 1 To dataRange.Columns.Count
        If dataRange.Cells(1, i).Value = keyCol Then
            keyColNum = i
        End If
        If dataRange.Cells(1, i).Value = sumCol Then
            sumColNum = i
        End If
    Next i
    
    If keyColNum = 0 Or sumColNum = 0 Then
        MsgBox "Column headers not found. Check header spelling!", vbExclamation
        Exit Sub
    End If
    
    ' Summing values for each key
    For i = 2 To dataRange.Rows.Count
        If Not IsNumeric(dataRange.Cells(i, sumColNum).Value) Then
            ' Ignore non-numeric, prevent errors
            GoTo SkipRow
        End If
        
        If dict.Exists(dataRange.Cells(i, keyColNum).Value) Then
            dict(dataRange.Cells(i, keyColNum).Value) = dict(dataRange.Cells(i, keyColNum).Value) + dataRange.Cells(i, sumColNum).Value
        Else
            dict(dataRange.Cells(i, keyColNum).Value) = dataRange.Cells(i, sumColNum).Value
        End If
SkipRow:
    Next i
    
    ' Output results to new worksheet
    Set destWS = Worksheets.Add
    destWS.Name = "Condensed Summary"
    
    destWS.Cells(1, 1).Value = keyCol
    destWS.Cells(1, 2).Value = "Total " & sumCol
    
    i = 2
    Dim k
    For Each k In dict.Keys
        destWS.Cells(i, 1).Value = k
        destWS.Cells(i, 2).Value = dict(k)
        i = i + 1
    Next k
    
    MsgBox "Condensing complete! Check the worksheet 'Condensed Summary'.", vbInformation
End Sub

2。 次に、モジュールが選択されている状態で、実行ボタンボタンをクリックするか F5 キーを押してマクロを実行します。すると、ダイアログボックスが表示され、ヘッダーを含むデータの全範囲を選択するよう促されます。その後、キー(重複)列と数値(集計)列の列ヘッダーをそれぞれ選択してください。プロンプトに従って操作を進めると、マクロが自動的に一意の値ごとの合計を計算し、結果を「Condensed Summary」という名前の新しいワークシートに書き込みます。これにより、元のシートは安全のために一切変更されません。

トラブルシューティング:

  • 「列ヘッダーが見つかりません」というエラーが表示された場合は、入力したヘッダーがデータシート内のヘッダーと(大文字小文字を区別して)完全に一致していることを確認してください。
  • サマリーが作成されない場合は、範囲を選択してくださいにヘッダーとデータの両方が含まれており、集計対象の列に少なくとも1 つの数値が存在することを確認してください。

メリット:

  • 新しいデータセットにも再利用・応用が可能です。
  • 非常に大きなファイルにも高速に対応でき、外部アドインは不要です。
  • 今後、他のフィールドを組み合わせたり、さらなる計算を自動化したりする形で簡単に拡張できます。

概要

Excel で共通の値に基づいて行を統合または分析する必要がある場合、最適な手法はその目的やワークブックの構造によって異なります。

  • ピボットテーブルは、インタラクティブな分析や素早いサマリー作成に最適で、特にデータが頻繁に変化する環境でその真価を発揮します。
  • Kutools for Excel は、直感的でカスタマイズ可能なマージ機能を提供し、スクリプトを使わずに繰り返しタスクを効率的に処理したいユーザーに最適です。
  • 数式は柔軟性が最も高く、監査が容易で、静的なレポートやカスタムロジックに最適です。
  • VBA マクロは、大規模または繰り返しのバッチ処理を自動化し、手作業なしで新しい簡略化されたレポートを効率的に生成します。
信頼性をさらに高めるには、大規模な変更を行う前に必ずソースデータのバックアップを取り、結果を比較して正確性を確認してください。トラブルシューティングのヒントや実用的な推奨事項については、追加セクションをご参照ください。その他のニーズがある場合やExcel スキルをさらに向上させたい場合は、当社ウェブサイトでは、Excel をマスターするための豊富なチュートリアルをご用意しています。

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得