SUMIF関数で#VALUE!エラー!?|原因と対処方法
ここでは、エクセルのSUMIF関数で「#VALUE!エラー」になる原因と対処方法を解説します。
分かりづらい原因なのですが、読めば解決します。
1.#VALUE!エラーはなぜ起こる?
SUMIF関数で#VALUE!エラーは、なぜ起こるのでしょうか?
そもそも、#VALUE!エラーは「入力した数式に問題があるか、参照先のセルに問題がある」時に起こるものです。
まずは、#VALUE!エラーの例と原因を確認します。
1-1.#VALUE!エラーの例
では、次の数式はどこに問題があるのでしょうか?
上の数式は、引数「範囲」と「合計範囲」で「他のエクセルファイルを参照している」点以外は、普段と同じです。
前提として、「引数の入れ方」、「数式の使い方」に問題はないものとします。
しかし、結果は「#VALUE!エラー」になってしまいました。
1-2.#VALUE!エラーの原因
この場合、問題は「参照先」にあります。
SUMIF関数は、「他のエクセルファイルを参照」すると#VALUE!エラーになってしまうのです。
ちなみに、参照先のファイルを開けばその時点でエラーは解消されます。
2.#VALUE!エラー解消のための対処方法
しかし、その都度参照先のファイルも開くのはとても面倒ですよね。
できれば開かなくてもエラーにならないようにしたいものです。
そこで、エラーにならない方法を2つ紹介します。
2-1.SUM関数と関数を組み合わせる
「SUM関数とIF関数の組み合わせ」て「配列数式」にすると、エラーが起こらずSUMIF関数と同じことができます。
SUMIF関数の数式の形は、以下の通りでした。
対して、SUM関数とIF関数の組み合わせ+配列数式で同じことをしようとした場合、数式は、次のようになります。
ちなみに「{ }」は、手入力ではなく「数式入力後『CtrlキーとShiftキーを押しながらEnterキーを押す」ことで付けます。
例えば、数式は次のようになります。
↓
SUM関数とIF関数の組み合わせ+配列数式はかっこの多さと「*1」の意味が分かりづらいですが、こういうもんだと思って使えば意外と簡単です。
これが一つ目の対処方法です。
2-2.結果を表示させるファイルに参照元の表をコピーする
もう一つ方法があります。
それは「結果を表示させるセルに参照元の表をコピーし、それに対してSUMIF関数を使う」ことです。
具体的には、次の手順で行います。
- ① 結果表示のファイルに「シートを新規作成」
- ② 「=」を使って参照元にある値をコピーする
- ③ 出来上がったシートに対してSUMIF関数を使う
例えば上の表は、Book1のシート1の表をBook2のシート2にコピーしたものです。
セルA2の値は「=」で「Book1のシート1のセルA2」を参照しています。
このような参照元とリンクした表を作り、これに対してSUMIF関数を使うのです。
この「リンクした作業用シート」を挟むことで、閉じたファイルの値が取得できるようになり、結果#VALUE!エラーが発生しなくなります。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
SUMIF関数に関連したページは、次の通りです。
- SUMIF関数 各ページへのリンクはこちら
- ◎基本的な使い方
- ◎合計を別シートに表示させる方法
- ◎合計を別ファイルに表示させる方法
- ◎#VALUE!エラーの原因と対処方法
- ◎うまくいかない、0になる原因と対処法
- ◎曜日の条件指定がうまくいかず合計できない
- ◎空白以外を条件に合計する数式の書き方