
ExcelのCOUNTIF関数では難しい、「#N/A」をカウントしないようにする方法や、「すべてのエラー」を無視してカウントする方法をご紹介します。「エラー以外」のセルをカウントする方法についても解説しているので、ぜひ参考にしてみてください。
はじめに

COUNTIF関数は、特定の値(例:#N/A)を数えることはできますが、エラー全体といった条件で数えることはできません。
たとえば、#N/Aを数える場合、#VALUE!や#REF!など、他の種類のエラーはカウント対象に含まれません。
例:=COUNTIF(B2:B4,"#N/A")
COUNTIF関数の引数:(範囲, 条件)
「エラー」を数える方法

エラーだけカウントしたい場合、SUMPRODUCT関数とISERROR関数を組み合わせます。
たとえば、B列の範囲から「エラーの数」をカウントしたい場合、数式は次のようになります。
例:=SUMPRODUCT(ISERROR(B2:B4)*1)
この数式では、まずISERROR関数が値がエラーであるかどうかを検証し、その結果を、{FALSE;TRUE;TRUE}といった配列で返します。
次に*1がこの配列を{0;1;1}という数値の配列に変換し、SUMPRODUCT関数がこの配列を受け取り、合計を返します。
SUMPRODUCT関数の引数:(配列1, [配列2, …])
「エラー以外」を数える方法

エラー以外の値をカウントしたい場合、COUNTA関数、SUMPRODUCT関数、ISERROR関数を組み合わせます。
たとえば、B列の範囲から「エラー以外の数」をカウントしたい場合、数式は次のようになります。
例:=COUNTA(B2:B4)-SUMPRODUCT(ISERROR(B2:B4)*1)
この数式では、まずCOUNTA関数で「範囲内のすべての値の数」を取得します。
そこから、「エラーの数を数える方法」で解説したSUMPRODUCT(ISERROR(B2:B4)*1)で求めた「エラーの数」を引くことで、「エラー以外の値の数」を算出します。
COUNTA関数の引数:(値1, [値2, …])
まとめ
この記事では、Excelでエラーの数をカウントする方法を解説しました。
- 特定のエラー(例:#N/A)だけを数えるなら:
=COUNTIF(B2:B4,"#N/A") - あらゆる種類のエラーを数えるなら:
=SUMPRODUCT(ISERROR(B2:B4)*1) - エラー以外の値を数えるなら:
=COUNTA(B2:B4)-SUMPRODUCT(ISERROR(B2:B4)*1)
このように、目的に応じて数式を使い分けることで、作業を効率化できます。