エクセル INDIRECT関数 使い方|基本構文・具体例・エラー対策

に投稿

【Excel】INDIRECT関数の使い方を理解すると、セルに入力された文字列をセル参照や範囲参照に変換し、柔軟な数式を作成できます。シート名を切り替えた集計や、入力内容に応じたデータ参照など、さまざまな業務で活用できる関数です。この記事では、基本構文から具体例、他の関数との組み合わせ、エラーの対策まで初心者向けに解説します。

エクセル INDIRECT関数 使い方|基本構文・具体例・エラー対策

INDIRECT関数とは?

INDIRECT関数は、文字列で指定されたセル番地や範囲を、実際のセル参照として扱う関数です。通常、Excelの数式では「A1」や「B2」のようにセル番地を直接指定しますが、INDIRECT関数を使うと、別のセルに入力された文字列から参照先を動的に変更できます。

例えば、A1セルに「B3」と入力されている場合、INDIRECT関数を使用すると、B3セルの値を取得できます。参照先をセルの入力内容に応じて変更したい場合に便利です。

INDIRECT関数の基本構文

INDIRECT関数は、次の構文で使用します。

=INDIRECT(参照文字列, [参照形式])

それぞれの引数には、次の意味があります。

  • 参照文字列: セル番地や範囲などを表す文字列を指定します。
  • 参照形式: TRUEまたは省略でA1形式、FALSEでR1C1形式を指定します。

一般的なExcelの作業では、A1形式を使用するため、2番目の引数は省略しても問題ありません。

INDIRECT関数の基本的な使い方

例えば、A1セルに「B3」と入力されており、B3セルに「1000」という数値が入っているとします。

このとき、別のセルに次の数式を入力します。

=INDIRECT(A1)

この数式では、A1セルの文字列「B3」をセル参照として扱い、B3セルの値である「1000」を取得します。

また、セル番地を直接指定することもできます。

=INDIRECT("B3")

この場合も、B3セルの値が返されます。ただし、セル番地を直接指定するだけなら通常の参照でも対応できます。INDIRECT関数のメリットは、セル番地を文字列として組み立て、参照先を柔軟に変更できる点にあります。

INDIRECT関数で別のシートを参照する方法

INDIRECT関数は、別のワークシートにあるデータを参照する場合にも役立ちます。

例えば、「4月」という名前のシートのB2セルを参照したい場合は、次の数式を使用します。

=INDIRECT("'4月'!B2")

この数式では、4月シートのB2セルにある値を取得します。シート名に空白や日本語などが含まれる場合は、シート名をシングルクォーテーションで囲むと、参照を明確にできます。

さらに、A1セルにシート名「4月」が入力されている場合は、次のように記述できます。

=INDIRECT("'"&A1&"'!B2")

A1セルのシート名を変更すると、参照先のシートも自動的に切り替わります。月別の売上管理表などで便利な方法です。

INDIRECT関数とSUM関数を組み合わせる方法

INDIRECT関数は、SUM関数と組み合わせることで、指定した範囲の合計を計算できます。

例えば、A1セルに「B2」と入力されている場合、次の数式を使用します。

=SUM(INDIRECT(A1))

この数式では、A1セルの文字列を範囲参照として扱い、B2の数値を合計します。

また、セルに入力されたシート名を使って、別シートの売上を集計することも可能です。参照範囲を文字列で組み立てられるため、集計対象を切り替える数式を作成しやすくなります。

INDIRECT関数と他の関数を組み合わせる方法

INDIRECT関数は、SUM関数だけでなく、AVERAGE関数やCOUNT関数などとも組み合わせられます。

例えば、A1セルに「B2」と入力されている場合、次の数式で平均値を計算できます。

=AVERAGE(INDIRECT(A1))

また、指定した範囲の数値を数える場合は、次のように記述します。

=COUNT(INDIRECT(A1))

このように、参照先を文字列で管理することで、集計対象の範囲を柔軟に変更できます。ただし、文字列で指定したセル番地や範囲が正しくない場合、エラーが発生するため注意が必要です。

INDIRECT関数でエラーが発生する原因と対策

INDIRECT関数で「#REF!」が表示される場合、参照文字列に指定したセル番地やシート名が正しくない可能性があります。シート名の入力ミスや、存在しないセル番地を指定していないか確認しましょう。

また、別のExcelファイルを参照する場合、参照先のブックが閉じているとINDIRECT関数では正常に参照できません。外部ブックのデータを扱う場合は、別の参照方法も検討しましょう。

さらに、INDIRECT関数は揮発性関数のため、ワークシートが再計算されるたびに評価されます。大量に使用すると処理速度に影響する場合があるため、必要な範囲に限定して使用することが大切です。

「エクセル INDIRECT関数 使い方」を理解すれば、文字列からセル参照を作成し、シート名や範囲を柔軟に切り替えられます。 まずは基本的なセル参照から練習し、SUM関数との組み合わせや別シートの参照にも挑戦してみましょう。参照文字列の正確さと計算負荷に注意しながら活用すれば、より効率的なExcelのデータ管理を実現できます。