更新日:、 作成日:

エクセル ISREF 関数:有効なセル参照か判定する

はじめに

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

ISREF 関数はセル参照か判定します。有効なセル参照や名前なら TRUE を返します。

=ISREF(A1) のようにして、 A1 のセルが存在するので TRUE になります。

=ISREF(A0) のようにして、 A0 のセルが存在しないので FALSE になります。

=ISREF(名前) のようにして、 定義した名前 名前 がセル参照を取得するなら TRUE になります。

INDIRECT 関数」などの結果が有効なセル参照か判定できます。

セル参照する方法は「セルの参照の仕方」をご覧ください。
名前を定義する方法は「名前の定義の使い方」をご覧ください。

ISREF 関数の引数

ISREF()
が有効なセル参照のときに TRUE を返します。それ以外のときは FALSE を返します。

引数「値」数値、文字列、セル参照、関数などを指定できます。

使い方

ISREF 関数の使い方を紹介します。

セル参照か判定する

引数「値」がセル参照か判定します。セル「B10」には「スピル」を入力しています。

=ISREF(B2)
=ISREF(B2:C3)
=ISREF(B0)
=ISREF("B2")
=ISREF(B10#)
=ISREF(B11#)

B10# のようなスピル範囲演算子は、スピルを入力しているセルに対して有効です。

8

定義した名前か判定する

引数「値」が定義した名前か判定します。「名前の定義」を使用して、セル「B2:C2」を参照する 範囲 という名前を定義しています。

=ISREF(範囲)
=ISREF("範囲")
=ISREF(名前)
4

高度な使い方

ISREF 関数と他の関数を組み合わせた使い方などを紹介します。

IF 関数でセル参照を条件にする

INDIRECT 関数」や「OFFSET 関数」などから取得したセル参照が有効か判定できます。

IF 関数」の条件に ISREF 関数を入力して、セル参照のときに 参照 を表示します。それ以外のときはその数式の結果を表示します。

=IF(ISREF(INDIRECT(B3)),"参照",INDIRECT(B3))

LET 関数」を使用できるバージョンなら次のように入力できます。

=LET(数式,INDIRECT(B4),
IF(ISREF(数式),"参照",数式))
9

有効でないセル参照を返すときはエラーになるため、エラーになるときに別の値を表示するには「IFERROR 関数」を使用します。

=IFERROR(数式,"")

解説

引数「値」がセル参照なら TRUE を返します。

引数「値」が無効なセル参照や値なら FALSE を返します。

INDIRECT 関数」や「OFFSET 関数」などから取得するセル参照が有効か判定できます。

名前の定義」でセル参照を取得する名前なら TRUE を返します。値を取得する名前なら FALSE を返します。

引数「値」に =ISREF(B2) を入力したとき、セル「B2」の値は参照しません。 B2 というセルや名前が存在するかどうかを判定します。

セルの参照形式が「A1 参照形式」か「R1C1 参照形式」で有効なセル参照かどうかが変わります。「A1 参照形式」では B2 が有効でも「R1C1 参照形式」では無効になります。逆に「R1C1 参照形式」では R[1]C[1] が有効になり「A1 参照形式」では無効になります。

参照形式を切り替えるには「列を数字または英語で表示する」をご覧ください。