更新日:、 作成日:

エクセル ISFORMULA 関数:セルが数式や関数か判定する

はじめに

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

ISFORMULA 関数はセルが数式か判定します。数式なら TRUE を返します。

=ISFORMULA(A1) のようにして、セルが数式なら TRUE になります。

=IFERROR(FORMULATEXT(A1),"") のようにして、数式以外のときに空文字 "" を表示できます。

FORMULATEXT 関数で数式をそのまま文字列にできます。

数式を入力する方法は「数式・計算式の入力方法」をご覧ください。
この関数は 2013 から使用できます。

ISFORMULA 関数の引数

ISFORMULA(セル)
セルの中身が数式のときに TRUE を返します。それ以外のときは FALSE を返します。

引数「セル」セル参照を指定できます。スピル化、配列不可

スピル化、配列不可:セルの範囲を指定すると結果が「スピル」します。配列を指定できません。

使い方

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

数式か判定する

セル「B3」が数式か判定します。

=ISFORMULA(B3)
6

値か判定する

セル「B3」が数式以外 (値) か判定します。「NOT 関数」を使用して結果を反転できます。

=NOT(ISFORMULA(B3))
=ISFORMULA(B4)
8

高度な使い方

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

IF 関数で数式を条件にする

数式をそのまま文字列にするには FORMULATEXT 関数を使用します。数式でないときはエラーになります。

IF 関数」の条件に ISFORMULA 関数を入力して、セルが数式でないときに空文字 "" を表示するには「IFERROR 関数」を使用します。

=IFERROR(FORMULATEXT(B3),"")
=FORMULATEXT(B4)
7

解説

数式バーに表示される値が = で始まるものはすべて数式です。

1

引数「セル」にセル参照以外は入力できません。

引数「セル」に「INDIRECT 関数」や「OFFSET 関数」など、セル参照を取得する関数は入力できます。

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

引数「セル」が数式以外の値なら FALSE を返します。

isvalue
文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。