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

2020-01-08

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関数を使ってみてください。

では、また。

【保存版】スプレッドシート関数一覧!業務が爆速化する関数33選

続きを読む


【2019年】スプレッドシートの勉強におすすめの本7選【網羅しました】

続きを読む

  • この記事を書いた人

mono

26歳♂首都圏住みの副業会社員/ギークでズボラないい暮らし/ADHD・HSP傾向/将来はサイドFIREでのんびり暮らしたい/楽天経済圏/リベ大生/インデックス・高配当株投資300万/お仕事の依頼はこちら

スキルを磨く スプレッドシート

スプレッドシート関数

© 2021 monoblog