動的配列で集計表を作成する
FILTER、UNIQUE、SUMIFSを使って自動更新される集計表を作成します。
「動的配列で集計表を作成する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
集計表の役割
集計表は、大量の生データの行を、読みやすい小さなまとまりに整理します。カテゴリごとに1行を割り当て、その横に合計を表示します。たとえば、数百行ある売上記録を、地域ごとの総売上を示す整った表にまとめるイメージです。
以前は、手動でピボットテーブルを作成し、更新する必要がありました。現在は、データが変わった瞬間に自動更新される動的配列数式を使えます。ボタン操作も、更新操作も不要です。
このレッスンでは、3つの強力な機能を組み合わせます。UNIQUEでカテゴリを一覧にし、SUMIFSでカテゴリごとに合計し、FILTERで一致する行を取り出します。これらを組み合わせることで、常に最新の集計表を作成できます。
集計する元データ
Salesという名前のシートに3つの列があるとします。A列はRegion、B列はProduct、C列はAmountで、2行目から200行目までデータが入っています。
ここでは、地域ごとの総売上を示す集計表を作成します。最初の課題は、地域名を手入力せずに、重複のない一覧を取得することです。後から新しい地域が追加される可能性があるためです。
A2:A200には、East、West、East、Northのように、同じ地域名が何度も入っています。- 必要なのは、East、West、Northをそれぞれ1回ずつ表示した一覧です。
この重複のない一覧が、集計表全体の基盤になります。
UNIQUEでカテゴリを一覧にする
UNIQUE関数は範囲を受け取り、それぞれの値を1回だけ返します。結果はスピルします。つまり、重複のない値の数に応じて、1つの数式が必要なセル数を自動的に埋めます。
セルE2に入力すると、その下に地域の一覧が自動的に表示されます。
後からデータに新しい地域を追加すると、スピルした一覧も自動的に広がります。数式を編集する必要はありません。
=UNIQUE(Sales!A2:A200)SUMIFSでカテゴリごとに合計する
次に、E列にある各地域のAmountの合計を求めます。SUMIFSは、別の範囲が条件に一致する場合にだけ、指定した範囲の値を合計します。
構文はSUMIFS(sum_range, criteria_range, criteria)です。最初の地域の横にあるF2に入力します。
E2#という参照がポイントです。#記号は、E2からスピルした範囲全体を表します。そのため、この1つの数式で、UNIQUEが作成したすべての地域の合計を求められます。
=SUMIFS(Sales!C2:C200, Sales!A2:A200, E2#)スピル参照を理解する
スピル参照のE2#は、数式が生成したブロック全体を常に指します。ブロックがどれだけ大きくなっても対応できるため、集計表を動的に保てます。
UNIQUEが3つの地域を見つけた場合、E2#は高さ3セルの範囲になり、SUMIFSは3つの合計を返します。データが5地域に増えると、どちらの範囲も編集なしで一緒に広がります。
E2= 先頭の1セルだけE2#= E2から始まるスピル配列全体
#記号に慣れておきましょう。これはダッシュボード用数式の中心となる記号です。
=SUMIFS(Sales!C2:C200, Sales!A2:A200, E2#)集計表を並べ替える
合計が順序よく並んでいると、集計表はより読みやすくなります。地域の一覧をSORTで囲んでカテゴリをアルファベット順にするか、表全体を合計順に並べ替えます。
E2に入力して、地域をアルファベット順に一覧表示します。
F列の合計は引き続きE2#を参照しているため、地域を並べ替えると合計も自動的に対応する位置に並び替わります。2つの列は常に連動します。
=SORT(UNIQUE(Sales!A2:A200))FILTERで行を抽出する
合計だけでなく、あるカテゴリの元データの行を確認したい場合もあります。FILTERは条件を満たすすべての行を返し、それらをスピルさせます。
RegionがセルH1の値と一致する売上行をすべて表示します。
H1にEastが入っていれば、Eastの行がすべて表示されます。H1をWestに変更すると、表示ブロックが瞬時に書き換わります。これは、ダッシュボードでドリルダウン表示を作るための基礎になります。
=FILTER(Sales!A2:C200, Sales!A2:A200=H1)FILTERの結果が空の場合に対処する
一致するデータがないと、FILTERは#CALC!エラーを返します。表示を整えるには、オプションの第3引数に代替メッセージを指定します。
第3引数は、一致するデータが0件の場合に表示されます。
これで、売上のない地域にはエラーの代わりにわかりやすいメッセージが表示されます。予期しない選択によってレイアウトが崩れないよう、ダッシュボードでは必ずこの代替メッセージを追加しましょう。
=FILTER(Sales!A2:C200, Sales!A2:A200=H1, "No matching rows")COUNTIFSでカテゴリごとに件数を数える
集計表では、金額だけでなく、地域ごとの注文数を表示することもよくあります。COUNTIFSは、SUMIFSと同じように条件に一致する行を数えますが、合計範囲は必要ありません。
合計の横にあるG列に入力します。
これで、3列の集計表はRegion、Total Sales、Order Countを表示するようになります。すべてがE2#にある1つのスピルした地域一覧を基準に動作し、まとめて更新されます。
=COUNTIFS(Sales!A2:A200, E2#)集計表を完成させる
横に並べた完全な構成は次のとおりです。
- E2:
=SORT(UNIQUE(Sales!A2:A200))で地域を一覧表示します。 - F2:
=SUMIFS(Sales!C2:C200, Sales!A2:A200, E2#)で地域ごとに合計します。 - G2:
=COUNTIFS(Sales!A2:A200, E2#)で地域ごとの件数を数えます。
行方向に入力するのはE2の数式だけです。F列とG列は#参照によってスピルします。Salesのどこかに新しい売上を追加すると、クリック操作なしですべての列が更新されます。
=SUMIFS(Sales!C2:C200, Sales!A2:A200, E2#)動的配列が手動の表より優れている理由
数値を手入力したり、ピボットテーブルを更新したりする方法と比べて、数式で作る集計表には明確な利点があります。
- 常に最新: データが変わった瞬間に再計算されます。
- 自動でサイズ調整: UNIQUEと#参照によって、新しいカテゴリが自動的に表示されます。
- 透明性: セル内のロジックを誰でも確認できます。
一方で、スピル範囲が広がるには空きスペースが必要です。スピルが妨げられる場合については、後のレッスンで説明します。今は、数式の下に十分な空きを確保してください。
確認問題
自動更新される集計表の作り方について、学んだ内容を確認しましょう。
まとめ:常に最新の集計表
自動的に管理される集計表を作成しました。
UNIQUEで各カテゴリを1回ずつ一覧にし、結果をスピルさせます。SORTでその一覧を読みやすい順序に並べます。SUMIFSとCOUNTIFSで、E2#のスピル参照を使ってカテゴリごとの合計と件数を求めます。FILTERでドリルダウン用の一致する行を取り出し、一致しない場合は代替メッセージを表示します。
すべての数式がスピルした一覧を基準にしているため、新しいデータを追加すると、手動操作なしで集計表全体が更新されます。次は、数式だけで完全なピボット形式のレポートを作成します。
よくある質問
「動的配列で集計表を作成する」レッスンは無料ですか?
はい。「動的配列で集計表を作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「動的配列で集計表を作成する」で何を学びますか?
FILTER、UNIQUE、SUMIFSを使って自動更新される集計表を作成します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「動的配列で集計表を作成する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 動的配列で集計表を作成する
- 数式でピボット形式のレポートを作成する
- 対話型ドロップダウンと連動指標
- KPIカードと条件付き強調表示