ラベルラベル

条件分岐・論理入門

ISNA関数を見て理解する

指定した値が#N/AエラーならTRUE、それ以外ならFALSEを返す関数です。

3つのポイント

  1. 判定したい値を指定する
  2. 値が#N/Aエラーか確認する
  3. 判定結果をTRUE / FALSEで返す
例題

#N/AエラーだけをTRUEと判定する

サンプル数式

  • 判定する値

いまの結果:

TRUE
計算結果
結果セル:B2
入力・条件:判定する値 #N/A
  • 判定する値A2:#N/A
この結果になる理由

#N/Aエラーかどうか判定しました。

サンプルデータ

判定する値を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「#N/AエラーだけをTRUEと判定する」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
AB
1判定する値結果
2TRUE
判定する値結果セル
① 正式引数 / 教材要素1–2 処理の流れ

A2に値を入力すると、結果と処理順が変わります。

1つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A2表のセル: A2

    値が#N/Aエラーか確認します。この例ではA2の#N/Aを判定します。

この数式を日本語にすると

A2に#N/Aエラーがあるため、ISNAはTRUEをB2に表示します。A2を#VALUE!にするとFALSE、通常文字列の"#N/A"でもFALSEになります。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜2を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 判定する値

    A2

    判定する値: #N/Aエラー

  2. #N/Aエラーかどうかを判定する

    B2

    結果はTRUEです。B2に表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • ISNAは#N/AエラーだけをTRUEと判定します。#REF!、#VALUE!、#DIV/0!、#CALC!、#SPILL!など、ほかのエラーはFALSEです。
  • 数値・文字列・TRUE / FALSE・空白も#N/AエラーではないためFALSEになります。
  • この教材では未引用の#N/Aを実際のエラー値として扱い、"#N/A"のように二重引用符で囲んだ同じ綴りは通常の文字列として区別します。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:構文は同じ

  • 2×2の配列を渡した5条件では、Excel 2021は通常のISNA式で4セルに展開しますが、Google スプレッドシートの通常式は1セルに留まり、ARRAYFORMULAで明示すると同じ2×2の判定結果が展開されました。教材の入力欄は単一セルです。

Excel

=ISNA(value)

Google スプレッドシート

=ISNA(value)
公式資料・確認範囲

実機確認

  • Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラー・配列展開を確認済み

次に学ぶ関数

IFNA

#N/Aかどうかを判定した次は、そのエラーだけを指定した値に置き換える方法を学びます。

次に学ぶ