【Excel】エクセル 応用編 INDIRECT 関数で字列で指定されたセル参照や他のシート参照!範囲参照・名前付き範囲・ワークシートのリファレンスなど

 

 

 

エクセルの INDIRECT 関数の使い方を紹介します。

ExcelINDIRECT関数を使用して、テキスト文字列を有効な参照に変換します。&演算子を使用して、テキスト文字列を作成できます。

 

 

 

INDIRECT関数とは?

INDIRECT(インダイレクト)関数は、指定される文字列への参照を返す関数です。

上図ではC3セルにINDIRECT関数の数式が入力されています。「=INDIRECT(B3)」と数式が入っており、B3セルの文字列(E4)をセル参照して「バナナ」が表示されています。

INDIRECT関数を使用すると数式を変更しないで参照したいセルを変更することができます。

セル参照だけではなく、他のシートを参照する時にINDIRECT関数を使うとより便利なのです。

 

構文

INDIRECT(参照文字列)
A1 形式の参照文字列を実際のセル参照に変換します。

INDIRECT(参照文字列参照形式)
参照形式で A1 形式にするか R1C1 形式にするかを選択できます。

引数「参照文字列」 セルを参照する文字列を指定します。セル参照も指定できます。
引数「参照形式」 省略できます。参照形式を A1 形式にするか R1C1 形式にするか切り替えます。
TRUE または省略:A1 形式で参照します。
FALSE:R1C1 形式で参照します。

セル参照

ExcelのINDIRECT関数を使用して、テキスト文字列を有効なセル参照に変換します。

1.たとえば、以下のINDIRECT関数を見てください。

Excelの間接関数

説明:= I​​NDIRECT(A1)は= INDIRECT( “D1″)になります。INDIRECT関数は、テキスト文字列「D1」を有効なセル参照に変換します。つまり、= INDIRECT( “D1″)は= D1になります。

2.以下の単純な間接関数は、まったく同じ結果を生成します。

単純な間接関数

3. INDIRECT関数は本当に必要ですか?はい。INDIRECT関数を使用しないと、これが結果になります。

間接機能なし

4.&演算子を使用して、文字列「D」をセルA1の値に結合します。

セル参照

説明:上記の式は= INDIRECT( “D1″)になります。繰り返しますが、= INDIRECT( “D1″)は= D1になります。

 

 

 

範囲参照

ExcelのINDIRECT関数を使用して、テキスト文字列を有効な範囲参照に変換します。たとえば、SUM関数とINDIRECT関数を組み合わせます。

合計および間接関数

説明:上記の式は= SUM(INDIRECT( “D3:D6″))になります。INDIRECT関数は、テキスト文字列「D3:D6」を有効な範囲参照に変換します。つまり、= SUM(INDIRECT( “D3:D6″))は= SUM(D3:D6)になります。

名前付き範囲

ExcelのINDIRECT関数を使用して、テキスト文字列を有効な名前付き範囲に変換します。

1.たとえば、以下のAVERAGE関数は、名前付き範囲のスコアを使用します。

単純な名前付き範囲

説明:名前付き範囲スコアは、範囲D1:D3を参照しています。

2.ただし、以下のAVERAGE関数はエラーを返します。

#DIV / 0! エラー

説明:Excelはテキスト文字列の平均を計算できないため、= AVERAGE( “Scores”)はエラーを返します!

3.次の間接関数がトリックを行います。

平均および間接関数

説明:= AVERAGE(INDIRECT( “Scores”))は= AVERAGE(Scores)になります。

 

 

 

 

ワークシートのリファレンス

ExcelのINDIRECT関数を使用して、動的なワークシート参照を作成します。

1.これは、単純なワークシート参照のようです。

ワークシートのリファレンス

注:Sheet1のセルA1には値10が含まれています。Sheet2のセルA1には値20が含まれています。Sheet3のセルA1には値30が含まれています。

2. [概要]シートで、以下に示す間接機能を入力します。&演算子を使用して、セルA1のシート名を「!A1」と結合します。

動的なワークシートのリファレンス

説明:上記の式は= INDIRECT( “Sheet1!A1″)になります。INDIRECT関数は、テキスト文字列 “Sheet1!A1″を有効なワークシート参照に変換します。つまり、= INDIRECT( “Sheet1!A1″)は= Sheet1!A1になります。

3.シート名にスペースまたはその他の特殊文字が含まれている場合は、シート名を単一引用符で囲みます。以下に示すように、INDIRECT関数を変更します。

単一引用符を追加する

 

 

 

コメントを残す

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