メインコンテンツへスキップ

Excelでグループごとに値を合計する

Author: Xiaoyang Last Modified: 2025-08-06

場合によっては、表内のグループに基づいて値を合計する必要があるかもしれません。例えば、製品のリストがあり、それぞれに対応する数量が別の列に記載されているとします。ここで、以下のスクリーンショットのように、各製品の小計を求めたいとします。このチュートリアルでは、Excelでこのタスクを解決するためのいくつかの数式を紹介します。

doc-sum-by-group-1


グループごとに値を合計する – 元のデータテーブルでの小計

Excelでグループに基づいて値を合計するための一般的な構文は次のようになります:

=IF(グループ名=上のセルのグループ名, “” ,SUMIF(グループ範囲,グループ名,合計範囲))
  • グループ名: 合計したいグループ名が入っているセル;
  • 上のセルのグループ名: グループ名の上にあるセル;
  • グループ範囲: グループ名が含まれるセルの範囲;
  • 合計範囲: 指定されたグループ名に対応する、一緒に合計するセルの範囲。

データがグループ化列でソートされており、同じ製品が以下のようにまとめられている場合、グループごとにデータを集計するために、IF関数とSUMIF関数に基づいた数式を作成できます。

doc-sum-by-group-2

1. 次の数式をデータの隣の空白セルにコピーして貼り付けてください:

=IF(A2=A1,"",SUMIF($A$2:$A$13,A2,$B$2:$B$13))
  • 注: 数式において:
  • A1は見出しセルであり、A2は使用したい製品名が入った最初のセルです;
  • A2:A13は、合計対象となる製品名のリストです;
  • B2:B13は、小計を得たい列データです。

2. そして、この数式を使用したいセルまでフィルハンドルをドラッグすると、各製品名に基づいて小計が計算され、次のようなスクリーンショットが表示されます:

doc-sum-by-group-3


数式の説明:

=IF(A2=A1,"",SUMIF($A$2:$A$13,A2,$B$2:$B$13))

  • SUMIF($A$2:$A$13,A2,$B$2:$B$13): このSUMIF関数は、範囲A2:A13内の対応する値が基準A2と等しい場合にのみ、範囲B2:B13の値を合計します。
  • IF(A2=A1,"",SUMIF($A$2:$A$13,A2,$B$2:$B$13)): このIF関数は、列Aの各値がその上のセルの値と同じかどうかを確認します。たとえば、セルA2の値がセルA1と等しい場合、何も返されません(“”)。一致しない場合は、SUMIF関数の結果が返されます。

グループごとに値を合計する – 別の場所での小計

各グループの値がまとまっておらず、列にランダムにリストされている場合、グループまたはカテゴリに基づいて一致する値を合計するには、製品名から各グループ名を抽出し、そのグループ名に基づいて小計を取得する必要があります。以下のようなスクリーンショットをご覧ください。

doc-sum-by-group-4

1. まず、次の配列数式を使用して一意のグループ名を抽出し、Ctrl + Shift + Enterキーを同時に押して最初の結果を得てください。

=INDEX($A$2:$A$13,MATCH(0,COUNTIF($D$1:D1,$A$2:$A$13),0))
  • 注: 数式において:
  • A2:A13は、すべての一意の値を抽出するセルの範囲です;
  • D1は、入力した数式の上にあるセルです。

2. そして、数式セルを選択し、すべての製品名が表示されるまでフィルハンドルを下にドラッグしてください。次のようなスクリーンショットが表示されます:

doc-sum-by-group-5

3. これで、抽出したグループ名に基づいて値を合計できます。この場合、SUMIF関数を使用しますので、次の数式を空白セルに入力してください。この例では、E2セルに入れます。

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

4. そして、他のグループの合計を返すために、この数式をコピーするためにフィルハンドルを下にドラッグしてください。次のようなスクリーンショットが表示されます:

doc-sum-by-group-6


関連する関数:

  • SUMIF:
  • SUMIF関数は、1つの条件に基づいてセルを合計するのに役立ちます。
  • IF:
  • IF関数は特定の条件をテストし、TRUEまたはFALSEに対応する値を返します。

関連記事:

  • 経過日数別に請求額を小計する
  • 以下のスクリーンショットに示すように、経過日数に基づいて請求額を合計することはExcelでの一般的な作業かもしれません。このチュートリアルでは、通常のSUMIF関数を使用して請求額を経過日数別に小計する方法を示します。
  • 最小または下位N個の値を合計する
  • Excelでは、SUM関数を使用してセル範囲を簡単に合計できます。ただし、時には、以下のスクリーンショットに示すように、データ範囲内の最小または下位3、5、またはn個の数字を合計する必要がある場合があります。このような場合、SUMPRODUCT関数とSMALL関数を組み合わせることで、この問題を解決できます。
  • 条件に基づいて最小または下位N個の値を合計する
  • 以前のチュートリアルでは、データ範囲内の最小のn個の値を合計する方法について説明しました。この記事では、さらに高度な操作を行います – Excelで1つまたは複数の条件に基づいて最小のn個の値を合計します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。