INDIRECT関数の使い方について
こんにちは、市民パソコン教室北九州小倉校の篠原です。
2016.03.12 少しだけ記述を追加しました。
ちょっとひとり言
朝晩はすっかり涼しくなりあした。最近は、友人と畑を借りて、野菜を作ることを始めました。
朝の時間は、少し外に出てお日様の光を浴びることにしました。このごろは、気温も30度を下回るようにあり、とても気持ちのいいいです。たくさんの野菜を植え、土に親しんでいると、あまり気に留めていなかった虫たちの姿を見るようになりました。写真は、トウモロコシの葉にいたテントウムシです。
今日は、INDIRECT関数の使い方についてです。
INDIRECT関数は、引数に指定したセルアドレスの値をセルアドレスとして(間接的)、そのセルの内容を参照します。
これから解説予定の便利な関数や設定は以下のとおりです。
セルアドレスをセルのデータで指定する
- 図1 (INDIRECT関数の使い方)
- 書式
- INDIRECT(参照文字列があるセルアドレス,参照文字列のセルアドレス形式)
- ・参照文字列があるセルアドレス:参照するセルアドレスが入力されているセルのアドレス。セルアドレスの形式に従っている必要があります。
- ・参照文字列のセルアドレスの形式;第一引数で指定したセルアドレスの参照先のセルアドレスの形式を指定
「A1形式」:True
「R1C1形式」:False
- 関数の使い方
- 1-1 参照するセルアドレスを「A1形式」で記述して参照する。
例では、セル「A2」に入力されている文字列「C2」が示すセルアドレスC2を参照します。関数の戻り値は「123」となります。
- 1-2 参照するセルアドレスを「R1C1形式」で記述して参照する。
例では、セル「A3」に入力されている文字列「RC[1]」が示すセルアドレス(関数が入力されているセルはB3なので、行は同じ、列は1列右側:C3)を参照します。関数の戻り値は「ABC」となります。
- 1-3 参照するセルアドレスを「R1C1形式」で記述して参照する。
例では、セル「A4」に入力されている文字列「R[1]C[1]」が示すセルアドレス(関数が入力されているセルはB4なので、行は1行下、列は1列右側:C5)を参照します。関数の戻り値は「漢字」となります。
- 1-4 参照するセルアドレスを「$C$2」で記述して参照する。
例では、セル「A5」に入力されている文字列「$C$2」が示すセルアドレスを参照します。関数の戻り値は「123」となります。
- 1-5 参照するセルアドレスを「関数の中で組合せ」で記述して参照する。
例では、セル「A6」に入力されている文字列「5」と関数内で列名「C」を組み合わせて「C5」という文字列が示すセルアドレスを参照します。関数の戻り値は「漢字」となります。この方法で列名も参照する形にすれば、行・列共にセルを参照して組合せを作ることも可能です。
- 1-6 参照するセルアドレスを「外部参照のブックのセルアドレス」で記述して参照する。
例では、セル「A7」に入力されている文字列「[Book1]Sheet1!$A$1」という別のブック内を示すセルアドレスを参照します。関数の戻り値は「外部参照(「Book1のsheet1のA1のセルには「外部参照」という文字列が入力されています。」)となります。この時、参照されるブックは、開いておかなくてはなりません。ブックが開いていないときは「#REF!」のエラーが返されます。
- 1-7 参照するセルアドレスを「範囲指定」で記述し多場合。
例では、セル「A8」に入力されている文字列「C2:C3」という範囲で指定しています。範囲指定はサポートされていないのでエラーが返されます。
- 1-8 参照するセルアドレスを「セルアドレスではない文字列」を記述した場合。
例では、セル「A9」に入力されている文字列「ABC」という文字列を指定しています。列名として「ABC」は存在しますが、行番号がないため、適正なセルアドレスとならないためエラーが返されます。
関数の使い方は、例えば、不規則に並んだ表のセルの内容参照する場合です。参照順にセルアドレスが並んだ表を作り、参照用の表をVBAのForループで順番にで参照することで、不規則に並んだ表のセルを規則的に参照することができます。
2016.03.12 追記
また、参照準に並んだセルアドレスの一覧に名前と付けて、これをリストとして入力規則を作り選択する方法も考えられます。
利用価値の高い関数だと思います。
以上で、INDIRECT関数の使い方は終わりです。
市民パソコン教室北九州小倉校の「パソコン無料相談」も見てね。
Tag: エクセル INDIRECR関数 関数 間接参照