時間帯ごとの件数は、=COUNTIFS(時刻の列,">="&開始の時刻,時刻の列,"<"&終了の時刻) で求めます。「9:00 以上」と「12:00 未満」の 2 つの条件を並べて、その間の時刻を数えます。
この記事では、時刻と金額の表を例に、時間帯ごとの件数・合計、1 時間ごとの件数、午前と午後に分けた合計を、実際の Excel で確かめた結果で説明します。
時間帯別に集計する式
=COUNTIFS(時刻の列, ">="&開始, 時刻の列, "<"&終了)
=SUMIFS(金額の列, 時刻の列, ">="&開始, 時刻の列, "<"&終了)
=HOUR(時刻)
| 部品 | 意味 |
|---|---|
| 時刻の列 | 時刻が入っている列($A$2:$A$9) |
| “>=”&開始 | 開始の時刻以上。開始は 9:00 と入れたセル、または TIME(9,0,0) |
| “<“&終了 | 終了の時刻より前(未満)。終了は 12:00 と入れたセル、または TIME(12,0,0) |
| 金額の列 | 合計したい数値の列($B$2:$B$9) |
| HOUR(時刻) | 時刻から「時」だけを取り出す。9:15 なら 9 |
終了の側を「未満(<)」にするのが大事な点です。「以下(<=)」にすると、12:00 ちょうどのデータが 2 つの時間帯の両方に数えられます。
1. 時間帯ごとの件数を数える(COUNTIFS)
D 列に開始、E 列に終了の時刻を入れておきます(9:00〜12:00、12:00〜15:00、15:00〜18:00)。I2 に式を入れて、下へ 3 行コピーします。
=COUNTIFS($A$2:$A$9,">="&D2,$A$2:$A$9,"<"&E2)

9:00〜12:00 は 4 件、12:00〜15:00 は 2 件、15:00〜18:00 は 2 件でした。12:00 ちょうどのデータは、12:00〜15:00 の側に入っています。COUNTIFS の使い方は COUNTIFS関数の使い方で説明しています。
2. 時間帯ごとの合計を出す(SUMIFS)
件数ではなく金額を合計したいときは、SUMIFS にして、最初に合計する列(金額)を入れます。条件の書き方は 1 と同じです。
=SUMIFS($B$2:$B$9,$A$2:$A$9,">="&D2,$A$2:$A$9,"<"&E2)

9:00〜12:00 は 4,100、12:00〜15:00 は 2,900、15:00〜18:00 は 2,600 でした。
3. 1時間ごとの件数を数える(HOUR)
1 時間ごとに数えるときは、HOUR 関数で時刻から「時」を取り出します。D12〜D20 に 9〜17 を入れておき、「時」が同じ行を SUMPRODUCT で数えます。
=SUMPRODUCT((HOUR($A$2:$A$9)=D12)*1)

9 時台は 2 件、10 時台は 1 件、データの無い 14 時台は 0 件でした。件数ではなく合計にするときは、最後の *1 を *$B$2:$B$9 に変えます。HOUR の使い方は HOUR関数の使い方で説明しています。
4. 午前と午後に分けて合計する
午前は「12:00 より前」、午後は「12:00 以上」です。式の中に時刻を書くときは、TIME(12,0,0) を使います。
=SUMIFS($B$2:$B$9,$A$2:$A$9,"<"&TIME(12,0,0))

午前の合計は 4,100 でした。午後は "<" を ">=" に変えます(下の検証で確かめています)。TIME の使い方は TIME関数の使い方で説明しています。
【実機で検証】時間帯別の集計でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 日付つきの日時のまま 9:00〜12:00 を数える | =COUNTIFS(A12:A14,">="&TIME(9,0,0),A12:A14,"<"&TIME(12,0,0)) | 0 |
| MOD(日時,1) で時刻だけにして数える | =SUMPRODUCT((MOD(A12:A14,1)>=TIME(9,0,0))*(MOD(A12:A14,1)<TIME(12,0,0))) | 2 |
| 日時のまま HOUR で 9〜11 時台を数える | =SUMPRODUCT((HOUR(A12:A14)>=9)*(HOUR(A12:A14)<12)) | 2 |
| 終了を「<=12:00」にして 9:00〜12:00 を数える | =COUNTIFS(時間帯別集計!A2:A9,">="&TIME(9,0,0),時間帯別集計!A2:A9,"<="&TIME(12,0,0)) | 5 |
| 条件を “>=9:00” のように文字で書く | =COUNTIFS(時間帯別集計!A2:A9,">=9:00",時間帯別集計!A2:A9,"<12:00") | 4 |
| 午後(12:00 以上)の合計 | =SUMIFS(時間帯別集計!B2:B9,時間帯別集計!A2:A9,">="&TIME(12,0,0)) | 5,500 |
日付つきの日時(2026/11/2 9:30 など)をそのまま COUNTIFS で数えると 0 件になりました。日時は「日付+時刻」の大きな数なので、9:00〜12:00 の条件に合いません。
MOD(日時,1) で時刻の部分だけにすると 2 件と数えられました(9:30 と 10:15)。HOUR は日時のままでも「時」を取り出せるので、2 件と同じ結果です。COUNTIFS の中では MOD を使えないため、日時の表では SUMPRODUCT で書くか、となりの列に =MOD(A2,1) を作ってから COUNTIFS で数えます。
終了を「<=12:00」にすると、9:00〜12:00 は 5 件になり、12:00 ちょうどのデータも入りました。次の時間帯と二重に数えないよう、終了は「<」にします。条件を ">=9:00" のように文字で書いても 4 件と数えられました。午後の合計は 5,500 です。
よくある質問
30分ごと・15分ごとに集計したいときは?
開始と終了のセルを 9:00・9:30・10:00 のように細かくすれば、同じ COUNTIFS の式で数えられます。時刻を 15 分単位に切り捨ててそろえる方法は FLOOR.MATH関数の使い方で説明しています。
時刻から時・分を別々に取り出したいときは?
HOUR・MINUTE・SECOND 関数を使います。時刻から時・分・秒を別々に取り出す方法で説明しています。
時間帯ではなく月別に集計したいときは?
日付の期間を条件にして SUMIFS で合計します。時刻つきの日付の扱いもふくめて、月別集計する方法で説明しています。
