日付ごとの合計が0になったり、一部の明細しか足されなかったりするときは、日時の列に「時刻」が含まれていないか確認します。セルに同じ日付が表示されていても、午前0時と午前9時の値は同じではありません。
数値として保存された日時から1日分を集計するなら、「その日の0時以上、翌日の0時未満」の2条件を使います。 元表の時刻を消す必要はありません。
たとえば、A2:A9が日時、C2:C9が金額、F2が集計したい日の日付なら、合計の式は次のようになります。
=SUMIFS($C$2:$C$9,$A$2:$A$9,">="&$F2,$A$2:$A$9,"<"&($F2+1))
F2は時刻を含まない数値の日付にします。以下では、架空の明細を使い、式の作り方と合計・件数の確認まで説明します。実際の売上や勤務記録を使った例ではありません。 この架空の8明細は、Windows版ExcelでSUMIFS・COUNTIFSの計算結果と保存後の読み戻しを確認しました。
同じ日付に見えても、時刻付きの値は完全一致しない
Excelは日付を連続した数値として、時刻を1日の小数部分として扱います。正午は1日の半分です。同じ日の0時と正午には、数値として0.5の違いがあります。MicrosoftのTIME関数の説明と日付システムの説明で、この扱いを確認できます。
たとえば「2026/10/7 09:15」の表示形式を日付だけにしても、保存された09:15の部分は残ります。
日付セルと完全一致する行だけを探す次の式では、その日の0時の明細しか対象になりません。
=SUMIF($A$2:$A$9,F3,$C$2:$C$9)
この後の例でF3を2026/10/7にすると、完全一致の合計は100です。午前0時の明細がなければ0になることもあります。表示形式を日付だけに変える方法では、この条件の問題は解消しません。
まず、日時・金額・集計日が数値か確認する
元データを上書きする前に、表のコピーで確認します。空いているセルに次の式を入力すると、対象セルが数値かどうかを調べられます。
| 確認するもの | 確認式 | この例で必要な状態 |
|---|---|---|
| 日時の先頭セル | =ISNUMBER(A2) |
TRUE |
| 金額の先頭セル | =ISNUMBER(C2) |
TRUE |
| 集計日のセル | =ISNUMBER(F2) |
TRUE |
| 集計日の時刻部分 | =MOD(F2,1) |
0 |
先頭セルだけで列全体を確認したことにはなりません。合計に入らない行や、取り込み元が違う行についても同じ確認をします。型の確認はISNUMBERなどの公式説明、時刻部分の確認はMOD関数の公式説明も参照できます。
日付らしく表示されていてもISNUMBERがFALSEなら、今回の式へ進む前にデータ型を確認してください。文字列の日付を日付に直す手順で確認できます。元の日時が必要な場合は、変換結果に時刻まで残っているかも確かめます。
F2に時刻が残っていると、集計区間もその時刻から翌日の同時刻までずれます。日付だけを確実に用意するには、次のようにDATE関数で指定します。
=DATE(2026,10,7)
架空の8明細で、対象になる行を確認する
新しいシートのA1:C9を、次の表に合わせて用意します。A列は日時、B列は明細ID、C列は金額です。金額の0とマイナスも、例の値として入力します。
| Excelの行 | A:日時 | B:明細ID | C:金額 |
|---|---|---|---|
| 2 | 2026/10/6 23:59:59 | M01 | 900 |
| 3 | 2026/10/7 00:00:00 | M02 | 100 |
| 4 | 2026/10/7 09:15:00 | M03 | 1200 |
| 5 | 2026/10/7 12:00:00 | M04 | 0 |
| 6 | 2026/10/7 18:30:00 | M05 | -200 |
| 7 | 2026/10/7 23:59:59 | M06 | 600 |
| 8 | 2026/10/8 00:00:00 | M07 | 3000 |
| 9 | 2026/10/8 09:00:00 | M08 | 800 |
日時の入力が文字列になる場合は、次の式をA2からA9へ順に入力すると、日付と時刻の数値を用意できます。これは入力用の式で、実際の元データを一律に書き換える指示ではありません。
=DATE(2026,10,6)+TIME(23,59,59)
=DATE(2026,10,7)
=DATE(2026,10,7)+TIME(9,15,0)
=DATE(2026,10,7)+TIME(12,0,0)
=DATE(2026,10,7)+TIME(18,30,0)
=DATE(2026,10,7)+TIME(23,59,59)
=DATE(2026,10,8)
=DATE(2026,10,8)+TIME(9,0,0)
A2:A9の表示形式をyyyy/m/d hh:mm:ssにすると、時刻まで確認しやすくなります。F列には日付だけを表示します。
2026/10/7の対象はM02〜M06の5明細です。前日のM01と、翌日0時のM07は対象外です。足す金額は100+1200+0-200+600で、合計は1700になります。
SUMIFSで「当日以上、翌日未満」を指定する
F1:H4に日別の集計表を作ります。F2〜F4には、それぞれ次の日付の式を入力します。
| セル | 入力する式 |
|---|---|
| F2 | =DATE(2026,10,6) |
| F3 | =DATE(2026,10,7) |
| F4 | =DATE(2026,10,8) |
F1を「集計日」、G1を「合計」、H1を「件数」にします。G2に次の式を入力し、G4までコピーします。
=SUMIFS($C$2:$C$9,$A$2:$A$9,">="&$F2,$A$2:$A$9,"<"&($F2+1))
式では、同じ日時の範囲に2つの条件を設定しています。
| 式の部分 | 意味 |
|---|---|
$C$2:$C$9 |
足す金額の範囲 |
$A$2:$A$9,">="&$F2 |
集計日の0時以降 |
$A$2:$A$9,"<"&($F2+1) |
翌日の0時より前 |
&は比較記号と日付セルの値をつなぐために使います。翌日を含めないため、上限は<=ではなく<です。合計する範囲と条件の範囲は、同じ行数にします。MicrosoftのSUMIFSの構文・注意点も参照できます。
「23:59:59以下」のように終端の時刻を決め打ちすると、秒より細かい時刻を持つデータを取りこぼす可能性があります。翌日0時を上限にして含めない形なら、翌日の最初の明細を混ぜずに、その手前の日時を対象にできます。
COUNTIFSの件数と明細IDでも確かめる
H2に次の式を入力し、H4までコピーします。SUMIFSと同じ日時条件で、明細の数を数えます。
=COUNTIFS($A$2:$A$9,">="&$F2,$A$2:$A$9,"<"&($F2+1))
COUNTIFSはすべての条件を満たす行の件数を数えます。MicrosoftのCOUNTIFSの説明で構文を確認できます。この式は金額の合計ではなく、日時が区間に入る明細の件数です。金額0のM04も1件に含まれます。
この例の期待結果は次のとおりです。
| 集計日 | 合計 | 件数 | 対象の明細ID |
|---|---|---|---|
| 2026/10/6 | 900 | 1 | M01 |
| 2026/10/7 | 1700 | 5 | M02〜M06 |
| 2026/10/8 | 3800 | 2 | M07・M08 |
| 3日分 | 6400 | 8 | M01〜M08 |
自分の表でも、最初は1日だけ選び、対象の明細IDと手計算を照合します。全件が今回の3日間に入り、日時と金額が数値であるこの例では、日別合計の和は元表の=SUM(C2:C9)とも一致します。実データに範囲外の日付・空欄・未確認の型がある場合、この一致だけで正しいとは判断しません。
まだ結果が合わないときの切り分け
| 状態 | 次に確認すること |
|---|---|
| 件数も合計も0 | 集計日と元日時が数値か、集計日が対象期間にあるか、F列に時刻が残っていないか |
| 件数は合うが合計が違う | 対象明細の金額が数値か、空欄/文字列/エラーがないか、0やマイナスが実際の値か |
| 翌日0時の明細が入る | 上限条件を"<"&($F2+1)にしているか |
| 追加した明細だけ入らない | 式の範囲が追加行まで届いているか |
| 一部の日だけずれる | 元データの日時の基準と、集計したい日の基準が同じか |
件数があって合計0になる場合も、金額0やプラスとマイナスの相殺なら正常です。「合計0だから式が壊れている」と決めず、対象の明細を確認します。また、件数が合っても金額の型や対象IDが正しいとは限りません。
明細を継続して追加する表なら、範囲管理も別に必要です。行を追加しても集計から漏らさないテーブルと構造化参照の使い方を確認してください。今回の固定範囲の式は、10行目以降を自動で含める式ではありません。
外部システムからUTCの日時を取り込んでいるのに、日本時間の日付で集計したい場合は、まず日時の基準をそろえる必要があります。今回の8明細は、すべて同じ基準の日時として用意した架空例です。式を入れただけでタイムゾーンが変換されるわけではありません。
自分の表では、境界の3行と対象件数から確認する
最初に確かめるのは、前日の最後、当日の0時、翌日の0時です。当日の0時は含め、翌日の0時は含めないことを確認します。
次に、当日の明細ID、件数、金額の手計算を照合します。この1日が合ってから、ほかの日へ式をコピーします。元表の時刻は残したまま、集計する日と2つの条件を分ければ、明細を追って確認できる日別集計になります。

