INDIRECT関数
以下が完成系ですが、『目次シートのD3セル』に注目してください。今回の例では、目次シートからVLOOKUP関数で別シートを参照して値を表示しています。
INDIRECT関数を使わない場合以下のように記載するところ
=VLOOKUP($D$2,キャベツ!$B$3:$C$5,2,0)
INDIRECT関数を使うと以下のように書くことができます。
=VLOOKUP($D$2,INDIRECT("'"&C3&"'!$B$3:$c$5"),2,0)
これでいちいちVLOOKUP関数の中にシート名を記載する必要がなくなり、簡単にコピーして利用する事ができるようになります。
もう一つポイントは、シート名をシングルクォーテーションで囲んでいる点です。(上記例では「C3」セルを囲んでいますね)今回の例では、シート名に特殊な文字を使っていないので、これを省略しても動作に影響ありませんが、これを省略してしまうとシート名に「)」などが含まれている場合正常に動作しなくなります。
目次シート

きゅうり、キャベツシートは以下の通り

