【Indirect関数】同じシート内にある他のシートの名前を使用して他のシートのセルの値を参照する方法

はじめに

Excelで、他のシートのA1セルに入力してある値を参照する場合は、他のシート名!A1となる。

愛知シートのA1セルに入力してある名古屋市という値を、

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

この記事では、同じシート内にある他のシートの名前を使用して他のシートのセルの値を参照する方法について紹介したい。

同じシート内にある他のシートの名前

県庁所在地シートのA2〜A4に愛知シート、東京シート、Tokyo (1)シートのシート名を書いた。

県庁所在地シート

他のシートのセルの値

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

愛知シート
東京シート
Tokyo (1)シート

これらが県庁所在地シートから見た時の「他のシートのセルの値」となる。

INDIRECT関数の使用方法

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

同じシートにある別のシートの名前を使用する

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

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

文字列に記号が含まれている場合

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

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

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

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

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です