EXCEL のINDIRECT関数:使い方・活用例・エラーの原因と対策

こんにちは、阿久梨絵です!
EXCEL のINDIRECT関数は、セル参照を動的に変更できる便利な関数ですが、使い方を誤るとエラーが発生しやすいことでも知られています。本記事では、INDIRECT関数の基本的な使い方、活用例、そしてよくあるエラーの原因とその対策について解説します。

1. INDIRECT関数とは?

INDIRECT関数は、指定した文字列をセル参照として扱う関数です。通常、セル参照は固定されていますが、INDIRECT関数を使うことで、セルの内容に応じて参照先を動的に変更できます。

基本構文

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

参照文字列:セル番地を文字列として指定(例: “A1” や “B2″)
A1形式(省略可):TRUE(デフォルト)ならA1形式、FALSEならR1C1形式で参照

2. どんな時に使用する?

INDIRECT関数は、以下のような場面で活用できます。

別シートのセルを動的に参照

例えば、シート名をセルに入力し、そのシートの特定セルを参照する場合

=INDIRECT(A1 & “!B2”)

ここで、A1セルに「Sheet2」と入力すると、Sheet2!B2 の値を取得できます。

リスト選択によるデータ切り替え

ユーザーがリストから選択した値に応じて、異なるセル範囲を参照することが可能です。

=SUM(INDIRECT(B1))

B1セルに “A1:A10” や “B1:B10” などの範囲を入力すると、SUM関数がその範囲を集計します。

名前付き範囲を動的に参照

INDIRECT関数を使うと、名前付き範囲をセルの値に応じて変更できます。

=SUM(INDIRECT(A1))

A1セルに “SalesData” などの名前付き範囲を入力すると、その範囲の合計を取得できます。

3. よくあるエラーの原因と対策

INDIRECT関数は強力ですが、設定ミスによるエラーが発生しやすいです。以下のようなエラーがよく見られます。

#REF! エラー

原因
参照先のセルやシートが存在しない
シート名を適切に引用符で囲んでいない

対策
シート名にスペースが含まれる場合は、シングルクォーテーション `’ ‘` で囲む

=INDIRECT(“‘Sheet 1’!A1”)

#VALUE! エラー

原因
INDIRECT関数の引数が適切な文字列になっていない
参照形式(A1形式 or R1C1形式)が間違っている

対策
参照文字列が正しく入力されているか確認
・TRUE(A1形式)または FALSE(R1C1形式)を適切に指定

別ブックの参照ができない

INDIRECT関数は閉じたブックのセルを参照できません。別のEXCELファイルを参照する場合は、ブックを開いた状態で使用する必要があります。

まとめ

INDIRECT関数は、セル参照を動的に変更できる強力な関数ですが、適切に使わないとエラーが発生しやすいです。特に、シート名の引用符や参照形式の設定ミスに注意しましょう。この記事を参考に、INDIRECT関数を活用して EXCEL の効率をさらに向上させてみてください!
阿久梨絵でした!

Verified by MonsterInsights