INDIRECT関数の使い方とは?シート名はリストとVLOOKUPで自動切り替え!

INDIRECT関数の使い方とは?シート名はリストとVLOOKUPで自動切り替え!
考える人
考える人
スプレッドシートで参照元のシート名やセル範囲を自動で切り替えられる関数を知りたい

スプレッドシートで参照元のシート名やセル範囲を自動で切り替えたいときは「INDIRECT関数」がおすすめです。

INDIRECT関数を使えば「参照元のシート名やセル範囲の自動切り替え」をすることができます。

当記事では、

  1. INDIRECT関数とは何か
  2. INDIRECT関数の構文・使い方
  3. シート名を動的に変更する2つの方法
  4. セル範囲を動的に変更する2つの方法

について解説します。

目次

INDIRECT関数とは何か

INDIRECT関数は「文字列で指定したセル範囲の参照を返す関数」です。

文字列でセルの範囲を指定したい場合や、セル値によって参照するセル範囲を変化させたい場合には、INDIRECT関数を使いましょう。

INDIRECT関数の構文・使い方

INDIRECT関数は以下の構文で動作します。

=INDIRECT("タブ名!セル範囲")

INDIRECT関数では、参照するタブやセル範囲をすべて文字列データで指定する必要があるので注意しましょう。

タブ名を動的に変更する2つの方法

INDIRECT関数を使ってタブ名を動的に変更する方法を2つ紹介します。

プルダウンリストを使う

1つ目の方法は「プルダウンリスト」を使う方法です。

以下のように行ごとにシート別のデータを参照している場合に「E5セル」にプルダウンメニューを設定することで、あらかじめ設定しておいた表示パターンを簡単に取得することができます。

プルダウンメニューを変更する必要はありますが、半自動・半手動でタブ名を操作することができます。

VLOOKUPを使う

2つ目の方法は「VLOOKUP関数」を使う方法です。

以下のように別セルを参照値としてVLOOKUPを設定することで、対照表を介してタブ名を参照できるようになります。

プルダウンメニューよりも複雑な条件でタブを出し分けたい場合や、複数行に渡ってタブ名を出し分けたい場合には、VLOOKUP関数を使ったタブ名の出し分けがおすすめです。

セル範囲を動的に変更する2つの方法

INDIRECT関数を使ってセル範囲を動的に変更する方法を2つ紹介します。

ROW・COLUMN関数を使う

1つ目の方法は「ROW関数・COLUMN関数」を使う方法です。

以下のように、行ごとに数字が変わるにように設定することで、動的に参照するセル範囲を変化させることができます。

VLOOKUPを使う

2つ目の方法は「VLOOKUP関数」を使う方法です。

以下のように、VLOOKUP関数で動的に参照するセル範囲を変化させることで、より複雑なセル範囲の場出し分けが可能になります。

まとめ

今回は「INDIRECT関数とは何か」「INDIRECT関数の構文・使い方」「シート名を動的に変更する2つの方法」「セル範囲を動的に変更する2つの方法」について解説しました。

INDIRECT関数は他の関数と比較してテクニカルな関数と言えます。使いこなすまでは大変ですが、上手く使えばとても便利な使い方のできる関数です。

セル範囲を動的に変更したいときには、ぜひ一度INDIRECT関数を使ってみてください。

では、また。

あわせて読みたい
【スプレッドシートの関数一覧】おすすめ関数50選も紹介! スプレッドシートの事務作業、効率的に片付けたいですよね。 当記事では、 「スプレッドシートでおすすめの関数を知りたい」 「スプレッドシートの関数の一覧を知りたい...

あわせて読みたい
Googleスプレッドシートの使い方の勉強におすすめの本11選【実用書・入門書】 スプレッドシートの本選びで、以下のような悩みを抱えていませんか? スプレッドシートの使い方を書籍で勉強したいけど、どれが良い本か分からない 時間に余裕がないか...

この記事を書いた人

28歳♂Webアナリスト/おすすめ本と生活改善グッズ紹介サイトmonoblog.jp他4サイト運営15万PVほど/楽天経済圏/リベ大生/サウナ/筋トレ/お仕事の依頼はこちら

目次