知恵と経験をつなぎ、次のチャレンジへ
スプレッドシートのINDIRECT関数をビジネスで活用!業務で使えるデータ集計スキル

スプレッドシートのINDIRECT関数をビジネスで活用!業務で使えるデータ集計スキル

「月別シートを切り替えてダッシュボードを作りたい」
「セル番地を動かしてコピー作業をゼロにしたい」

そんな悩みを一発解決してくれるのが INDIRECT 関数。
本記事では 実際の表データ+数式+出力結果 をセットで示しながら、
ビジネスで役立つ使い方をわかりやすく解説します。


1. INDIRECT関数 ── 参照を「文字列」で自在に操る!

■ 基本構文

=INDIRECT(参照文字列, [is_A1])
引数内容既定値
参照文字列シート名・セル番地・範囲を文字列で指定必須
is_A1TRUE: A1形式 / FALSE: R1C1形式TRUE

2. 基本ワザ:シート名をセルで切り替える

■ サンプルデータ(集計シート)

A列B列
1月名売上 (数式)
2Jan
3Feb
4Mar

各月シートには セル B2 に月間売上が入っている想定。

■ 数式(B2 に入力して下へコピー)

=INDIRECT("'"&A2&"'!B2")

■ 出力結果

月名売上
Jan120,000
Feb98,000
Mar135,000

ポイント

・シート追加は A 列に月名を入力するだけ

・ダッシュボードを毎月更新する手間が激減!


3. 行・列を動的に:コピーしてもズレない式

■ サンプルデータ(勤怠表)

B列C列D列(数式)
1社員名月間勤務時間(h)
2佐藤160
3鈴木168
4田中152

■ 数式(D2 に入力して下へコピー)

=INDIRECT("C"&ROW())

■ 出力結果

社員名月間勤務時間(h)参照コピー列
佐藤160160
鈴木168168
田中152152

ポイント

ROW() で「今いる行」を取得 → 列 C と連結

式をどこにコピーしても 同じ行の列 C を参照


4. 応用ワザ:INDIRECT × ほかの関数

目的サンプル式効果
月別シートを一括取り込み=ARRAYFORMULA({INDIRECT("'"&A2:A13&"'!A2:D")})1 月〜12 月のデータを縦に連結
範囲名をセルで切替える SUM=SUM(INDIRECT(B1))
(B1 に 売上範囲_2025 など範囲名を記載)
年度・商品カテゴリ別の集計を一発切替
IMPORTRANGE を動的に=INDIRECT("IMPORTRANGE("""&C1&""",""シート1!A2:B"")")外部スプレッドシートの URL をセルで管理
R1C1形式で列固定=INDIRECT("R"&ROW()&"C2", FALSE)コピーしても列ズレしない評価式が作れる

5. ビジネス活用シーン

シーン使い方イメージ効果
経営管理:月次ダッシュボード月名プルダウン → INDIRECT で KPI 範囲参照シート追加だけで自動反映
営業:担当別売上レポート担当者名セル → '担当者'!売上範囲 を INDIRECT担当変更や新規加盟も数式編集ゼロ
人事:部門別人件費シミュレーション部門_年度 のシート名を文字列連結して参照パラメータを変えるだけで多軸比較
マーケ:A/B テスト集計テスト名セル → 各シートの結果を INDIRECT で取得パターン追加時の作業を自動化
経理:予算 vs 実績管理「予算_2025」「実績_2025」を動的参照年度を切り替えるだけで比較更新

6. よくあるエラー & 回避策

症状主な原因対処
#REF!シート名・セル番地が存在しないスペル要確認 / IFERROR( … , "" ) で空白表示
#VALUE!シート名にスペース・日本語'シート名'!A1 とシングルクォートで囲む
計算が遅いINDIRECT は再計算が重い必要最小限に絞る/集計後に貼り付け値に

7. まとめ & 早見表

目的代表式キーワード(具体例)
シート跨ぎ参照=INDIRECT("'"&シート名&"'!セル")別シート値を瞬時取得
行・列を動的に=INDIRECT("C"&ROW())コピーしてもズレ防止
範囲名を可変=SUM(INDIRECT(セル))集計対象をセルで切替
多シート集約=ARRAYFORMULA({INDIRECT(...)})月別データを一括集約

INDIRECT で「参照そのもの」を操ろう!
月次レポートも部門別分析も、シート追加や名前変更に強い柔軟な仕組みが完成します。
ぜひ明日からのスプレッドシート業務に取り入れて、効率アップを実感してください。