「月別シートを切り替えてダッシュボードを作りたい」
「セル番地を動かしてコピー作業をゼロにしたい」
そんな悩みを一発解決してくれるのが INDIRECT 関数。
本記事では 実際の表データ+数式+出力結果 をセットで示しながら、
ビジネスで役立つ使い方をわかりやすく解説します。
1. INDIRECT関数 ── 参照を「文字列」で自在に操る!
■ 基本構文
=INDIRECT(参照文字列, [is_A1])
引数 | 内容 | 既定値 |
---|---|---|
参照文字列 | シート名・セル番地・範囲を文字列で指定 | 必須 |
is_A1 | TRUE : A1形式 / FALSE : R1C1形式 | TRUE |
2. 基本ワザ:シート名をセルで切り替える
■ サンプルデータ(集計シート)
A列 | B列 | |
---|---|---|
1 | 月名 | 売上 (数式) |
2 | Jan | |
3 | Feb | |
4 | Mar |
各月シートには セル B2 に月間売上が入っている想定。
■ 数式(B2 に入力して下へコピー)
=INDIRECT("'"&A2&"'!B2")
■ 出力結果
月名 | 売上 |
---|---|
Jan | 120,000 |
Feb | 98,000 |
Mar | 135,000 |
ポイント
・シート追加は A 列に月名を入力するだけ
・ダッシュボードを毎月更新する手間が激減!
3. 行・列を動的に:コピーしてもズレない式
■ サンプルデータ(勤怠表)
B列 | C列 | D列(数式) | |
---|---|---|---|
1 | 社員名 | 月間勤務時間(h) | |
2 | 佐藤 | 160 | |
3 | 鈴木 | 168 | |
4 | 田中 | 152 |
■ 数式(D2 に入力して下へコピー)
=INDIRECT("C"&ROW())
■ 出力結果
社員名 | 月間勤務時間(h) | 参照コピー列 |
---|---|---|
佐藤 | 160 | 160 |
鈴木 | 168 | 168 |
田中 | 152 | 152 |
ポイント
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 で「参照そのもの」を操ろう!
月次レポートも部門別分析も、シート追加や名前変更に強い柔軟な仕組みが完成します。
ぜひ明日からのスプレッドシート業務に取り入れて、効率アップを実感してください。