Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » ISNA関数とISERROR関数の違い

動作検証バージョン:Windows版Excel(バージョン1901 ビルド11231.20174)

「isna関数とは ISERROR関数 違い」
という検索キーワードでアクセスがありました。

ExcelのISNA関数とISERROR関数の違いを調べていた方による検索です。

ISNA関数は#N/Aエラーだけを真と判定

ISNA関数はExcelで発生する昔からの7種類のエラーの中で、#N/Aエラーかどうかだけを判定してTRUEまたはFALSEという論理値を返すのに対し、ISERROR関数は全てのエラーでTRUEを返します。

[スポンサードリンク]

A列に7種類のエラーを発生させ、B2セルにISERROR関数を使った
  =ISERROR(A2)
という数式を入力し、C2セルにはISNA関数を使った
  =ISNA(A2)
という数式を入力してから、8行目までオートフィルすると下図のようになります。

ISNA関数とISERROR関数の違い

ISERROR関数を入力したB2:B8セルにはすべてTRUEが表示されるのに対し、ISNA関数を入力したC2:C8セルはFALSEでC8セルだけにTRUEが表示されます。

ISNA関数で判定できる#N/Aエラーだけは異質

Excelの7種類のエラーは、よく考えると異質なものが混在しています。

プログラミングでいうならば、#N/Aエラーだけは論理エラー的なエラーで、他のエラーはコンパイルエラーや実行時エラー的なエラーです。

#N/Aエラーは該当データが存在しなかったときに表示されるエラーであるのに対し、他のエラーは、そもそも文法的に間違っていたり、0で割り算したり、仕様を超える数値が入力されたとか、参照していたセルが削除されたといった、Excelとしてはどうしようもないエラーです。

#N/Aエラーの発生する、VLOOKUP関数やMATCH関数などで該当するデータが存在しなかった状態は、文法的あるいはExcel的には一切間違っていることがなく、計算式に指定されたとおり探してみたら該当するデータが存在しなかったというだけのことで、他のエラーとは異質です。

そのような異質なエラーである#N/Aエラーだけは、別に判定したいということがあるため用意されているのがISNA関数です。

ISERR関数で#N/Aエラーを除くエラーを判定できる

以上のとおり、#N/Aエラーでは#N/Aエラーだけを判定できるのに対し、#N/Aエラーを除いた他のエラーだけを判定する関数も用意されています。

ISERR関数です。

ISERR関数は、ISNA関数とは逆に、#N/AエラーだけはFALSEで、他のエラーをTRUEと判定します。

先ほどの表のD列に
  =ISERR(A1)
と数式を入力して、D8セルまでオートフィルすると下図のような状態になります。

ISNA関数とISERROR関数の違い

最終更新日時:2019-04-11 13:08

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » ISNA関数とISERROR関数の違い

「論理・情報」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.