ISFORMULA関数とは?基本の使い方
「指定したセルに数式が入っているかどうか」を判別するための関数
結果は「論理値」で返されます。
数式が入力されているかどうかを一瞬で確認できるため、データの整合性チェックや、後述するIF関数、条件付き書式と組み合わせて業務効率を大幅にアップできますよ!
1. 基本構文
=ISFORMULA(検査対象)
検査対象:数式が入力されているか調べたいセルを指定します。
2. 例題:基本的な使い方
以下の表で、セルB2からB5に数式が入っているか確認してみましょう。

数式:
=ISFORMULA(A2)
結果:

【応用】ISFORMULA関数と他の関数を組み合わせる
ISFORMULA関数を実務でよく使うのは、IF関数やNOT関数と組み合わせる時です。これによって、作業を自動化できます。
IF関数と組み合わせて「数式」か「値」かを自動判別
ISFORMULA関数は「TRUE/FALSE」を返すため、IF関数の論理式としてそのまま使えます。
「セルに数式があれば『計算済み』、なければ『手入力』と表示する」という処理を自動化してみましょう。
=IF(ISFORMULA(検査対象), 真の場合の処理, 偽の場合の処理)
例題:IF関数との組み合わせ
以下の表で、セルB2からB5に入っているデータが数式か否かによって、C列にメッセージを表示します。

数式:
=IF(ISFORMULA(B2), “計算済み”, “手入力の値”)
結果:

2. NOT関数と組み合わせて「数式が入っていないセル」を判別(ISFORMULA関数の逆)
ISFORMULA関数は数式があればTRUEを返します。
逆に「数式が入っていないセル」(つまり手入力の値のセル)を判別したい場合は、NOT関数で結果を反転させます。
=NOT(ISFORMULA(検査対象))
結果:
この組み合わせは、「手入力のデータだけ」を処理したい場合に非常に役立ちます。
例題:NOT関数との組み合わせ
以下の表で、数式が入っていないセル(手入力の値)を判別してみましょう。

数式:
=NOT(ISFORMULA(B2))
結果:

条件付き書式で数式が入ったセルを強調表示する
ISFORMULA関数は、数式があるかどうかを目視で確認するために使えますが、条件付き書式と組み合わせることで、数式が入力されているセルだけを自動で色付けし、シートの構造を一目で把握できるようにできます。
これは、他の人が作成した複雑なシートを分析する際に非常に便利です!
例題1:数式セルをハイライト表示する
以下の表の範囲B2:B5内で、数式が入力されているセル(B3とB5)を黄色で塗りつぶします。

設定手順:
- セル範囲B2:B5をドラッグして選択します。

- 「ホーム」タブにある「条件付き書式」をクリックし、「新しいルール」を選択します。
- 「ルールの種類を選択してください」で「数式を使用して、書式設定するセルを決定」を選択します。

- 「次の数式を満たす場合に値を書式設定」のボックスに、以下の数式を入力します。
=ISFORMULA(B2)
- 「書式」ボタンをクリックし、「塗りつぶし」タブで黄色を選択し、「OK」をクリックします。
ルールに入力するセルは、選択範囲の左上のセル(ここではB2)を指定します。Excelが自動で他のセルにも相対的に適用してくれます。
結果:

例題2:手入力のデータだけを強調表示する(NOT関数の応用)
数式ではなく、ユーザーが直接入力した値(手入力のデータ)だけを強調表示したい場合もあります。これは、データ入力の間違いを防ぎたいときなどに役立ちます。
先ほどと同じ表で、手入力の値(B2とB4)だけを緑色で塗りつぶします。

設定手順:
- セル範囲B2:B5を選択します。

- 条件付き書式の新しいルール作成画面を開き、数式で書式設定するルールを選択します。

- 数式ボックスに、以下のNOT関数を組み合わせた数式を入力します。
=NOT(ISFORMULA(B2))
- 書式で緑色を選択し、「OK」をクリックします。
この数式は「B2に数式が入っていない(FALSE)なら、TRUEを返す」という意味になり、手入力のセルにだけ書式が適用されます。
結果:

複数セル・範囲の扱いと注意点
ISFORMULA関数を使う上で、よくある疑問点や注意点について解説します。
1. ISFORMULA関数に「複数セル/範囲」は指定できる?
ISFORMULA関数の引数「検査対象」には、基本的に単一のセルしか指定できません。
例えば、=ISFORMULA(A1:A10)のように範囲を指定しても、結果は検査対象の範囲の左上のセル(この場合はA1)の値に対する判断(TRUE/FALSE)しか返されません。
例題:範囲指定の動作
以下の表で、

=ISFORMULA(B2:B5)
を実行した場合の動作を確認します。
結果:


C2にはFALSEが返されましたが、これは範囲の先頭セルB2が数値(手入力)だからです。B3やB5が数式であっても、この単一の結果には反映されません。
複数セルを調べたい場合:
複数のセルをまとめて調べたい場合は、前述の条件付き書式を利用するか、または対象範囲の隣の列にISFORMULA関数を入力し、下方向にオートフィルでコピーして、一つずつ結果を確認するのが一般的な方法です。
2. ISFORMULA関数が使えない時(互換性)
ISFORMULA関数はExcel 2013以降で追加された比較的新しい関数です。
もしExcel 2010以前のバージョンを使用している場合、この関数は使えません。
古いバージョンの環境でファイルを使う可能性がある場合は、VBA(マクロ)やより複雑な代替手段を検討する必要があります。
まとめ
ISFORMULA関数は、Excelのデータ構造をチェックし、作業を自動化するための土台となる関数です。
| 目的 | 使う関数・機能 | 詳細 |
|---|---|---|
| 数式かどうかを判別 | ISFORMULA(セル) | 数式ならTRUE、値ならFALSE |
| 数式でなければ(手入力なら)TRUE | NOT(ISFORMULA(セル)) | NOT関数で結果を反転させる |
| 数式によって動作を変えたい | IF(ISFORMULA(セル), … , …) | IF関数の論理式として活用する |
| シート上の数式セルをハイライト | 条件付き書式と ISFORMULA(A2) | 視覚的にシート構造を分かりやすくする |
この関数をマスターして実務で活用してみてくださいね!
コメント