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

ピボットテーブルで値に基づいて行を圧縮する
Kutools for Excel で値に基づいて行を圧縮する
数式で値に基づいて行を圧縮する
VBA マクロで行を圧縮して集計する
ピボットテーブルで値に基づいて行を凝縮する
Excel のピボットテーブル機能は、特に1 つの列に含まれる重複する値に基づいて行を凝縮し、別の列の数値データを集計したいときに、データを素早く効率的にサマリー化するために設計されています。この機能は、結果をさらにグループ化・フィルタリング・分析できるインタラクティブなサマリーテーブルを求めているユーザーに最適です。ピボットテーブルは大規模なデータセットの処理に優れており、最小限の手間で簡単に更新できます。
1。列ヘッダーを含むデータの全範囲を選択し、リボンの上部にある挿入タブに移動します。次に、ピボットテーブルをクリックすると、「ピボットテーブルの作成」ダイアログボックスが表示されます。ワークフローに応じて、ピボットテーブルを新しいワークシートに配置するか、既存のワークシートに配置するかを選択し、OKをクリックしてください。スクリーンショットを参照してください:
2。「ピボットテーブルフィールド」ペインで、注文フィールドを行エリアに、売上フィールドを値エリアにドラッグすると、各注文ごとの一意のリストとその売上合計が自動的にサマリーテーブルとして生成されます。
ヒント:デフォルトでは、ピボットテーブルは数値列を合計します。平均、個数、最小値、最大値など、他の集計方法を使いたい場合は、「値」セクションにある「売上の合計」の横のドロップダウン矢印をクリックし、値のフィールドの設定を選択して、目的に応じた集計方法をお選びください。
メリット:
- 動的分析やデータ探索に最適です。
- ソースデータが変更されても、簡単に更新できます。
- フィルタリング、グループ化、レイアウト調整のための多彩なオプションを提供します。
- 高度なカスタマイズを行うには、ピボットテーブルの操作に習熟している必要があります。
Kutools for Excel で値に基づいて行を凝縮する
「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」は売上やその他の数値が含まれる列です。データセットに応じて、これらのセル参照を適宜調整してください。
ヒントと注意事項:
- 数式は元のデータを一切変更せず、並列表示のサマリーレポートに最適です。
- 必要に応じて、COUNTIFやAVERAGEIFなどのその他の集計関数も活用し、分析要件にぴったり合わせることができます。
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 マクロは、大規模または繰り返しのバッチ処理を自動化し、手作業なしで新しい簡略化されたレポートを効率的に生成します。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
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 アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得
