月別売上を一括管理! EXCEL の動的集計テクニック

こんにちは、阿久梨絵です!
EXCEL は単なる表計算ツールではありません。名前定義・INDIRECT関数・Spill機能・LET関数を組み合わせることで、複数シートをまたぐ柔軟なダッシュボードが構築できます。今回はそのテクニックを紹介します。

使う機能の概要

 

機能名役割
名前定義範囲や数式に名前をつけて再利用しやすくする
INDIRECT関数文字列で指定したセルや範囲を参照できる
Spill機能配列の結果を複数セルに自動展開する(EXCEL 365以降)
LET関数一時変数を定義して、複雑な数式を効率的かつ読みやすく記述できる(EXCEL 365以降)

実例:複数月の売上データを動的に集計

シート構成

・`Jan`, `Feb`, `Mar` など、月別の売上データシート
各シートに同じ構造のテーブル(例:商品名リスト)

ステップ1:名前定義でシート名を管理

ダッシュボードシート(Dashboard)のセル B1 に月名(例:Jan)を入力
数式」―「名前の定義」-「新規作成」で以下を設定します。
名前:SelectedMonth
参照範囲: =Dashboard!$B$1 

ステップ2:INDIRECT関数でシートを動的参照&Spill機能で配列展開

=LET(
data, FILTER(INDIRECT(“‘” & SelectedMonth & “‘!A2:D100”), INDIRECT(“‘” & SelectedMonth & “‘!D2:D100”)>0),
CHOOSECOLS(data, 1, 4)
)

→ `Jan` シートの `D5:D100` 範囲を参照。月名を変えるだけで参照先が切り替わる。
今回、商品名と売上金額だけを取得する。

応用:複数月の売上を合算する

=SUM(INDIRECT(“‘” & SelectedMonth & “‘!d5:d100”))

→ 月を切り替えるだけで、売上合計が自動更新されます。

さらに、`UNIQUE` や `SORT` 関数と組み合わせれば、動的なランキング表示も可能です。

 

注意点とコツ

INDIRECT関数は参照先が存在しないと #REF! エラーになるので、入力チェックを忘れずに。
Spill機能・LET関数はEXCEL 365以降でのみ利用可能。バージョン確認を。
名前定義は管理画面で一覧化しておくと保守性が向上

まとめ

名前定義+INDIRECT+Spill+LETの組み合わせは、ノーコードで柔軟なデータ操作を可能にする強力な武器です。
複数シートをまたぐ集計や、条件付き表示など、ダッシュボード的な使い方にも最適。
阿久梨絵でした!

Verified by MonsterInsights