#DIV/0!等のエラー無視|SUM関数で計算・合計する方法

ここでは、#DIV/0!をはじめとしたエラーを無視してSUM関数で計算し、合計を求める方法を解説します。

 

数式は2パターン紹介しますが、基本的に1つ覚えればOKです。

1.SUM関数でエラーを無視するとは

始めに、SUM関数でエラーを無視して合計するとはどのようなことかから確認します。

 

1-1.SUM関数はエラーに弱い

SUM関数は、指定した範囲の中に一つでもエラーがあるとエラーになります。

 

もちろんエラーがあること自体に問題があるのですが、「エラーがあっても合計してくれたらいいのに」と思ってしまう場面もあり、困ってしまう点です。

 

1-2.例を確認

一つ例を見てみましょう。

上の表は「売上管理表」です。

 

セルD8に、SUM関数で「4月から6月までの4店の売り上げの合計」を求めようとしています。

 

しかし、結果は#N/Aエラーになっています。これは、合計を求めたい範囲内に#N/Aエラーがあるためです。

しかし、エラーがあっても合計を表示させたいことがあります。

 

そこでここでは、エラーを無視して合計を求めることのできる数式を紹介します。

2.IFERROR関数を使う方法

まずは、SUM関数と「IFERROR関数」を組み合わせた数式からです。

 

2-1.数式の形

数式の形は、次の通りです。

{=SUM(IFERROR(範囲,0))}

 

「範囲」に合計したい範囲を入れます。なお、「{ }」は手入力ではなく一定のキー操作で付けます。

 

手順はこの後説明します。

 

2-2.数式の作り方

では実際に、IFERROR関数を使って「エラーを無視して合計できる数式」を作ってみましょう。

 

先ほどの表の、セルB4からD7までの合計を求めてみます。

以下、手順です。

 

(1)数式バーに「=SUM(」と入力後、fxボタンを押す

 

(2)SUM関数の引数ダイアログに「IFERROR(合計したい範囲,0)」を入力する

 ※例では「合計したい範囲」に「B4:D7」を指定

 

(3)「Ctrl」と「Shift」キーを押しながら「Enter」キーを押せば完了

※ この操作で「配列数式」になります

 

これで「エラーを無視して合計する」ことができます。

 

2-2.数式のポイントは?

数式のポイントは、2つあります。

ポイント
  • IFERROR関数のカッコ内で「合計したい範囲」を指定すること
  • 「ShiftキーとCtrlキーを押しながらEnterキーを押す」ことで配列数式にすること

配列数式については、この後解説します。

3.「IF関数+ISERROR関数」を使う方法

次に、IF関数とISERROR関数を使う方法もあります。

 

3-1.数式の形

数式の形は、次の通りです。

{=SUM(IF(ISERROR(範囲),0,範囲))}

 

2か所の「範囲」に合計したい範囲を入れます。なお、「{ }」は手入力ではなく一定のキー操作で付けます。

 

手順はこの後説明します。

 

3-2.数式の作り方

では実際に、IF関数とISERROR関数を使って「エラーを無視して合計できる数式」を作ってみましょう。

 

先ほどの表の、セルB4からD7までの合計を求めてみます。

以下手順です。

 

(1)数式バーに「=SUM(」と入力後、fxボタンを押す

 

(2)SUM関数の引数ダイアログに「IF(ISERROR(合計したい範囲),0,合計したい範囲)」を入力する

 ※例では「合計したい範囲」に「B4:D7」を指定

 

(3)「Ctrl」と「Shift」キーを押しながら「Enter」キーを押せば完了

※ この操作で「配列数式」になります

 

これで「エラーを除いて合計する」ことができます。

 

3-3.数式のポイントは?

数式のポイントは、3つあります。

ポイント
  • ISERROR関数のカッコ内で「合計したい範囲」を指定すること
  • IF関数のカッコ内にISERROR関数を入れ、「真の場合」に「0」、「偽の場合」に「合計したい範囲」を指定すること
  • 「ShiftキーとCtrlキーを押しながらEnterキーを押す」ことで配列数式にすること

配列数式については、この後解説します。

4.配列数式とは

「配列数式」とは「複数セルの計算結果を一時的に保持できる数式」のことです。

 

分かりやすいよう、一つ例を見てみましょう。

例えば、上の表から「仕入値の合計」を求めたいとします。

 

仕入値の合計は、2~4行目までの「B列×C列」の和になります。

 

そこで簡単な方法としては、「B列×C列」の結果を一旦D列に「個別の仕入値」として計算し、それを合計(SUM)する、というやり方があります。

 

しかしこれでは計算用の列が必要になってしまいます。

これに対して計算列を必要としない「配列数式を用いる」方法があります。

 

「各B列×C列の乗算」から「合計」までをまとめて行ってくれるのです。

条件にあうデータだけを一覧表から順に取り出す

配列数式を用いた数式には「{}」が付き、これは数式入力後に「Ctrl」+「Shift」+「Enter」キーを押すことで付けることができます。

 

配列数式にした数式は、

{=SUM((B2:B4)*(C2:C4))}

となります。

 

通常、

=SUM((B2:B4)*(C2:C4))

という数式を入力すると計算結果は「B2*C2」の値のみが表示されます。

 

しかし、配列数式にすることで「各行のB列×C列の結果」が一時的に保持され、その後SUM関数でこれらの合計を求めることができるようになります。

 

このように、「複数セルの計算結果を一時的に保持できる数式」が配列数式です。

5.使い分けの判断基準は

最後に、紹介した2つの方法の「使い分けの判断基準」についてです。

 

数式が短くて分かりやすいので、基本的に「IFERROR関数」を使うようにしましょう。

 

ただ、もう一つIF関数+ISERROR関数という方法もあるということは、一応覚えておくと、後でなにかの役に立つかもしれません。

 

以上参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


SUM関数に関連したページは、次の通りです。。

  • SUM関数 使いこなすためのポイントはこちら
Top