Excelで時刻データを扱っていると、時・分・秒といった単位で分解したい場面が出てきます。例えば、作業時間の集計や、特定の時間帯のデータを抽出する際に必要になるでしょう。しかし、時刻は数値として扱われるため、そのままでは分解が難しいと感じるかもしれません。この記事では、ExcelのHOUR、MINUTE、SECOND関数を使って、時刻データを簡単に時・分・秒に分解する具体的な手順を解説します。もう時刻データの扱いに悩むことはありません。
【要点】Excelで時刻を時・分・秒に分解する基本
- HOUR関数: セルに入力された時刻から「時」の数値を抽出します。
- MINUTE関数: セルに入力された時刻から「分」の数値を抽出します。
- SECOND関数: セルに入力された時刻から「秒」の数値を抽出します。
ADVERTISEMENT
目次
時刻データがExcelでどのように扱われるかの理解
Excelでは、日付や時刻はシリアル値と呼ばれる数値で管理されています。日付は1900年1月1日を「1」として、それからの経過日数を整数で表します。一方、時刻は1日を「1」としたときの割合で表され、小数部分として格納されます。例えば、「12:00:00」は「0.5」、「18:00:00」は「0.75」となります。HOUR、MINUTE、SECOND関数は、このシリアル値から特定の時間単位の情報を抜き出す役割を果たします。これらの関数を理解することで、時刻データの操作が格段に容易になります。
HOUR・MINUTE・SECOND関数の基本機能と仕組み
これらの関数は、Excelが内部で時刻をどのように数値として扱っているかを理解する上で非常に役立ちます。それぞれが時刻データから特定の要素を取り出すことに特化しています。
HOUR関数の詳細
HOUR関数は、指定したシリアル値から「時」の情報を整数で返します。例えば、セルA1に「14:30:15」という時刻が入っている場合、HOUR(A1)と入力すると「14」が返されます。これは24時間表記のまま抽出されるため、0から23までの数値になります。AM/PMの区別はありません。この関数は、特定の時間帯(例: 9時から17時の間)のデータを集計したい場合に便利です。
MINUTE関数の詳細
MINUTE関数は、指定したシリアル値から「分」の情報を整数で返します。例えば、セルA1に「14:30:15」が入っている場合、MINUTE(A1)と入力すると「30」が返されます。この関数は0から59までの数値を返します。作業時間の詳細な分析や、特定の分単位でのデータ抽出に活用できます。
SECOND関数の詳細
SECOND関数は、指定したシリアル値から「秒」の情報を整数で返します。例えば、セルA1に「14:30:15」が入っている場合、SECOND(A1)と入力すると「15」が返されます。この関数は0から59までの数値を返します。精度が求められるデータ分析や、秒単位での正確な計測が必要な場合に利用します。
時刻を分解する具体的な操作手順
ここでは、実際にExcelのワークシート上で、時刻データをHOUR、MINUTE、SECOND関数を使って分解する手順を説明します。サンプルデータを用意して、順を追って操作してみましょう。
- サンプルデータの準備
ExcelシートのA列に、時刻データが入力されたセルを用意します。例えば、A1セルに「9:05:30」、A2セルに「17:45:10」、A3セルに「23:59:59」といった形式で入力してください。これらのセルは、Excelが時刻として正しく認識できる書式(例: 時:分:秒)で入力されている必要があります。もし正しく認識されない場合は、セルの書式設定を「時刻」に変更してください。 - HOUR関数の適用
B1セルに、A1セルの時刻の「時」を抽出する数式を入力します。B1セルを選択し、以下の数式を入力してEnterキーを押してください。=HOUR(A1)これにより、B1セルには「9」が表示されます。この数式をB2セル、B3セルにもコピー(フィルハンドルをドラッグ)すると、それぞれの時刻の「時」が抽出されます。
- MINUTE関数の適用
C1セルに、A1セルの時刻の「分」を抽出する数式を入力します。C1セルを選択し、以下の数式を入力してEnterキーを押してください。=MINUTE(A1)これにより、C1セルには「5」が表示されます。この数式をC2セル、C3セルにもコピーすると、それぞれの時刻の「分」が抽出されます。
- SECOND関数の適用
D1セルに、A1セルの時刻の「秒」を抽出する数式を入力します。D1セルを選択し、以下の数式を入力してEnterキーを押してください。=SECOND(A1)これにより、D1セルには「30」が表示されます。この数式をD2セル、D3セルにもコピーすると、それぞれの時刻の「秒」が抽出されます。
- 結果の確認と書式設定
これで、A列の時刻データがB列(時)、C列(分)、D列(秒)に分解されました。各列の数値が期待通りに表示されているか確認してください。もし、B、C、D列の数値が「0」や「00:00:00」のような時刻形式で表示される場合は、これらの列のセルの書式設定を「標準」または「数値」に変更してください。これにより、正確な数値として表示されます。
ADVERTISEMENT
時刻分解時の注意点とよくある誤解
HOUR、MINUTE、SECOND関数は非常に便利ですが、いくつか注意すべき点があります。これらの点を知っておくことで、意図しない結果になるのを防ぐことができます。
セルの書式設定による影響
最も注意すべきは、元の時刻データが正しくExcelに認識されているかどうかです。セルに「9:05」と入力しても、Excelがそれを時刻としてではなく、文字列として扱ってしまうことがあります。その場合、HOUR関数などを使ってもエラーになったり、意図しない結果になったりします。入力したセル、または参照するセルの書式設定が「時刻」になっているか、あるいはExcelが自動で時刻として認識できる形式(例: 14:30:00)になっているかを確認してください。
日付部分が含まれる場合の挙動
もし、参照するセルに日付と時刻の両方が含まれている場合、これらの関数は日付部分を無視して時刻部分のみを抽出します。例えば、セルA1に「2023/10/27 14:30:15」と入力されていても、HOUR(A1)は「14」、MINUTE(A1)は「30」、SECOND(A1)は「15」を返します。これは、Excelが日付と時刻をシリアル値の整数部と小数部で区別しているためです。しかし、この挙動を理解しておかないと、日付情報まで考慮した計算をしたい場合に混乱する可能性があります。
深夜0時をまたぐ時刻の扱い
これらの関数は、0時から23時までの範囲で時を抽出します。そのため、例えば「25:00:00」のような時刻はExcelでは通常無効な入力となります。もし、深夜0時をまたぐ時間を表現したい場合(例: 翌日の午前1時を25時と表記したい)、Excelの標準機能だけでは直接対応できません。そのような場合は、数式で工夫するか、時刻データを文字列として扱うなどの別の方法を検討する必要があります。ただし、標準的な時刻データ(00:00:00~23:59:59)であれば、これらの関数は正しく機能します。
Excel 2019以前のバージョンとの互換性
HOUR、MINUTE、SECOND関数は、Excelの非常に古いバージョンから存在する基本的な関数です。そのため、Excel 2019、Excel 2021、Microsoft 365といったどのバージョンでも、これらの関数は問題なく利用できます。古いバージョンから最新のバージョンへの移行や、異なるバージョン間でファイルを共有する際にも、互換性の心配はほとんどありません。安心して活用してください。
時刻分解関数と他の時刻関数との連携
HOUR、MINUTE、SECOND関数は単独でも便利ですが、他のExcelの時刻関連関数と組み合わせることで、さらに高度なデータ分析や処理が可能になります。ここでは、代表的な連携例を紹介します。
TIME関数との組み合わせ
HOUR、MINUTE、SECOND関数で分解した時、分、秒を再び一つの時刻データとして結合したい場合にTIME関数が役立ちます。例えば、B1セルに時、C1セルに分、D1セルに秒が入っている場合、以下の数式で元の時刻データ(またはそれに近い時刻)を再構成できます。
=TIME(B1, C1, D1)
この関数は、指定された時、分、秒からシリアル値としての時刻を生成します。分解したデータを別の形式で再構成したい場合に有効です。
TEXT関数との組み合わせ
分解した時、分、秒を特定の文字列形式で表示したい場合は、TEXT関数と組み合わせます。例えば、時、分、秒がそれぞれB1、C1、D1セルにあるとして、「HH時MM分SS秒」のような形式で表示するには、以下の数式を使用します。
=TEXT(B1,"00")&"時"&TEXT(C1,"00")&"分"&TEXT(D1,"00")&"秒"
TEXT関数で数値を2桁のゼロ埋め文字列に変換し、それを文字列結合演算子(&)で繋げています。これにより、例えば「9時5分30秒」が「09時05分30秒」のように整形されて表示されます。
IF関数やFILTER関数との組み合わせ
特定の時間帯のデータを抽出・集計したい場合、IF関数やFILTER関数とHOUR関数などを組み合わせると便利です。例えば、「9時から17時の間のデータだけを表示したい」という場合、IF関数を使ってHOUR(A1)>=9 AND HOUR(A1)<17 という条件でデータを絞り込むことができます。FILTER関数(Microsoft 365で利用可能)を使えば、より効率的に条件に合う行を抽出できます。
HOUR・MINUTE・SECOND関数とVLOOKUP・XLOOKUP関数
時刻データを検索キーとしてVLOOKUP関数やXLOOKUP関数を使用する際の注意点についても触れておきましょう。これらの関数は、検索対象のデータと検索キーが完全に一致しないと、目的のデータを正しく取得できません。
VLOOKUP関数での時刻検索
VLOOKUP関数で時刻を検索する場合、検索対象の列が「時刻」として認識されていることが重要です。もし、検索対象の列が文字列として保存されていたり、小数点以下の桁数が微妙に異なったりすると、検索が失敗することがあります。このような場合、検索キー側でHOUR関数などを使って時・分・秒を分解し、それぞれの値で検索する、あるいは検索対象の列のデータ形式を統一するといった対応が必要になります。
XLOOKUP関数での時刻検索
XLOOKUP関数はVLOOKUP関数よりも柔軟な検索が可能ですが、それでもデータ形式の一致は重要です。例えば、検索対象の時刻データに日付部分が含まれている場合、検索キーには日付部分を含めない、あるいは検索対象の時刻データから日付部分を取り除くといった工夫が必要です。もし、時刻の分解が必要な検索であれば、あらかじめHOUR関数などで分解しておいた列を検索対象にするのが最も確実な方法です。
比較:HOUR・MINUTE・SECOND関数と時刻の文字列検索
時刻データを文字列として扱って検索することも可能ですが、一般的には推奨されません。例えば、「14:30」という文字列で検索する場合、検索対象のデータも「14:30」という文字列である必要があります。しかし、Excelでは「14:30」と「14:30:00」のように、秒の有無で文字列が異なってしまうことがあります。また、時刻を数値として扱うHOUR関数などを使えば、たとえ表示形式が異なっていても(例: 「14:30」と「14:30:00」)、正確に「14時」や「30分」として抽出できるため、より信頼性の高いデータ処理が可能です。
このように、HOUR、MINUTE、SECOND関数を理解し、適切に利用することで、Excelでの時刻データの分析や処理の幅が大きく広がります。これらの関数は、Excelでデータを扱う上で基本となるものですから、ぜひマスターしておきましょう。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
