サイトについて      連絡先   検索

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

はじめに

エクセル 2013 の ISFORMULA 関数の使い方を紹介します。2013から使用できます。

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

「FORMULATEXT 関数」で数式のセルだけを処理できます。

構文

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

引数「セル参照」セル参照を指定できます。

数式とは

セルの中身が=で始まるものはすべて数式です。数式バーを見れば簡単に確認できます。

1

使用例

引数「セル参照」に数式や文字列などを指定して判定する。列「B」には、わかりやすいように数式の結果ではなく数式を表示しています。

=ISFORMULA(B3)
2

引数「セル参照」にセルの範囲を指定して判定する。列「B」~「C」には、わかりやすいように数式の結果ではなく数式を表示しています。

=ISFORMULA(B3:C3)
3

解説

引数「セル参照」にセルの範囲を指定したときは左上のセルを判定します。B2:C3ならセル「B2」が判定対象のセルです。

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

1

引数「セル参照」を動的に指定したいときは「INDIRECT 関数」を使います。列「B」には、わかりやすいように数式の結果ではなく数式を表示しています。

=ISFORMULA(INDIRECT(C3))
4

「FORMULATEXT 関数」は数式を文字列に変換する関数です。数式以外を指定するとエラーになります。「IF 関数」の条件に指定して、「FORMULATEXT 関数」がエラーになるかチェックできます。有効なときだけ処理をして、エラーの時は何も表示しないなどエラー処理ができます。

=IF(ISFORMULA(B3),FORMULATEXT(B3),"")
5

IFERROR 関数」を使用すると数式以外のすべてのエラーも判定対象になりますが、次のように簡素に書けます。

=IFERROR(FORMULATEXT(B3),"")