-
∨目次
- 構文
- 使用例
- 解説
エクセル 2013 ISREF 関数:指定した値が有効なセル参照か判定する
はじめに
エクセル 2013 の ISREF 関数の使い方を紹介します。
ISREF 関数は指定した値が有効なセル参照か判定します。有効なセル参照なら TRUE を返します。
「IF 関数」と「INDIRECT 関数」を組み合わせて、有効なセル参照のときだけ処理できます。
-
目次
- 構文
- 使用例
- 解説
構文
ISREF(値)
値が有効なセル参照のときに TRUE を返します。それ以外のときは FALSE を返します。
引数「値」 | 数値、文字列、セル参照、関数などを指定できます。 |
セル参照とは
セル「B2」を参照するときに=B2と入力します。このB2の部分のことです。セル「B3」~「B4」ならB3:B4です。

「名前の定義の使い方」で紹介しているように名前の定義をしているときは、その名前もセル参照になります。例えば範囲という名前を定義すると範囲も有効なセル参照です。

使用例
引数「値」にいろいろな参照を指定して判定する。
=ISREF(B2:C3)
=ISREF(B0)
=ISREF("B2")

引数「値」に名前の定義をした値を判定する。範囲という名前を定義しています。
=ISREF("範囲")
=ISREF(名前)

解説
有効なセル参照かどうかは引数「値」の頭に=を付けて実際に参照できるか試してみても確認できます。
この関数の特殊なところは=ISREF(B2)としたときに、セル「B2」の値を参照しません。B2というセルや名前が存在するかどうかを判定します。
セルの参照形式が「A1 参照形式」か「R1C1 参照形式」で有効なセル参照かどうかも変わります。「A1 参照形式」ではB2が有効でも「R1C1 参照形式」では無効になります。逆に「R1C1 参照形式」ではR[1]C[1]が有効になり「A1 参照形式」では無効になります。
"B2"のように文字列を指定するとそれは参照ではないので「FALSE」を返します。これを有効にしたいときは「INDIRECT 関数」を使って文字列を実際の参照に変換します。

「IF 関数」の条件に指定して、「INDIRECT 関数」の結果が有効なセル参照かチェックできます。有効なときだけ処理をして、エラーの時は何も表示しないなどエラー処理ができます。
例として「INDIRECT 関数」の結果を「SUM 関数」で合計を求める範囲にしたいとします。
まずは「INDIRECT 関数」でエラーが発生するかチェックします。

その結果を「IF 関数」でエラー処理します。判定用と結果用で同じ「INDIRECT 関数」を 2 回実行します。

セル参照以外のすべてのエラーも判定対象になりますが、「IFERROR 関数」を使用すると、次のように簡素に書けます。
スポンサーリンク