「SUMIFS関数を使って期間指定した範囲を計算する方法」について詳しく解説します。
売上管理などのデータをスプレッドシートで管理している場合、指定した日付ごとに集計する必要がある場面がたくさんあると思います。
また、Googleフォームとスプレッドシートを連携した際には、タイムスタンプ・日付などを指定した期間で集計したいと考えている方も多いのではないでしょうか?
同じ悩みをお持ちの方々に、分かりやすく具体的な例を交えながら解説したいと思います。
- SUMIFS関数を使って指定した期間の合計を計算する
- 日付を指定する際の注意点
そもそもSUMIFS関数の使い方がわからないという方はこちらの記事を参考にしてください↓
-1-300x158.jpg)
使用するスプレッドシート
今回説明のために、以下のようなスプレッドシートを準備しました。

日付を数式に直接入力する
日付を直接入力する場合の参考式です。
ここでは日付が「2023/1/1」、製品名が「みかん」の「売上金額」を計算します。
=SUMIFS(E2:E21,A2:A21,“2023/1/1”,C2:C21,“みかん”)
=SUMIFS(E2:E21,A2:A21,"2023/1/1",C2:C21,"みかん")
条件に合うのは2行目の金額だけなので、「2400」と計算されました。

よく間違えるのが「“”(ダブルクオーテーション)」を忘れてしまうパターンがあります。
忘れないように入力してください。
- 「“”(ダブルクオーテーション)」を忘れる
セルに入力した日付の値を参照する
日付を直接数式に入力する代わりに、別のセルに日付を入力し、それを参照する方法もあります。
=SUMIFS(E2:E21,A2:A21,G5,C2:C21,“みかん”)
=SUMIFS(E2:E21,A2:A21,G5,C2:C21,"みかん")

期間指定内の合計を計算する
指定した期間内の合計を取得する場合は「不等号(<)」を使用します。
式内に日付を入力する場合
=SUMIFS(E2:E21,A2:A21,“>=2023/1/1”,A2:A21,“<=2023/5/15”,C2:C21,“みかん”)
=SUMIFS(E2:E21,A2:A21,">=2023/1/1",A2:A21,"<=2023/5/15",C2:C21,"みかん")
指定した期間は「2023/1/1」から「2023/5/15」内の「みかん」という製品の売上金額の合計を計算しました。
該当するのは「2400」と「2200」なので、「4600」が算出されれば成功です。

ポイントは『””(ダブルクオーテーション)内に不等号を入れる』ことです。
よく見かけるミスとして、以下の3点があるので注意してください。
- ””(ダブルクオーテーション)を忘れる
- 不等号を日付の後ろにつけている
- 不等号が逆
セルに入力された日付を参照する
一番使うであろう「セル内の日付」を検索する場合は以下の式になります。
=SUMIFS(E2:E21,A2:A21,“>=”&H1,A2:A21,“<=”&H2,C2:C21,H3)
=SUMIFS(E2:E21,A2:A21,">="&H1,A2:A21,"<="&H2,C2:C21,H3)
1/1から7/31までのみかんの合計を算出しました。
該当するのが3つあるので、7600円と出力されます。

ポイントは『不等号(>=)を””で囲む』こと、
そして『セルを&(アンド)でつなげる』ことです。
よくやってしまうミスが以下の2点なので注意してください。
- 『&』を忘れる
- 『&』も『””』を忘れる
EOMONTH関数を使って月ごとの計算をする
EOMONTH関数を使うと、月の初めから末日までの期間を指定することができます。
EOMONTH関数とは入力した日付の前、または後ろの月の最終日を求めることが出来ます。
具体例を見せたほうが早いと思うので、以下を参照してください。
- 月始め
-
=EOMONTH(H1,-1)+1
- 月末
-
=EOMONTH(H1,0)
- SUMIFSの集計
-
先程説明した『セルに入力された日付を参照する』と同じように
-
=SUMIFS(E2:E21,A2:A21,”>=”&H2,A2:A21,”<=”&H3,C2:C21,H4)
=SUMIFS(E2:E21,A2:A21,">="&H2,A2:A21,"<="&H3,C2:C21,H4)

日付を入力する「H1セル」の月初と月末をEOMONTH関数で計算し、その範囲内の合計を出すことが出来ました。
ひとつの関数内にまとめて月ごとの計算をする
複数の期間を一度に計算する場合、SUMIFS関数を使ってひとつの式にまとめることも可能です。
=SUMIFS(E2:E21,A2:A21,“>=”&EOMONTH(H1,-1)+1,A2:A21,“<=”&EOMONTH(H1,0),C2:C21,H2)
=SUMIFS(E2:E21,A2:A21,">="&EOMONTH(H1,-1)+1,A2:A21,"<="&EOMONTH(H1,0),C2:C21,H2)
マーカーを引いた箇所に先程のEOMONTH関数を入れて、不等号を『&』で結びます。
これで「H1」に入力された日付の月初と月末の合計が求められます。

以上がSUMIFS関数を使って期間指定内の合計を算出する方法でした。
覚えておくと便利な『絶対参照』
最後に覚えておくと便利な絶対参照についてご紹介します。
製品ごとに売上金額をまとめて出したいときがあります。
ですがそのままコピペしてしまうと、スプレッドシートの参照先がズレてしまいます。

この時に使ってほしいのが絶対参照です。
「$(ダラーマーク)」と呼ばれる記号を付けてあげることで、指定した範囲をコピペした際にずれることを防いでくれます。
=SUMIFS($E$2:$E$21,$A$2:$A$21,”>=”&$H$1,$A$2:$A$21,”<=”&$H$2,$C$2:$C$21,G6)
=SUMIFS($E$2:$E$21,$A$2:$A$21,">="&$H$1,$A$2:$A$21,"<="&$H$2,$C$2:$C$21,G6)
キーボードの「F4」キーを押せば簡単に絶対参照にすることが出来ます。
ぜひ使ってみてください。
まとめ
SUMIFS関数を使って期間指定した日付範囲を計算する方法を詳しく解説しました。
スプレッドシートで日付のデータ処理を行う際には、これらの方法を活用して効率的に集計しましょう。
以下の記事に、期間指定したスプレッドシートの活用事例を載せていますので参考にしてください。
以上、ごすけでした。

