GoogleスプレッドシートやExcelで、他のシートのデータを参照することはよくあるかと思います。その場合に、シート名をセルの値から参照する方法です。
「シート名をセルに表示させる方法」の場合は、下記の「シート名参照カスタム関数」が参考になるかもしれません。
通常の他シート参照
他のシートのデータを参照する場合は、「’シート名’!セル番号」といった入力方法で結果が表示できます。
='シート 1'!A1
![](https://eguweb.jp/wp-content/uploads/202203201546-01.jpg)
集計シートのA1セルの値が表示されました。
シート名をセル参照しようとすると…
ここで問題になるのが「他のセルの値をシート名として参照したい」場合です。
![](https://eguweb.jp/wp-content/uploads/202203201547-01.jpg)
この場合、シングルクォーテーションやダブルクオーテーションで囲んで連結させようとしても、エラーが表示されてしまいます。
![](https://eguweb.jp/wp-content/uploads/202203201547-02.jpg)
![](https://eguweb.jp/wp-content/uploads/202203201547-03.jpg)
シート名を認識できません。
![](https://eguweb.jp/wp-content/uploads/202203201547-04.jpg)
ここで使えるのが「INDIRECT関数」です。
INDIRECT関数を使う
[rml_read_more]
INDIRECT関数を使うと、セルを参照してシート名を取得できます。
INDIRECT
https://support.google.com/docs/answer/3093377?hl=ja
文字列で指定したセル参照を返します。
![](https://eguweb.jp/wp-content/uploads/202203201547-05.jpg)
指定したいセルを指定して、&(アンパサンド)で連結させて、その後に「!セル名」を入力します。「!セル名」は”(ダブルクオーテーション)で囲みます。
![](https://eguweb.jp/wp-content/uploads/202203201548-00.jpg)
結果が表示されました!!
![](https://eguweb.jp/wp-content/uploads/202203201548-01.jpg)
まとめ
INDIRECT関数を使うと、セルの値を参照してシートを参照することができます。
オートフィルなどでまとめてシートを参照したい場合などに便利ですので、ぜひ覚えておくと良いかと思います。
ご参考ください。