SUMPRODUCT関数で#VALUE!エラー発生の原因は
ここではエクセルのSUMPRODUCT関数で#VALUE!エラーになる2つの原因と対処・回避方法を解説します。
SUMPRODUCT関数の#VALUE!エラーがなぜ起きるのか、どうすればエラーが起こらなくなるのかを詳しく説明します。
1.引数同士の行範囲は一致しているか?
SUMPRODUCT関数で#VALUE!エラーになった時、まず確認したいのが「引数同士の行範囲が一致しているか?」です。
行範囲が一致していないと、#VALUE!エラーになってしまいます。
1-1.「行範囲の不一致」とは
「引数同士の行範囲の不一致」とは、どのようなことをいうのでしょうか?具体的に例を見てみましょう。
上の表は、品名ごとの単価と個数が書かれたものです。
セルD8では、SUMPRODUCT関数で「商品ごとの『単価×個数』を合計した値」を求めようとしています。
しかし数式を、
=SUMPRODUCT(C3:C7,D3:D6)
としたところ、#VALUE!エラーになってしまいました。
数式をよく見ると、単価と個数で行の範囲が異なっています。
具体的には単価は「C3:C7」となっていますが、個数は「D3:D6」となっており、行の範囲が違っていることが分かります。
つまり、配列1ではC3からC7の範囲で掛け算をしようとしているのに、配列2ではD3からD6の範囲までしか指定されていないので「正しく掛け算できませんよ」とエラーになるのです。
このようにSUMPRODUCT関数は、引数同士の行範囲が一致していないと#VALUE!エラーとなります。
1-2.行範囲が不一致の場合の対処法
行範囲があっていない場合の対処法・回避方法は、そのままですが「行範囲をあわせる」ことです。
先ほどの例では、配列2を配列1と同じ3~7行目に修正しました。
結果、#VALUE!エラーを回避することができました。
このようにSUMPRODUCT関数で#VALUE!エラーが出てしまった場合には、まずは「引数同士の行範囲が一致しているか?」を確認してみてください。
2.指定した範囲内に#VALUE!エラーがないか?
続いて確認したいのが「指定した範囲に#VALUE!エラーがないか?」です。
範囲内に#VALUE!エラーがあると、SUMPRODUCT関数の結果も#VALUE!エラーになってしまいます。
2-1.「範囲内に#VALUE!エラー」とは
範囲内に#VALUE!エラーとは、どのようなことをいうのでしょうか?具体的に例を見てみましょう。
上の表は、先ほどと同じものです。
やはりセルD8に「単価×個数の計」を出そうとしていますが、結果は#VALUE!エラーになっています。
でも今回の数式では、引数同士の行範囲は一致しています。
しかしよく見ると、指定した範囲の中に#VALUE!エラーがあります。
このようにSUMPRODUCT関数は、指定した範囲内に#VALUE!エラーがあると、同じように#VALUE!エラーを起こしてしまうのです。
2-2.範囲内に#VALUE!エラーがある場合の対処法
範囲の中に#VALUE!エラーがある場合の対処法・回避方法は、こちらもそのままですが「範囲内の#VALUE!エラーを見つけて解消する」ことです。
そもそも#VALUEエラーは、指定した範囲内に数値以外の不適切な値が入っていると起こるものです。
このような視点から範囲内の#VALUE!エラーを解消できれば、SUMPRODUCT関数の#VALUE!エラーも回避できます。
SUMPRODUCT関数で#VALUE!エラーになった時には、これら2つの点を確認してみてください。
以上参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】