ISERRORで問題を検出する
処理する前に、セルにエラーが含まれているか確認します。
「ISERRORで問題を検出する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
エラーを検査する
エラーを置き換えるのではなく、エラーが存在するかどうかを確認してから、処理を決めたい場合があります。
ISERROR関数は、まさにそのための関数です。セルまたは数式を調べ、結果がエラーならTRUEを、問題がなければFALSEを返します。
これにより、独自のエラー処理を構築したり、エラーを数えたり、問題のある行に印を付けたりできます。このレッスンでは、ISERRORとその関連関数を学びます。
ISERRORの構文
ISERRORは、検査対象の値または数式という1つの引数を受け取ります。
=ISERROR(value)
値が何らかのエラーの場合は論理値TRUEを返し、それ以外の場合はFALSEを返します。エラーそのものを表示することはなく、常にTRUEまたはFALSEだけを返します。
単独では、これは単なる情報です。本当の力を発揮するのは、IFと組み合わせたときです。
=ISERROR(A2/B2)IFと組み合わせたISERROR
ISERRORをIFと組み合わせると、完全に独自のエラー処理を構築できます。IFでエラーを確認し、それぞれの場合に表示する内容を選択します。
ここでは、割り算でエラーが発生した場合、数式は"Check data"を返します。エラーがなければ、実際の計算結果を返します。これはIFERRORを手動で実現する方法ですが、2つの分岐を自由に制御できます。
基本形は=IF(ISERROR(formula), do_this, else_show_formula)です。
=IF(ISERROR(A2/B2), "Check data", A2/B2)IS系のエラー関数
ISERRORには、特定のエラーを検査する関連関数があります。
ISERRは、#N/A以外のエラーでTRUEになります。ISNAは、#N/Aエラーの場合だけTRUEになります。ISERRORは、#N/Aを含むすべてのエラーでTRUEになります。
適切な関数を選ぶことで、IFERRORとIFNAの違いと同じように、必要な状況に正確に対応できます。
ISNAを特定の用途で使う
検索に一致しない場合だけを扱いたいときは、ISNAが正確な検査方法です。#N/Aの場合だけTRUEを返します。
これにより、古いスプレッドシートでIFNAと同じ動作を実現できます。また、検索に一致しない場合に別の列へ書き込むなど、独自の処理を実行することもできます。
ここでは、その顧客が見つかったかどうかを数式で判定しています。
=IF(ISNA(VLOOKUP(A2,Data!A:B,2,FALSE)), "New customer", "Existing")範囲内のエラーを数える
ISERRORは監査にも役立ちます。列内でエラーを含むセルの数を数えるには、SUMPRODUCTと組み合わせます。
ISERRORはTRUEまたはFALSEを返すため、二重否定の--によってそれらを1と0に変換し、SUMPRODUCTで合計できます。
結果からエラーのあるセル数がわかるため、大規模なデータセットの状態をすばやく確認できます。
=SUMPRODUCT(--ISERROR(C2:C100))問題のある行に印を付ける
ISERRORを使って、データの横にわかりやすい警告列を追加できます。各行で自身の計算結果を確認し、問題があれば印を表示します。
ここでは、合計の計算でエラーが発生した行に警告記号を表示し、問題のない行は空白のままにします。印の列を確認するだけで、問題のある箇所をすぐに見つけられます。
これは、散在する#DIV/0!コードを目視で探し回るより、はるかにわかりやすい方法です。
=IF(ISERROR(D2), "!", "")ISERRORとIFERRORの違い
両者の関係を確認しておきましょう。
IFERROR(x, y)は、xを1回実行し、エラーが発生した場合はyを返す簡略形です。IF(ISERROR(x), y, x)も同じ処理を行いますが、xを2回評価するため、複雑な数式では遅くなることがあります。
そのため、単純な置き換えには通常IFERRORのほうが適しています。置き換えではなく検査が必要な場合や、値を置き換える以外の処理を行いたい場合にISERRORを使用します。
ISERRORを使った条件付き書式
ISERRORは条件付き書式にも利用できます。数式がエラーを返すセルを強調表示するルールを作成できます。
ルールの数式に=ISERROR(A1)を設定して範囲全体に適用し、一致するセルを赤色にします。
これで、エラーが発生した瞬間に視覚的に目立つようになります。セルの値自体を変更しない、すっきりした非破壊的な監視方法です。
=ISERROR(A1)エラーをログに振り分ける
ISERRORはTRUEまたはFALSEを返すため、問題のある値を役立つ場所へ振り分けることができます。IFと組み合わせて、失敗したキーだけを確認用の列にコピーします。
ここでは、キーの検索でエラーが発生した場合は、そのキー自体をセルに書き込みます。それ以外の場合はセルを空白のままにします。
その列をフィルタリングすれば、修正が必要なすべてのキーの一覧をすぐに作成できます。エラー処理を具体的な対応計画に変えられます。
=IF(ISERROR(VLOOKUP(A2,Data!A:B,2,FALSE)), A2, "")適切な関数を選ぶ
エラー処理に使える関数をまとめると、次のとおりです。
- IFERRORは、任意のエラーを代替値に置き換えます。
- IFNAは、検索で発生した#N/Aだけを置き換えます。
- ISERROR / ISNA / ISERRは、独自の処理や集計、書式設定に使うためにエラーを検査します。
表示をきれいに整えたいだけなら置き換え関数を使い、エラーに基づいて判断や計測を行いたい場合はIS系の関数を使います。
確認テスト
エラーを検査する関数の理解度を確認します。
まとめ: ISERROR
エラー処理に必要な関数を一通り学びました。
=ISERROR(value)は、エラーの場合はTRUEを、それ以外の場合はFALSEを返します。ISNAは#N/Aだけを検査し、ISERRは#N/A以外のすべてのエラーを検査します。- IFと組み合わせて独自の処理を行ったり、SUMPRODUCTと組み合わせてエラーを数えたり、条件付き書式と組み合わせてエラーを強調表示したりできます。
- 単純に置き換える場合はIFERRORまたはIFNAを使い、検査して判断する場合はIS系の関数を使います。
これで、スプレッドシートをきれいで正確な、プロフェッショナルな状態に保てるようになりました。
AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「ISERRORで問題を検出する」レッスンは無料ですか?
はい。「ISERRORで問題を検出する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「ISERRORで問題を検出する」で何を学びますか?
処理する前に、セルにエラーが含まれているか確認します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ISERRORで問題を検出する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- エラーの種類を理解する
- IFERRORでエラーを捕捉する
- IFNAで検索エラーに対応する
- ISERRORで問題を検出する