毎月の経費を、費目ごとに合計する。
UNIQUE関数で費目の一覧を出して、それをコピーして貼り付けて、隣にSUMIF関数を入れて、最後に合計を足す。こういう作り方をしている方は多いと思います。
GROUPBY(グループバイ)関数を使うと、この集計表が数式1つでできます。費目の名前も、費目ごとの金額も、一番下の総合計も、全部その1つの数式から出てきます。費目の一覧を先に用意する必要もありません。
この記事では、基本の集計表を作ったあと、金額の大きい順への並べ替え、部署ごとの小計、1つの部署だけの集計まで順に進めます。
GROUPBY関数が使えるExcel
GROUPBY関数は、Microsoft 365のExcelで使える関数です。
自分のExcelで使えるかは、セルに =GROUP まで打ってみると分かります。候補の一覧に「GROUPBY」が出てくれば使えます。
「GROUPBY」が候補に出てこないとき
- 買い切り版のExcel(Excel 2021・Excel 2024など)には、GROUPBY関数がありません
- Microsoft 365でも、Excelが古いままだと出てこないことがあります。「ファイル」→「アカウント」→「更新オプション」から更新してみてください
- GROUPBYを使ったファイルを、GROUPBYが無いExcelで開くと、セルに
#NAME?と出ます。ファイルを渡す相手のExcelにも注意が必要です
例に使う表
10月の経費明細です。A列から順に、日付・部署・費目・内容・金額が並んでいます。見出しが1行目、データは2行目から61行目までの60件です。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 日付 | 部署 | 費目 | 内容 | 金額 |
| 2〜61 | (10月の経費が60件) |
これを、費目ごとの合計の表にします。
覚えるのは最初の3つだけ
GROUPBY関数には指定するところが7つありますが、最初に覚えるのは3つだけです。
| 順番 | 画面の表示 | 意味 | 今回 |
|---|---|---|---|
| 1つ目 | 行フィールド | 何でまとめるか | 費目(C列) |
| 2つ目 | 値 | 何を集計するか | 金額(E列) |
| 3つ目 | 関数 | どう集計するか | 合計(SUM) |
「費目でまとめて、金額を、合計する」。これをそのまま順番に入れます。
基本の集計表を作る
結果を出したいセル(今回はG2)を選んで、次のように入力します。
=GROUPBY(C2:C61,E2:E61,SUM)
入力の手順はこうです。
=GROUPBY(と入力する- C2をクリックして、Ctrl+Shift+↓で費目の列を選ぶ
- カンマを入れて、E2をクリックして、Ctrl+Shift+↓で金額の列を選ぶ
- カンマを入れると関数の候補が出るので、SUMを選ぶ
- かっこを閉じてEnter
G列に費目が並び、H列にそれぞれの合計金額が出ます。一番下には総合計も出ています。
合計が合っているか確かめる
元の表の金額の列(E列)の見出しをクリックすると、画面右下に選んだ範囲の合計が表示されます。ここを「ステータスバー」と言います。この数字と、GROUPBYの総合計が同じなら合っています。
合計が表示されていないときは、ステータスバーを右クリックして「合計」にチェックを入れてください。
行を足しても集計に入らないとき
このままだと、ひとつ困ることがあります。
62行目に新しい経費(10月31日・総務部・研修費・15,000円)を足しても、集計表に研修費が出てきません。
数式を見ると、範囲が C2:C61 E2:E61 のように61行目までで止まっているからです。62行目は範囲の外なので、集計されません。データが増えるたびに数式の範囲を直すのでは、せっかくの自動集計が台無しです。
元の表をテーブルにする
ここで使うのが、Excelのテーブルです。
- 元の表の中をどこか1つクリックする
- Ctrl+Tを押す
- 「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確かめて、OK
- 「テーブルデザイン」タブの左端で、テーブル名を「経費明細」に変える(分かりやすくするため)
数式の範囲をテーブルの列に直す
数式のセルをダブルクリックして、C2:C61 の部分を選び直します。C2をクリックしてCtrl+Shift+↓を押すと、範囲が 経費明細[費目] という書き方に変わります。金額の E2:E61 も同じように選び直します。
=GROUPBY(経費明細[費目],経費明細[金額],SUM)
テーブルの列で指定しておくと、テーブルに行が増えたとき、集計の範囲も一緒に広がります。
試しに63行目に「10月31日・企画部・雑費・花代・3,000円」を足すと、今度は数式を直さなくても、集計表に雑費が出てきます。
GROUPBY関数とテーブルを組み合わせるのが、毎月の集計表を作り直さないためのポイントです。
費目ごとの合計を出すだけなら、ここまでで十分使えます。ここから先は、もう少し便利に使いたい方向けです。
合計ではなく平均・件数を出す
3つ目の「関数」を変えると、集計の仕方が変わります。
=GROUPBY(経費明細[費目],経費明細[金額],AVERAGE) =GROUPBY(経費明細[費目],経費明細[金額],COUNT)
AVERAGEにすると費目ごとの平均、COUNTにすると費目ごとの件数になります。3つ目でカンマを入れたときに出る候補の一覧から選べば、つづりを間違えません。
金額の大きい順に並べ替える
そのままだと、費目は名前の順に並びます。会議や報告に使うなら、金額の大きい順のほうが、どの経費が多いか一目で分かります。
並べ替えは6つ目で指定します。
=GROUPBY(経費明細[費目],経費明細[金額],SUM,,,-2)
SUM のあとにカンマが3つ続いているのは、4つ目と5つ目を飛ばしているからです。使わないところは、カンマだけ打てば飛ばせます。
6つ目に入れる数字の決まりはこうです。
- 数字は、集計結果の何列目を基準にするか(1列目が費目、2列目が金額)
- プラスなら小さい順(昇順)、マイナスなら大きい順(降順)
金額(2列目)の大きい順にしたいので、-2 です。2 にすると、金額の小さい順になります。
部署ごと・費目ごとにまとめる
費目ごとの合計で、どの費目にお金を使っているかは分かりました。次は、それをどの部署が使っているかです。
1つ目の「何でまとめるか」に、部署と費目の2列をまとめて指定します。
=GROUPBY(経費明細[[部署]:[費目]],経費明細[金額],SUM)
B2からC2までを選んでCtrl+Shift+↓を押すと、この書き方になります。部署ごとに、費目別の金額が並びます。
1列を指定すれば費目ごと、2列を指定すれば「部署と費目の組み合わせ」ごと。仕組みは同じです。
※ この [[部署]:[費目]] は、隣り合った列をまとめて指定する書き方です。
部署ごとの小計を出す
この表だと、営業部が全体でいくら使ったかが分かりません。そこで、5つ目の「総計詳細」で小計を出します。
=GROUPBY(経費明細[[部署]:[費目]],経費明細[金額],SUM,,2)
5つ目を 2 にすると、総計に加えて部署ごとの小計も出ます。5つ目を省略したときや 1 にしたときは、一番下の総計だけです。
1つの部署だけを集計する
最後に、全部の部署ではなく、総務部だけの集計表がほしいときです。
7つ目に、残したいデータの条件を書きます。
=GROUPBY(経費明細[[部署]:[費目]],経費明細[金額],SUM,,1,,経費明細[部署]="総務部")
経費明細[部署]="総務部" で、部署が総務部の行だけが集計されます。1つの部署だけなら小計は要らないので、5つ目は 1 にしています。
GROUPBY関数は、集計するだけでなく、集計する前にデータを絞り込むこともできます。
7つの指定の一覧
| 順番 | 画面の表示 | 意味 | この記事での使い方 |
|---|---|---|---|
| 1つ目 | 行フィールド | 何でまとめるか | 経費明細[費目]、経費明細[[部署]:[費目]] |
| 2つ目 | 値 | 何を集計するか | 経費明細[金額] |
| 3つ目 | 関数 | どう集計するか | SUM・AVERAGE・COUNT |
| 4つ目 | フィールドヘッダー | 見出しの扱い | 使っていない |
| 5つ目 | 総計詳細 | 総計・小計 | 1(総計だけ)・2(総計と小計) |
| 6つ目 | 並べ替え | 並べる順番 | -2(金額の大きい順) |
| 7つ目 | フィルター | 集計する行の条件 | 経費明細[部署]=”総務部” |
使わないところは、カンマだけ打って飛ばします。
SUMIF関数・ピボットテーブルとの違い
これまで、こうした集計はSUMIF関数やピボットテーブルで作るのが定番でした。もちろん、今でもそれで作れます。
SUMIF関数は、UNIQUE関数と組み合わせると、費目の一覧も自動にできます。
=UNIQUE(FILTER(C2:C100,C2:C100<>"")) =SUMIF(C2:C100,H2#,E2:E100)
1つ目で空白を除いた費目を重複なしで並べ(H2に入力)、2つ目でその費目ごとに合計しています。H2# は、H2から下に広がった(スピルした)費目全部を指す書き方です。ただ、この形だと総合計は別に作る必要があります。
ピボットテーブルは、費目も合計も出せます。ただ、元のデータを変えたり足したりしたときは、「更新」を押したり、データの範囲を変えたりする手間がかかります。ドラッグで見方をいろいろ変えたいときには便利です。
| GROUPBY | UNIQUE+SUMIF | ピボットテーブル | |
|---|---|---|---|
| 数式の数 | 1つ | 2つ以上 | 数式は使わない |
| 総合計 | 自動で出る | 別に作る | 自動で出る |
| データを足したとき | 自動(テーブルなら) | 自動(範囲を広めにとれば) | 更新が必要 |
| 使えるExcel | Microsoft 365 | Excel 2021以降・365 | ほとんどのExcel |
まとめ
並べ替え、部署ごとの小計、絞り込みまで紹介しましたが、まず覚えるのは最初の3つです。
- 何でまとめるか
- 何を集計するか
- どう集計するか
そして、元のデータをテーブルにしておくこと。これで、行が増えても集計表を作り直さずに済みます。毎月の経費集計や売上集計のように、同じ作業を繰り返している方は、ぜひ試してみてください。
実際に入力していく様子は、動画で見ていただくと分かりやすいです。練習用のファイルも、動画の概要欄からお渡ししています。
【Excel】集計表の作り方|GROUPBY関数なら、項目ごとの合計が式1つで自動化
https://youtu.be/E4u6zB5_KXE
あわせて読みたい記事です。
- 【Excel】スピルとは?1つの数式で答えが広がる仕組みと #SPILL! の直し方
- 【Excel】FILTER関数で複数条件が書けない理由|AND・OR・ワイルドカード・日付のつまずきを8つ解決
- 【Excel】関数の組み合わせ方|答えを次の関数に渡すだけ。仕事で使える7つの例
ほかのExcelのつまずきも、1本ずつ動画にしています。
▼チャンネル登録はこちら
https://www.youtube.com/@pc7663

