日々の業務で、Excelを使ったデータ集計に頭を悩ませていませんか?
「担当者ごとに件数を数えたい」「部署と担当者の複数条件でデータをまとめたい」と思ったとき、これまではピボットテーブルを使ったり、UNIQUE関数とCOUNTIFS関数を組み合わせたりと、いくつもの手順を踏む必要がありました。
しかし、Excelの最新機能である「GROUPBY関数」を使えば、そうした面倒な作業がたった一つの数式で完結します。

この記事では、Excel中級者の方に向けて、実務で今すぐ活かせるGROUPBY関数の具体的な使い方を解説します。
数式一つで集計表が自動作成され、元のデータが更新されればリアルタイムで結果も変わる。そんな魔法のような関数の使い方を、具体的な事例を交えながら優しく紐解いていきましょう。
【30秒で把握】この記事の簡単なまとめ
「今すぐ結論だけ知りたい!」という方のために、まずはGROUPBY関数の要点とこの記事のハイライトを簡単にまとめます。
- GROUPBY関数の本質:
「グループ分け」と「集計」を1つの数式で同時に行ってくれる画期的な新関数です。 - 基本の形:
=GROUPBY(グループ化したい列, 集計したい列, 計算方法) - 個数を数えたい時:
計算方法の部分に「COUNT」や「COUNTA」を指定するだけで、項目ごとの件数が一瞬で表示されます。 - 最大のメリット:
- ピボットテーブルのように「更新ボタン」を押す必要がなく、データが増減しても自動で表が追従します。

まずはこのイメージを持った上で、具体的な使い方を見ていきましょう。
Excelの新機能「GROUPBY関数」とは?
GROUPBY関数でできること
GROUPBY関数は、一言で表すなら「数式版のピボットテーブル」です。
例えば、毎月の採用活動において「エージェント別の応募者リスト」や「面接官別の担当面接リスト」といった膨大なデータがあるとします。この中から「どの面接官が、今月何件の面接を担当したか」をまとめたい場面はよくありますよね。
これまでは、重複しない面接官のリストを別の場所に作り、その横にCOUNTIFS関数を入れて下の行までオートフィルでコピーする……といった作業が必要でした。
しかしGROUPBY関数を使えば、集計したい列を指定するだけで、一瞬にして見やすい集計表(縦の項目名、横の集計値、そして一番下の合計行まで!)を自動で作成してくれます。
GROUPBY関数の基本構文と必須の引数
GROUPBY関数の基本的な形は、とてもシンプルです。まずは以下の3つの「引数(ひきすう)」を設定するだけで動きます。
=GROUPBY(行フィールド, 値, 関数)
他にも、見出しを表示するかどうかを決める「フィールド見出し」や、並べ替えを行う「ソート順」といったオプション設定もありますが、まずはこの基本の3つを覚えるだけで実務の大部分をカバーできます。
具体例1:GROUPBY関数でデータの個数を集計する(COUNT)
ここからは、実務でよくあるシーンを想定して具体的な使い方を解説します。
今回は人事や採用の現場でよく使われる「採用候補者管理表」を例に、「担当者ごとの面接担当件数」を数える手順を見ていきましょう。
COUNT・COUNTAを指定した基本的な集計手順
以下のような、A列に「応募者名」、B列に「志望職種」、C列に「面接担当者」が入力された元データがあるとします。
【元データ:採用候補者管理表】

この表から、面接担当者ごとの担当件数を集計します。
空いているセル(例えばF2セル)を選択し、以下のように入力します。
=GROUPBY(C2:C7, A2:A7, COUNTA)
手順はこれだけです!
第1引数でグループ化したい「面接担当者(C列)」を指定し、第2引数で数えたい対象である「応募者名(A列)」を指定します。そして第3引数で、空白以外のセルの個数を数える「COUNTA」を指定します。
数値のみを数えたい場合は「COUNT」を使いますが、今回のように名前(文字列)を数える場合は「COUNTA」を使うのがポイントです。
Enterキーを押した瞬間に、以下のような集計表が自動で作成されます。
【集計結果:担当者別の面接件数】

従来のCOUNTIFS関数との違いと優位性
「便利そうだけど、今まで通りCOUNTIFS関数を使えばいいのでは?」と感じる方もいらっしゃるかもしれません。
実は、日々のメンテナンスの手間という点で、両者には圧倒的な違いがあります。
| 比較項目 | 従来のUNIQUE+COUNTIFS関数 | 最新のGROUPBY関数 |
|---|---|---|
| 数式の入力箇所 | リスト用と集計用で最低2箇所必要 | 最初のセル1箇所のみ |
| オートフィルの必要性 | 行が増えるたびにコピーが必要 | スピル機能により不要(自動展開) |
| 新担当者が増えた時 | 関数を手動で下にコピーし直す手間が発生 | 完全自動で新しい行が追加・集計される |
| 作業の確実性 | コピー漏れによる集計ミスのリスクあり | 数式が1つのためミスが起こりにくい |
表からもわかる通り、データに新しい担当者が追加された際、従来の方法では関数をコピーし忘れて集計が漏れてしまうリスクがありました。しかしGROUPBY関数なら、動的配列(スピル機能)が働くため、元データに新しい項目が増えた瞬間に勝手に行が増えて集計が実行されます。
作業の手間が減るだけでなく、ヒューマンエラーを防げるのが大きな優位性です。
具体例2:複数条件を指定して集計する便利ワザ
実務では、「担当者ごとの件数」だけでなく、「職種別かつ担当者別」のように複数の条件を掛け合わせて集計したいケースも多いですよね。ここからは、Excel中級者以上の方にぜひマスターしていただきたい応用テクニックをご紹介します。
2つ以上の項目(複数列)をグループ化して集計する方法
先ほどの元データを使って、「志望職種」と「面接担当者」の2つの条件でグループ化し、件数を集計してみましょう。
隣り合っている列であれば、第1引数を選ぶ際に、B列とC列をガバッとまとめて範囲選択するだけでOKです。
=GROUPBY(B2:C7, A2:A7, COUNTA)
これだけで、職種と担当者の2軸でクロス集計された表が出力されます。
【集計結果:職種別・担当者別の面接件数】

HSTACK関数を組み合わせて離れた列を指定する手順
実際の業務データでは、グループ化したい列が隣り合っていないこともよくあります。例えば、今回の元データから「志望職種(B列)」と離れている「面接日(D列)」の2軸で集計したい場合です。
GROUPBY関数の第1引数は、1つの連続した範囲しか指定できないというルールがあります。
こんな時に役立つのが「HSTACK(エイチスタック)関数」との組み合わせです。HSTACK関数は、離れた列を横にくっつけて1つの表にしてくれる関数です。
=GROUPBY(HSTACK(B2:B7, D2:D7), A2:A7, COUNTA)
このように指定することで、離れた列同士を仮想的に結合して、複数条件でのグループ化が可能になります。実務のデータフォーマットを変えずに高度な集計ができる、非常に強力な便利ワザです。

集計結果を見やすく並べ替える(ソート機能の活用)
集計した結果を、「件数が多い順」に並べ替えたいこともありますよね。
GROUPBY関数には、第6引数に「ソート順」を指定する機能が備わっています。
件数(集計結果)を降順で並べ替えたい場合は、集計結果が左から何列目にあるかを考えます。複数条件で「職種」「担当者」「件数」の順に並んでいるなら、件数は「3列目」です。降順にする場合はマイナスをつけて「-3」と指定します。
これにより、誰が一番多く面接を担当しているのかがひと目でわかるようになり、業務の偏りを可視化する際などにも大いに役立ちます。
GROUPBY関数を実務で使うメリットとデメリット
ここまで使い方を見てきましたが、改めて実務に導入する際のメリットと、事前に知っておくべき注意点を整理しておきましょう。
ピボットテーブルや従来関数にはない3つのメリット
導入前に知っておきたいデメリットや注意点
非常に優秀な関数ですが、実務で使う上では以下の点に注意が必要です。
まとめ:GROUPBY関数をマスターして業務効率化を目指そう
この記事では、Excelの新機能「GROUPBY関数」を使ったデータの集計方法、特に「COUNT」を使った件数把握や、複数条件での集計テクニックについて解説しました。
最初は見慣れない引数に戸惑うかもしれませんが、一度手を動かして使ってみると、その便利さにきっと感動するはずです。まずは日々の簡単な件数集計や、ご自身で管理されている表の一部から、この関数を試してみてくださいね。
少しずつ業務を自動化・効率化して、本来あなたが注力すべき「考える仕事」や「人に向き合う仕事」の時間を増やしていきましょう。
コメント