違い」という検索キーワードでアクセスがありました。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行目までオートフィルすると下図のようになります。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関数は、ISNA関数とは逆に、#N/AエラーだけはFALSEで、他のエラーをTRUEと判定します。先ほどの表のD列に=ISERR(A1)と数式を入力して、D8セルまでオートフィルすると下図のような状態になります。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。