ExcelやGoogleスプレッドシートで配列定数を使ったSUMIF関数の動作解説

Excel

ExcelやGoogleスプレッドシートでのSUMIF関数やSUMIFS関数を使用する際に、配列定数を条件範囲や合計範囲に指定するときの挙動について説明します。特に、合計範囲に配列定数を指定した場合にエラーが発生する原因と、代替方法について詳しく解説します。

1. 配列定数とは

配列定数は、複数の値を一度に指定できるリストです。例えば、{1;2;3} や {10,20,30} のように書かれます。これを条件範囲や合計範囲に使うことで、簡潔に処理できます。

2. SUMIF関数での配列定数の使い方

SUMIF関数では、条件範囲と合計範囲の指定が必要です。条件範囲に配列定数を使うことができる一方、合計範囲に配列定数を指定するとエラーが発生することがあります。これは、ExcelやGoogleスプレッドシートが、合計範囲に配列定数を適切に処理できないためです。

3. 具体例とエラーの原因

例えば、以下のような式を入力した場合。

  • =SUMIF(A1:A5, “>2”, B1:B5)
  • =SUMIF({1;2;3;4;5}, “>2”, B1:B5)

この場合は正しく動作し、合計が計算されます。しかし、次のように合計範囲に配列定数を指定した場合。

  • =SUMIF(A1:A5, “>2”, {250;350;400;450;550})
  • =SUMIF({1;2;3;4;5}, “>2”, {250;350;400;450;550})

エラーが発生します。Googleスプレッドシートでは、「引数は範囲にする必要があります。」というエラーが表示されます。これは、SUMIF関数が配列定数に対して合計範囲としての処理を行えないためです。

4. 解決方法と代替案

もし配列定数を合計範囲に指定したい場合、次のようなアプローチが考えられます。

  • 配列定数をセル範囲に入力し、そのセル範囲を合計範囲として指定する。
  • SUMPRODUCT関数を使用することで、より柔軟に配列計算を行う。

5. まとめ

配列定数をSUMIF関数の合計範囲に指定するとエラーが発生するのは、ExcelやGoogleスプレッドシートがこの処理に対応していないためです。代替手段として、セル範囲を指定するか、SUMPRODUCT関数を利用する方法があります。状況に応じて使い分けると良いでしょう。

コメント

タイトルとURLをコピーしました