Excelで時刻データを扱っていると、「何時台のデータが多いのか知りたい」「時刻から時間だけ取り出したい」と考えることがあります。
例えば勤怠管理では出勤時間の分析、売上管理では注文が集中する時間帯の確認、コールセンターでは問い合わせが多い時間帯の把握など、時間単位で集計したい場面は少なくありません。
そんなときに便利なのがHOUR関数です。
HOUR関数を使えば、時刻データから「時間」の部分だけを簡単に取り出せます。
この記事では、HOUR関数の基本的な使い方から実務で役立つ活用例、注意点まで分かりやすく解説します。
目次
- ✅ HOUR関数とは?時間だけを取り出す関数
- ・HOUR関数の構文
- ・使用例
- ・取得できる数値の範囲
- ✅ HOUR関数を使って時間だけを取り出す方法
- ・時刻データから時間を取得する
- ・日時データから時間を取得する
- ・NOW関数と組み合わせる
- ✅ HOUR関数を使って時間帯別に集計する方法
- ・注文時間を時間帯別に分析する
- ・出勤時間を分析する
- ・アクセスログ分析
- ✅ HOUR関数とIF関数を組み合わせる方法
- ・午前と午後を判定する
- ・営業時間内か判定する
- ✅ HOUR関数を使うときの注意点
- ・文字列の日付は正しく認識されない
- ・24時間超えの時間には注意
- ・空白セルへの対応
- ✅ Excel VBAでも時間の抽出を自動化できる
- ✅ まとめ:HOUR関数で時間だけを取り出して分析を効率化しよう
✅ HOUR関数とは?時間だけを取り出す関数
時刻データには「時」「分」「秒」が含まれています。
しかし集計や分析では、時間部分だけが必要になることがあります。
HOUR関数を知らないと、見た目では同じ時刻データなのに集計できなかったり、ピボットテーブルで扱いにくかったりすることがあります。
また、表示形式を変更するだけでは時間部分だけを数値として取り出せません。
まずはHOUR関数の基本を理解しておきましょう。
・HOUR関数の構文
=HOUR(シリアル値)
引数は1つだけです。
| 引数 | 内容 |
|---|---|
| シリアル値 | 時刻や日時が入力されたセル |
・使用例
A1セルに次の値が入力されているとします。
2025/01/01 14:35:20
次の数式を入力します。
=HOUR(A1)
結果
14
時刻の「14時」の部分だけが取得できます。
・取得できる数値の範囲
HOUR関数の戻り値は次の範囲になります。
0 ~ 23
例えば、
| 時刻 | 結果 |
|---|---|
| 00:30 | 0 |
| 08:15 | 8 |
| 13:45 | 13 |
| 23:59 | 23 |
となります。
時間データを扱う業務では、時刻から時間だけを取り出すだけでなく、分単位の数値を時間表示へ変換したい場面もよくあります。90分や150分を「1:30」「2:30」のように表示する方法については、【Excel】分を時間表示に変換する方法|「90分→1:30」を自動化する方法をご覧ください。
✅ HOUR関数を使って時間だけを取り出す方法
HOUR関数は非常にシンプルですが、実際の業務ではさまざまな形式の時刻データに対して使用します。
時刻だけの場合だけでなく、日付と時刻が混在していても利用できる点が大きな特徴です。
ここで基本的な使用例を確認しておきましょう。
・時刻データから時間を取得する
A1セル
09:45:30
数式
=HOUR(A1)
結果
9
・日時データから時間を取得する
A1セル
2025/05/01 18:20:00
数式
=HOUR(A1)
結果
18
・NOW関数と組み合わせる
現在時刻の時間部分だけを取得することもできます。
=HOUR(NOW())
現在が
15:25
なら結果は
15
になります。
リアルタイムな時間管理にも便利です。
HOUR関数は時刻から時間部分を簡単に取り出せますが、Excel内部では時刻が「シリアル値」として管理されています。時間計算の仕組みやズレが発生する原因を理解したい方は、【Excel】シリアル値とは?時間計算でズレる原因と仕組みをやさしく解説も参考にしてください。
✅ HOUR関数を使って時間帯別に集計する方法
HOUR関数が最も活躍するのは時間帯分析です。
単純に時刻を表示するだけでは、どの時間帯にデータが集中しているか分かりにくくなります。
時間だけを取り出しておくことで、ピボットテーブルや集計関数で分析しやすくなります。
・注文時間を時間帯別に分析する
例えば注文日時が次のように記録されている場合です。
| 注文日時 |
|---|
| 2025/5/1 9:20 |
| 2025/5/1 9:45 |
| 2025/5/1 13:10 |
| 2025/5/1 18:35 |
別列に
=HOUR(A2)
を設定します。
すると、
| 注文日時 | 時間 |
|---|---|
| 9:20 | 9 |
| 9:45 | 9 |
| 13:10 | 13 |
| 18:35 | 18 |
のようになります。
その後ピボットテーブルで集計すると、何時台に注文が集中しているか把握できます。
・出勤時間を分析する
勤怠管理でも活用できます。
例えば、
8:55
9:01
9:10
8:40
という出勤時間から、
=HOUR(A2)
で時間部分を抽出すると、
8
9
9
8
となり、出勤傾向を分析しやすくなります。
・アクセスログ分析
Webサイトのアクセスログ分析でも利用できます。
どの時間帯にアクセスが集中しているか確認したい場合に便利です。
勤怠管理では「何時に出勤したか」の分析だけでなく、「何時間働いたか」の計算も重要です。勤務時間や残業時間を自動集計する方法について詳しく知りたい方は、【Excel】勤務時間を自動計算する方法|休憩時間や残業計算まで対応をご覧ください。
✅ HOUR関数とIF関数を組み合わせる方法
時間帯ごとに分類したい場合はIF関数との組み合わせが便利です。
単なる数値取得だけでなく、「午前」「午後」「営業時間内」などに分類できます。
これにより集計やレポート作成がしやすくなります。
・午前と午後を判定する
=IF(HOUR(A2)<12,"午前","午後")
結果例
| 時刻 | 結果 |
|---|---|
| 09:30 | 午前 |
| 15:45 | 午後 |
・営業時間内か判定する
営業時間を9時〜18時とする場合
=IF(AND(HOUR(A2)>=9,HOUR(A2)<18),"営業時間内","営業時間外")
結果
| 時刻 | 結果 |
|---|---|
| 10:00 | 営業時間内 |
| 20:00 | 営業時間外 |
実務では問い合わせ分析や受付時間管理などで活用できます。
✅ HOUR関数を使うときの注意点
HOUR関数は便利ですが、いくつか注意点があります。
ここを理解していないと、意図した結果にならない場合があります。
・文字列の日付は正しく認識されない
例えば、
2025年5月1日 10時
が文字列として保存されている場合があります。
この場合、
=HOUR(A1)
を実行してもエラーになることがあります。
時刻データとして認識されているか確認しましょう。
・24時間超えの時間には注意
Excelでは24時間を超える時間データを扱う場合があります。
例えば、
27:00
のような累計時間です。
HOUR関数を使用すると、
3
が返ります。
これは24時間で繰り返されるためです。
累計時間を分析する場合は注意しましょう。
・空白セルへの対応
空白セルに対してHOUR関数を使用すると、
0
が返る場合があります。
必要に応じてIF関数で制御しましょう。
=IF(A1="","",HOUR(A1))
✅ Excel VBAでも時間の抽出を自動化できる
大量の時刻データを処理する場合はExcel VBAを活用する方法もあります。
例えば、
- 毎日更新される勤怠データ
- アクセスログ
- 生産管理データ
- コールセンターの対応履歴
などでは、HOUR関数を手入力するより自動処理の方が効率的です。
Excel関数で仕組みを理解した後は、VBAによる自動集計にも挑戦してみると業務効率化につながります。
✅ まとめ:HOUR関数で時間だけを取り出して分析を効率化しよう
HOUR関数は時刻データから時間部分だけを取り出すための関数です。
時間帯分析や集計を行う際に非常に役立ちます。
- HOUR関数は時間部分を取得できる
- 構文は「=HOUR(シリアル値)」
- 戻り値は0〜23
- 日時データからも利用できる
- ピボットテーブルとの相性が良い
- IF関数と組み合わせて時間帯分類も可能
- 24時間超えのデータには注意が必要
- VBAを使えば大量データも自動処理できる
時間帯ごとの分析ができるようになると、売上分析や勤怠管理、アクセス解析など多くの業務で役立ちます。ぜひHOUR関数を活用して、時刻データを見やすく整理してみてください。