2024.07.30(更新日: 2025.07.12)
【Indirect関数】同じシート内にある他のシートの名前を使用して他のシートのセルの値を参照する方法

はじめに
Excelで、他のシートのA1セルに入力してある値を参照する場合は、他のシート名!A1となる。
愛知シートのA1セルに入力してある名古屋市という値を、

県庁所在地シートのE2セルで参照すると以下のようになる。

この記事では、同じシート内にある他のシートの名前を使用して他のシートのセルの値を参照する方法について紹介したい。
同じシート内にある他のシートの名前
県庁所在地シートのA2〜A4に愛知シート、東京シート、Tokyo (1)シートのシート名を書いた。

他のシートのセルの値
愛知シート、東京シート、Tokyo (1)シートのA1セルには、以下の値が入力されている。



これらが県庁所在地シートから見た時の「他のシートのセルの値」となる。
INDIRECT関数の使用方法

例えば、東京シートのA1節の値を取得したい場合、INDIRECT関数の引数として、文字列の「東京!A1」を渡す。

同じシートにある別のシートの名前を使用する
INDIRECT関数の引数として、A2&”!A1″を渡すことで、A2セルの値である「愛知」シートのA1セルの値である「名古屋市」が取得できる。

一つ下にコピペすることで、東京シートのA1セルの値が取得できる。

文字列に記号が含まれている場合
記号が含まれている場合は、シート名をシングルクオテーション(’)で囲む必要がある。

そのため、そのままコピペするだけではエラーが出る。A4をシングルクオテーションで囲みたい。

シングルクオテーションをそのまま追加することはできない。

シングルクオテーションをダブルクオテーションで囲った「” ‘ “」とA4セル、「’!A1」をダブルクオテーョンで囲ったものを&で結合すると上手く行った。

シングルクオテーョンを含む3つの文字列を結合したものをINDIRECT関数の引数として使用している。
コメントを残す