いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Excel)エラーの数をカウントする方法

 Excelで、関数を使ってエラーのセルの数をカウントする方法についてです。

  • ISERROR関数とSUM関数等の集計関数を組み合わせてエラーの数をカウントできます。

SUM/ISERROR関数等を使う方法

 次の画像では、B3:D7の範囲に9個のエラーを含む各種の値が記録されています。
 これに対しF3セルに次のような式を入力してエラーの数をカウントしています。

 F3セル

=SUM(IF(ISERROR(B3:D7),1,0))

 エラーかどうか判定するISERROR関数とIF関数を組み合わせてエラーを1に、エラー以外を0に変換してSUM関数で合計しています。これでエラーの数がカウントできます。
 ちなみに「,0」を削ってIF関数の第2引数を省略しても同じ結果になります(エラー以外は「FALSE」に変換され、カウントされない)。



 また、IF関数を使わなくても次のようにすれば同じようにカウントできます。

 F3セル

=SUM(ISERROR(B3:D7)*1)

 ISERROR関数だけだとエラーがTRUEに、エラー以外がFALSEに変換されますが、「*1」を加えることでエラーが1に、エラー以外が0に変換されます。
 これをSUM関数で集計することでエラーの数をカウントしています。

 以下は注意点です。

  • IFERROR関数を使って「=SUM(IFERROR(B3:D7,1))」とすると、エラーは1に変換されますが初めから数値のセルはそのままになるので誤りです。
  • 「=COUNTIF(ISERROR(B3:D7),TRUE)」もダメです(第1引数に関数が使えないため、警告が出て入力不可)。

SUMPRODUCT/ISERROR関数を使う方法

 次の画像ではSUMPRODUCT関数とISERROR関数を組み合わせてエラーをカウントしています。

 F3セル

=SUMPRODUCT(ISERROR(B3:D7)*1)

 「ISERROR(B3:D7)*1」の部分は1つ上の画像の例と同じですが集計にSUMPRODUCT関数を使っています。
 SUMPRODUCT関数は1次元配列(1行または1列だけの並び)だけではなく2次元の配列についても積和(掛け算の合計)を求めることが可能です。第2引数以降を省略した場合は単純に各要素の合計が返されます。