【Excel】新関数PIVOTBY、GROUPBYについて解説
2024年9月から365のExcelのカレントチャネルを利用している人はPIVOTBY関数とGROUPBY関数が使えるようになったと発表されましたね。そこで解説します。
使える環境と使えない環境のおさらい
まだ移行期の関数なのでチャネルによって使えたり使えなかったりします。
カレントチャネル:バージョン2409以降であれば、使える
月次エンタープライズ チャネル:2024年11月現在、使えない
半期エンタープライズチャネル:2024年11月現在、使えない
※Microsoftのブログによると"Excel for web"でも実装予定となっておりますが、ロードマップ上ではいつ実装されるか記載されていません。また私のテナントの"Excel for web"では2024年11月現在、使用できないことを確認しております。2025年に実装される可能性もあります。
GROUPBY関数について
GROUPBY関数はSUMIF関数やAVERAGEIF関数の進化版と言っていいような機能の関数です。実例で見ていくと例えば下の画像のように各月のカテゴリ別の売上高が並んだ表があるとします。
この表はそれぞれの月のカテゴリごとの売上高となっているため、月ごとの合計の売上高を知りたい場合は通常、SUMIF関数を使用して1~12月分まで数式を作れば良いですね。ただ、これが12個くらいならなんとかなるかもしれませんが、100個とか項目数があったらいやになっちゃうかもしれません。そこで登場するのがGROUPBY関数です。項目を自動でグループ化してくれて、計算もSUMとかAVERAGEとかを数式に打ち込むことで合計値だったり平均値だったりを得ることができます。
もう少し具体的に見ていくと、上の画像の表で月ごとの売上高が欲しい場合は
=GROUPBY(C2:C85,E2:E85,SUM)
と入力することで月ごとに売上高を集計してくれます。2~85行目まで集計しているのはこの表のデータの85行目までが2020年のデータなのでここまでにしています。ここまでの情報を1枚の画像にすると下の画像のようになります。GROUPBYはグループ化して欲しい列と集計して欲しい列、集計方法の3つの情報を指定することでグループ化と集計をたった一つのセルに数式を入力することで実現できる関数です。
PIVOTBY関数について
GROUPBY関数では行項目のみ選んでグループ化できましたが、PIVOTBYでは行と列2つの項目をそれぞれ選んでグループ化できます。例えば上のデータ例では行項目として1~12月という月を選びましたが、PIVOTBYを使えばそれに加えて列項目として年をグループ化して集計することができます。グループ化したい項目を2個選んで表に集計できるのが、PIVOTBY関数の特徴です。1枚の画像で表現すると下の画像になります。
PIVOTBY(グループ化して欲しい列1, グループ化して欲しい列2, 集計して欲しい列, 集計方法)
PIVOTBY関数ではグループ化して欲しい列を2個指定するのがポイントですね。これで1つのセルに関数を入れるだけで集計表ができるのでかなり時間短縮につながります。