Excel 関数 よくあるエラー 一覧

Excel 関数 よくあるエラー 一覧 アイキャッチ画像 トラブルシューティング

Excelの関数、便利だけどエラーが出ると途端に手が止まってしまう…そんな経験、ありますよね?特にVLOOKUPで「#N/A」を見たときの絶望感は忘れられません。今回は、実務で頻出するExcel関数のエラーについて、原因と対策をまとめました。

よくある質問

Q. VLOOKUP関数で#N/Aエラーが頻発します。原因と対策を教えてください。(売上データから担当者名を検索したい)

A. VLOOKUP関数で#N/Aエラーが出る原因はいくつか考えられますが、一番多いのは検索値が見つからないケースです。具体例で見てみましょう。

例えば、下記のような売上データがあり、担当者IDから担当者名をVLOOKUPで検索したいとします。

Excel 関数 よくあるエラー 一覧 - 売上データと担当者マスタの例
売上データと担当者マスタの例

VLOOKUPの数式はこんな感じになるでしょう。

=VLOOKUP(A2,Sheet2!A:B,2,FALSE)

この数式で#N/Aエラーが出る場合、考えられる原因は以下の通りです。

  • 検索値(A2)が参照範囲(Sheet2!A:B)の1列目に存在しない。
  • 検索値のデータ型が一致していない。(数値と文字列の違いなど)
  • 参照範囲の並び順が昇順になっていない(FALSEを指定している場合は関係ありません)。
  • 参照範囲に余計なスペースが含まれている。

対策としては、まず検索値と参照範囲のデータ型を統一すること。数値に見えて実は文字列だった、なんてことはよくあります。書式設定を確認しましょう。次に、参照範囲に余計なスペースがないか確認。TRIM関数で空白を削除するのも有効です。
Microsoft公式: VLOOKUP関数も参照してください。

筆者の経験では、VLOOKUPで検索するIDの桁数が違う(頭に0が付いている/いない)ことが原因でエラーになるケースをよく見かけます。対策としては、TEXT関数でIDの書式を統一するのがおすすめです。

Q. SUMIF関数で合計範囲が正しく計算されません。条件に合致するはずなのに0と表示されます。(支店ごとの売上合計を計算したい)

A. SUMIF関数で合計範囲が正しく計算されない場合、合計範囲の指定ミスや、条件範囲と合計範囲のずれが考えられます。

例えば、下記のような支店別売上データがあるとします。

Excel 関数 よくあるエラー 一覧 - 支店別売上データの例
支店別売上データの例

SUMIF関数の数式はこんな感じでしょうか。

=SUMIF(A:A,”東京支店”,B:B)

この数式で0と表示される場合、考えられる原因は以下の通りです。

  • 条件範囲(A:A)と合計範囲(B:B)の行数がずれている。
  • 条件(”東京支店”)が条件範囲に完全に一致しない。(全角/半角、スペースの違いなど)
  • 合計範囲に数値以外のデータが含まれている。

対策としては、まず条件範囲と合計範囲の行数が一致しているか確認しましょう。次に、条件が完全に一致しているか確認。全角/半角、スペースの違いに注意が必要です。
条件にワイルドカード(や?)を使用するのも有効です。例えば、”支店”とすれば、「〇〇支店」という文字列に合致します。

Q. IF関数で条件分岐がうまくいきません。TRUE/FALSEの判定が意図しない結果になります。(残業時間に応じて手当を支給したい)

A. IF関数で条件分岐がうまくいかない場合、条件式の記述ミスや、比較対象のデータ型が間違っている可能性があります。

例えば、下記のような社員の残業時間データがあるとします。

Excel 関数 よくあるエラー 一覧 - 社員の残業時間データの例
社員の残業時間データの例

IF関数の数式はこんな感じでしょうか。

=IF(B2>20,10000,0)

この数式で意図しない結果になる場合、考えられる原因は以下の通りです。

  • 条件式(B2>20)が間違っている。
  • 比較対象のデータ型が数値ではない。(文字列として認識されているなど)
  • 計算結果の表示形式が間違っている。(小数点以下の表示桁数など)

対策としては、まず条件式が正しいか確認しましょう。例えば、”以上”を表す場合は”>=20″と記述する必要があります。次に、比較対象のデータ型を確認。文字列として認識されている場合は、VALUE関数で数値に変換する必要があります。
また、条件が複数ある場合は、AND関数やOR関数を組み合わせることで、より複雑な条件分岐を実現できます。

Q. COUNTIF関数でカウントされないセルがあります。条件に合致するはずなのにカウントされません。(特定の顧客からの注文数を数えたい)

A. COUNTIF関数でカウントされない場合、条件が完全に一致していないか、参照範囲に空白が含まれている可能性があります。

例えば、下記のような注文データがあるとします。

=COUNTIF(A:A,”株式会社ABC”)

この数式でカウントされない場合、考えられる原因は以下の通りです。

  • 条件(”株式会社ABC”)が参照範囲(A:A)に完全に一致しない。(全角/半角、スペースの違いなど)
  • 参照範囲に空白セルが含まれている。

対策としては、まず条件が完全に一致しているか確認しましょう。全角/半角、スペースの違いに注意が必要です。次に、参照範囲に空白セルが含まれていないか確認。空白セルを除外する場合は、別の列に関数で空白を除いたリストを作成し、そのリストをCOUNTIF関数の参照範囲として指定します。
Microsoft公式: COUNTIF関数も参考になります。

Q. INDEXとMATCH関数を組み合わせた場合、どのようなエラーが起こりやすいですか?(商品名から価格を検索したい)

A. INDEXとMATCH関数を組み合わせた場合、MATCH関数で検索値が見つからない、INDEX関数の行番号または列番号が範囲外になる、といったエラーが起こりやすいです。

例えば、下記のような商品リストがあるとします。

=INDEX(B:B,MATCH(“商品A”,A:A,0))

この数式でエラーが出る場合、考えられる原因は以下の通りです。

  • MATCH関数で検索値(”商品A”)が検索範囲(A:A)に見つからない。
  • INDEX関数の行番号(MATCH関数の結果)が、INDEX関数の参照範囲(B:B)の範囲外になっている。

対策としては、まずMATCH関数が正しい行番号を返しているか確認しましょう。ISERROR関数とIF関数を組み合わせて、エラーの場合の処理を記述するのも有効です。
例えば、=IF(ISERROR(INDEX(B:B,MATCH(“商品A”,A:A,0))),”該当なし”,INDEX(B:B,MATCH(“商品A”,A:A,0)))のように記述することで、エラー時に「該当なし」と表示できます。

プロのコツ

  • エラーチェック機能の活用: Excelにはエラーチェック機能が搭載されています。数式のエラーを自動的に検出し、修正候補を表示してくれます。積極的に活用しましょう。
  • 数式の検証機能の活用: 数式の検証機能を使用すると、数式の計算過程をステップごとに確認できます。複雑な数式のエラー原因を特定するのに役立ちます。
  • エラー処理関数の活用: IFERROR関数を使うと、エラーが発生した場合に別の値を表示したり、処理を分岐させたりすることができます。エラー表示をわかりやすくしたり、エラーによる計算の中断を防ぐのに有効です。例えば、`=IFERROR(VLOOKUP(A1,B:C,2,FALSE),”データなし”)`とすれば、VLOOKUPでエラーが出た場合に「データなし」と表示できます。研修でよく聞かれるのですが、この関数を知っているだけで、エラー対応の時間が大幅に短縮できますよ。

筆者の経験では、IFERROR関数を積極的に使うことで、エラー表示を抑制し、シートの見栄えを良くすることができます。特に、多くの関数を組み合わせた複雑な数式では、IFERROR関数が必須と言えるでしょう。

業務効率化のためには、ショートカットキーを覚えるのも重要です。例えば、数式バーの表示/非表示を切り替える「Ctrl + Shift + U」は、数式をじっくり確認したいときに便利です。

まとめ

  • VLOOKUP関数では、検索値と参照範囲のデータ型、参照範囲の並び順、空白に注意。
  • SUMIF関数では、条件範囲と合計範囲の行数、条件の一致に注意。
  • IF関数では、条件式の記述ミス、比較対象のデータ型に注意。
  • COUNTIF関数では、条件の一致、参照範囲の空白に注意。
  • INDEXとMATCH関数では、MATCH関数の検索値、INDEX関数の範囲に注意。
  • エラーチェック機能、数式の検証機能、IFERROR関数を積極的に活用。

Excelの関数エラーは、焦らず一つ一つ原因を特定していくことが大切です。現場でよく聞かれる疑問として、エラーメッセージをよく読まずに、闇雲に数式を修正しようとする人がいますが、まずはエラーメッセージの意味を理解することから始めましょう。 困ったときはこの記事に戻って確認してみてください。

コメント

タイトルとURLをコピーしました