Excelで月別売上をSUMIFSで集計した結果が明細と違うとき、最初に確認するのは日付列の型、月の上限条件、時刻の有無です。<=月末日という条件では、月末日の午後に記録されたデータを取りこぼす場合があります。月初以上・翌月初未満で囲むと、時刻を含む日時も扱いやすくなります。
月初以上・翌月初未満で期間を指定する
例としてA列に取引日時、B列に金額、G1に集計したい月の1日(Excelの日付値)を置きます。集計式は次の形です。
=SUMIFS(B2:B100,A2:A100,">="&G1,A2:A100,"<"&EDATE(G1,1))
G1が2026/04/01なら、2026/4/1 00:00以上、2026/5/1 00:00未満を対象とします。G1が月初以外のときは、DATE(YEAR(G1),MONTH(G1),1)で月初を求める設計にしてください。
SUMIFSの最初の引数は合計対象範囲です。条件範囲A2:A100と合計対象B2:B100の行数を揃えます。式だけでなく、A列の日付が正しくExcelに認識されている必要があります。
文字列日付と実際の日付を見分ける
見た目が「2026/04/01」でも、CSV等から取り込んだ文字列の可能性があります。日付を入力したセルの隣に次のような確認式を置きます。
=ISNUMBER(A2)
Excelの日付は通常シリアル値として保持されるため、実際の日付値ならTRUEが期待されます。FALSEの行があれば、文字列か他の値として扱う必要があります。ただし数値であれば必ず妥当な日付を意味するわけではないので、表示形式と元のCSVの記録も照合します。
文字列を日付へ変換するときは、年・月・日の区切りや地域設定による解釈違いを確認し、原本の列を上書きせず別列で変換→検算します。日付書式を変えるだけで必ず文字列が日付へ変換されるわけではありません。
空欄と時刻付きデータの落とし穴
仮の月末データが次の2件なら、4月集計では両方を含むべきです。
| 取引日時 | 金額 | 4月集計 |
|---|---|---|
| 2026/4/30 00:00 | 1,000 | 含む |
| 2026/4/30 18:30 | 2,000 | 含む |
日付のみの2026/4/30を上限にして<=で比較すると、時刻付きの2行目は除外されます。翌月初を未満条件にすれば両方を含められます。一方、空欄日付の行を勝手に当月へ足すと監査できません。未確定日付の明細は別枠で管理します。
明細を抽出して合計を突き合わせる
問題が解決したかは集計式の数字だけでは判断できません。4月の日付条件で明細を抽出し、対象行の金額を小さなサンプルで手計算します。
- 日付の条件範囲と合計範囲の先頭・最終行が一致する。
- 文字列日付・日付空欄・エラー値が別途洗い出されている。
- 月末の時刻付きデータが対象月へ含まれる。
- 明細合計と
SUMIFSの結果が一致する。
年度合計なら、各月の合計を足した数と全年度の明細から直接計算した数を比べると、月の境界を飛ばした・二重計上したといった不具合を発見しやすくなります。
