Contents
スプレッドシートのSUMIFS関数とは
SUMIFS関数は、Googleスプレッドシートで特定の条件に合致するデータの合計を求めるための関数です。「=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)」のように記載して、複数の条件を指定して合計値を計算できます。 たとえば2024年1月以降で2024年12月以内のような指定が可能です。
SUMIFS関数の構文
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
- 合計範囲:合計したい値が入力されているセル範囲
- 条件範囲1:条件を判別するセルの範囲(例:A1:A10)。
- 条件1:条件範囲1で指定した範囲から何を探したいか、の条件を指定。数値、テキスト、日付、論理式、セル参照を指定できる。
- 条件範囲2:さらに別の条件を判別するセルの範囲。
- 条件2:条件範囲2で指定した範囲から何を探したいか、の条件を指定。
条件範囲3以降も必要であれば設定ができます。反対に1つだけ条件を指定する場合には「SUMIF」の関数を使いましょう。
SUMIFS関数の使い方
[基本]同じ条件範囲を指定
たとえば下表のうち、2024/05/01〜2024/05/06の経費を合算したいとします。
この場合は「=SUMIFS(E2:E,A2:A,”>=2024/05/01″,A2:A,”<=2024/05/06″)」のように関数を記載します。それぞれ分解して考えてみましょう。
- 合計範囲:E2:E
- 条件範囲1:A2:A
- 条件1:”>=2024/05/01″
- 条件範囲2:A2:A
- 条件2:”<=2024/05/06″
「合計範囲」は条件に合致した行を最後に足すものなので、一旦後回しにします。
まずは「条件範囲1」のなかで「条件1」に当てはまっている行を探します。つまり「A2:A」のなかで「”>=2024/05/01″」に合致する行を探します。
同様に「条件範囲2」のなかで「条件2」に当てはまっている行を探します。つまり「A2:A」のなかで「”<=2024/05/06″」に合致する行を探します。
そして「条件範囲1」と「条件1」をクリアして、かつ「条件範囲2」と「条件2」を満たすのは次の範囲になります。
最後に、保留にしていた「合計範囲」のうち、これまでの条件に合致した行だけを合計すると「¥3,300」となります。
[応用]異なる条件範囲を指定
続いては、異なる条件範囲を指定しつつ、条件を3つ指定する場合の関数を考えます。たとえば、2024/05/01〜2024/05/06の日付のうち、B列が「モンスターボール」の場合のも足し算する場合を想定しましょう。
この場合は「=SUMIFS(E2:E,A2:A,”>=2024/05/01″,A2:A,”<=2024/05/06″,B2:B,”モンスターボール”)」のように関数を記載します。それぞれ分解して考えてみましょう。
- 合計範囲:E2:E
- 条件範囲1:A2:A
- 条件1:”>=2024/05/01″
- 条件範囲2:A2:A
- 条件2:”<=2024/05/06″
- 条件範囲3:B2:B
- 条件3:”モンスターボール”
さきほど紹介した関数に「条件範囲3」と「条件3」が加わっています。やり方の方針はこれまでと同じです。まず「条件範囲1」と「条件1」、「条件範囲2」と「条件2」の両方を満たすのは、さきほどと同じく下図のとおりです。
続いて新たに加わった「条件範囲3」と「条件3」を考えましょう。「B2:B」のうち「”モンスターボール”」となっている条件なので、下の行がヒットします。
それでは「条件範囲1」と「条件1」、「条件範囲2」と「条件2」、「条件範囲3」と「条件3」をすべてクリアした行を確認しましょう。7,10行目が該当するはずです。
そして、合計範囲「E2:E」から上図の行を合計すればよいので結果は「¥1,200」となります。
「条件範囲1」「条件範囲2」と「条件範囲3」では「A2:A」「B2:B」のように表す範囲は異なっていますが、これでもOKです!どちらも2行目から最終行までを表す範囲となっているので問題ないです。
反対に「A2:A10」「B1:B5」や「A2:A」「B:B」のように異なる行数を指定すると後述のエラーに引っかかるので注意しましょう!
[応用2]ワイルドカードを指定した条件
SUMIFS関数では、SUMIF関数と同じようにワイルドカードを使って「条件」を記載できます。たとえば次のようにかけます。
書き方 | 意味 |
---|---|
“=XX” | XXと同じ |
“>XX” | XXより大きい |
“<XX” | XXより小さい、XX未満 |
“>=XX” | XX以上 |
“<=XX” | XX以下 |
“<>XX” | XXではない |
書き方例 | 意味 |
---|---|
“*XX*” | XXを含む |
“XX*” | XXで始まる |
“*XX” | XXで終わる |
“?XX” | なにか1文字+XXである |
“??XX” | なにか2文字+XXである |
詳しい書き方については次の記事を参考にしてください。
SUMIFS関数のエラー・注意点
[#VALUE!]SUMIFS の配列引数のサイズが異なります。
「[#VALUE!]SUMIFS の配列引数のサイズが異なります。」というエラーは、「条件範囲1」「条件範囲2」「条件範囲3」…のいずれかで指定している行数が異なる場合に現れます。たとえば下画像のようなパターンです。
ここでは「=SUMIFS(C2:C,A2:A,”<2024/05/01″,B:B,”モンスターボール”)」としていて、条件範囲1の「A2:A」と条件範囲2「B:B」が異なる行数を指定しているのでエラーが出ています。そのため、条件範囲2を「B2:B」とすればエラー解消です。
// 誤
=SUMIFS(C2:C,A2:A,"<2024/05/01",B:B,"モンスターボール")
// 正
=SUMIFS(C2:C,A2:A,"<2024/05/01",B2:B,"モンスターボール")