目次
レポートや投資計画など、日付を含むデータセットで作業をしていると、特定の期間内の数値を合計する必要が生じることがあります。 このチュートリアルでは、迅速かつ簡単な解決策を紹介します - 日付範囲を基準にしたSUMIFSフォーミュラです。
当ブログや他のExcelフォーラムで、日付範囲にSUMIFを使う方法をよく聞かれます。 要は、2つの日付間の合計を出すには、両方の日付を定義する必要がありますが、ExcelのSUMIF関数は1つの条件しかできません。 幸いにも、複数の条件をサポートするSUMIFS関数もあります。
Excelで2つの日付の間の場合、合計する方法
特定の日付範囲内の値を合計するには、開始日と終了日を基準にしたSUMIFS式を使用します。 SUMIFS関数の構文では、まず合計する値(sum_range)を指定し、次に範囲と基準のペアを指定します。 今回のケースでは、範囲(日付リスト)はどちらの基準でも同じになります。
以上のことから、2つの日付間の値を合計する一般的な計算式は次のような形になります。
閾値の日付も含む。
SUMIFS( sum_range , 年月日 ,">= 開始日 ", 年月日 , "<= 終了日 ")基準日を除く。
SUMIFS( sum_range , 年月日 ,"> 開始日 ", 年月日 , "< 終了日 ")ご覧のように、論理演算子が違うだけです。 最初の式では より大きい または 同様 (>=)であり 以下 (<=) を使って、閾値の日付を結果に含めます。 2つ目の式は、ある日付が より大きい (>)または 未満 (<)で、開始日と終了日を省きます。
下の表で、特定の日付範囲に期限があるプロジェクトの合計を出したいとします。 これを行うには、次の式を使用します。
=SUMIFS(B2:B10, C2:C10, ">=9/10/2020", C2:C10, "<=9/20/2020")
もし、数式に日付範囲をハードコードしたくない場合は、F1に開始日、G1に終了日を入力し、論理演算子とセル参照を連結して、条件全体をこのように引用符で囲みます。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="&G1)
間違いが起きないように、DATE関数を使って日付を指定することができます。
=SUMIFS(B2:B10, C2:C10, ">="&DATE(2020,9,10), C2:C10, "<="&DATE(2020,9,20)")
今日の日付を基準にしたダイナミックレンジ内の合計値
動的な日付範囲(今日からX日前、またはY日前)のデータを合計する必要がある場合、TODAY関数を使って条件を構築すると、現在の日付を取得して自動的に更新されます。
例えば、過去7日間に期限のある予算を合計する場合 きょうという日を含めて を、式で表す。
=SUMIFS(B2:B10, C2:C10, ""&TODAY()-7)
最終的な結果に現在の日付を含めたくない場合は 未満 演算子(<)を使って、今日の日付を除外する最初の条件と 以上 (>=)を2番目の条件とし、今日から7日前の日付を含めるようにしました。
=SUMIFS(B2:B10, C2:C10, "="&TODAY()-7)
同様に、ある日付が所定の日数進んでいる場合の値の合計も可能です。
例えば、今後3日以内に締め切りのある予算の合計を求めるには、次のいずれかの計算式を使用します。
本日の日付も結果に含まれます。
=SUMIFS(B2:B10, C2:C10, ">="&TODAY(), C2:C10, "<"&TODAY() +3)
本日の日付は結果に含まれません。
=SUMIFS(B2:B10, C2:C10, ">"&TODAY(), C2:C10, "<="&TODAY() +3)
2つの日付と別の基準の間の場合、合計
日付範囲内の値が、別の列で何らかの条件を満たす場合、SUMIFS式に範囲と基準のペアをもう一つ追加するだけでよいのです。
例えば、名前に「tip」が含まれるすべてのプロジェクトについて、特定の日付範囲内の予算を合計するには、ワイルドカード基準で数式を拡張します。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="&G1, A2:A10, "チップ*")
A2:A10はプロジェクト名、B2:B10は合計する数字、C2:C10はチェックする日付、F1は開始日、G1は終了日です。
もちろん、スクリーンショットに示すように、3つ目の条件も別のセルに入力し、そのセルを参照することも可能です。
SUMIFS 日付基準のシンタックス
ExcelのSUMIF関数やSUMIFS関数で日付を基準にする場合、混乱するのはあなたが初めてではないでしょう :)
しかし、よくよく考えてみると、さまざまなユースケースは、いくつかのシンプルなルールに集約される。
に直接日付を入れると 条件付き引数 を入力し、日付の直前に論理演算子(>、<、=、)を入力し、条件全体を引用符で囲みます。 例えば
=SUMIFS(B2:B10, C2:C10, ">=9/10/2020", C2:C10, "<=9/20/2020")
あらかじめ設定された日付が入力された場合 セル 論理演算子を引用符で囲んで文字列を開始し、アンパサンド(&)を使用して文字列を連結して終了させます。 たとえば、以下のようになります。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="&G1)
デートが駆動する場合 別機能 DATEやTODAY()などの比較演算子と関数を連結して使用します。 例えば、以下のようになります。
=SUMIFS(B2:B10, C2:C10, ">="&DATE(2020,9,10), C2:C10, "<="&TODAY()")
Excelの日付間のSUMIFSが機能しない
万が一、お使いのアプリケーションが正常に動作しない、または誤った結果をもたらす場合、以下のトラブルシューティングのヒントにより、その原因を解明し、問題を解決することができます。
日付や数字の書式を確認する
一見正しく見えるSUMIFS式がゼロしか返さない場合、まず確認すべきは、日付が本当に日付なのか、日付にしか見えないテキスト文字列ではないのかです。 次に、数値を合計しているのか、テキストとして保存されている数値ではないのかです。 以下のチュートリアルは、これらの問題を発見し修正するのに役立ちます。
- テキストの日付」を実際の日付に変更する方法
- テキストを数値に変換する方法
クライテリアには正しい構文を使用する
SUMIFSで日付をチェックする場合、日付は「>=9/10/2020」のように引用符で囲み、セル参照や関数は「<="&G1」や「<="&TODAY()」のように引用符の外に置きます。 詳細は日付基準の構文でご確認下さい。
式のロジックを検証する
予算の小さなタイプミスは何百万ドルにもなり、計算式の小さなミスは何時間もデバッグにかかるかもしれません。 ですから、2つの日付を合計するときは、開始日が前にあるかどうかをチェックします。 より大きい (>)または 以上 (>=)演算子で、終了日の前に 未満 又は 以下 (<=)です。
すべてのレンジが同じサイズであることを確認する
SUMIFS関数が正しく動作するためには、合計範囲と基準範囲が同じ大きさである必要があります。 そうでない場合、#VALUE!エラーが発生します。これを修正するには、すべての クライテリア・レンジ と同じ数の行と列を持つ引数です。 sum_range .
以上、ExcelのSUMIFS関数を使って、日付範囲のデータを合計する方法でした。 もし、他に面白い解決方法があれば、コメントで教えていただければ幸いです。 それでは、また来週ブログでお会いしましょう。
練習用ワークブック(ダウンロード
SUMIFSの日付範囲の例(.xlsxファイル)