Microsoft Excelで時刻値を解析する方法 - TechRepublic

Microsoft Excelで時刻値を解析する方法 - TechRepublic
ドイツの空き教室
画像: griangraf/Adobe Stock

多くのMicrosoft Excelシートには日付と時刻の値が保存されています。これらの2つの値は同じセルに表示される場合もあれば、表示されない場合もあります。日付や時刻を扱う場合は、日付の計算について十分に理解しておく必要があります。

簡単に言うと、整数は日付を表し、小数値は時刻を表します。値の取得元に関わらず、時間、分、秒といった個々の時刻要素を解析する必要がある場合があります。

参照: 誰もが知っておくべき Windows、Linux、Mac のコマンド (無料 PDF) (TechRepublic)

このチュートリアルでは、Excelで時刻値を入力する方法を説明します。次に、複合時刻値から時、分、秒の値を解析するのに役立つ3つのMicrosoft Excel関数を紹介します。

Windows 10 64ビットシステムでMicrosoft 365を使用していますが、以前のバージョンのExcelもご利用いただけます。Web版Excelは時間関数をサポートしています。このチュートリアルのデモファイルをダウンロードしてください。

Excelで時間の値を入力する方法

時刻の値を入力する際は、Excelが認識できる形式で入力する必要があります。正確な時刻が分かっている場合は、小数値として入力できます。しかし、ほとんどの人はそのような形式で時刻の値を入力したくないでしょう。その代わりに、9:30 AM、12:30 PM、8:01:01 AMなど、自分にとって意味のある形式で入力します。

Excelでは時刻は小数値として保存されますが、時刻の値は整数で入力し、各要素をコロンで区切ります。必要に応じて、整数の後にスペースと午前/午後の要素を入力します。24時間制の場合は、最後の要素は必要ありません。

すべての要素を含めて時刻を入力できます。例えば、午後7時は「7:00:00 PM」と入力します。午前8時を他の要素なしで入力したい場合は、「8:00:00 AM」、「8 AM」、あるいは「8 a」と入力します。Excelで時刻の値の表示方法がわからない場合は、デフォルトの形式を確認してください。変更することもできます。

AM/PM を省略した場合、Excel は AM とみなします。24 時間制の値を入力する場合は、AM/PM は入力しません。24 時間制の表示形式が設定されていない場合、Excel は入力内容を AM/PM で表示します。Excel の数式バーには、3 つの時刻要素すべてと AM/PM が表示されます。

サンプルデータには、複数の方法で入力された時刻値と、TODAY() および NOW() の結果が含まれています。最後の2つは揮発性関数です。揮発性関数は、シートが計算するたびに更新されます。そのため、図に表示される時刻は、図ごとに異なります。この手順に沿って進めていくと、ご自身のシートでもこの動作が見られるでしょう。

それでは、時間値の解析に移りましょう。

Excelで時間を解析する方法

時刻値が入力されたシートをお持ちでない場合は、ダウンロード可能なデモファイルを使用するか、上記の手順に従って、図Aに示すような時刻値をいくつか入力してください。具体的には、ExcelのHOUR()関数を使用して、各値から時刻を解析してみましょう。

図A

時間値から時間を解析するには、HOUR() を使用します。

Excel の HOUR() 関数は、時刻値の時間の部分を 0 から 23 までの整数として返します。0 は午前 12 時、23 は午後 11 時になります。

HOUR() 関数の構文はシンプルです。HOUR(serial_value)シリアル値は時刻値、または時刻値への参照です。時刻値は、TIMEVALUE(“6:45 PM”) のように引用符で囲んだテキストとして入力することも、小数点付き数値、静的な時刻値、あるいは他の関数や式の結果として入力することもできます。

日付を入力しなくても、時刻の値は日付値の一部となります。日付は整数で、時刻は小数で、日付の整数の一部を表します。例えば、0.50は1日の半分、つまり正午を表します。

図AはHOUR()関数の結果を示しています。列Aは、書式設定により判別できない列Bの特殊な値を示しています。

ご覧のとおり、この関数は列Bの時刻値に対応する整数値を返します。列B3の時刻値「午後5時11分30秒」は、午前0時から17時間経過した時刻です。小数値「.063」を書式設定すると、約午後4時30分となり、午前0時から16時間経過した時刻となります。TODAY()関数は日付を表す整数値のみを返すため、時刻値として書式設定すると0になります。ExcelのNOW()関数は日付と時刻の両方を返しますが、書式設定により列B11には時刻値のみが表示されます。

それでは議事録を解析してみましょう。

Excelで議事録を解析する方法

分を解析するには、ExcelのMINUTE()関数を使用します。この関数は、ご想像のとおり、時刻値の現在の時刻を基準とした分を返します。この関数の構文はHOUR()と同じです。

MINUTE(serial_value)

図Bは、列DのMINUTE()関数の結果を示しています。時刻値5:11:30 PMは、11分経過した時点です。小数値0.693は、37分経過した時点です。TODAY()は引き続き0を返し、NOW()は計算ごとに更新されるため、値は変化します。図Bでは、時刻は40分経過した時点です。

図B

分を解析するには MINUTE() を使用します。

解析する最後の時間コンポーネントは秒です。

Excelで秒数を解析する方法

ExcelにSECOND()関数があると思った方は、その通りです。ExcelのSECOND()関数は、時刻値の秒数を返すもので、以下の構文を使用します。

SECOND(serial_value)

図Cは、列EにSECOND()関数の結果を示しています。これまでに学んだことはすべてSECOND()関数にも当てはまります。時刻値5:11:30 PMは30秒です。小数点以下の数値0.693は55秒です。

図C

秒を解析するには SECOND() を使用します。

Excelで時刻値を小数値に変換する方法

Excelは内部的に時刻を小数値として保存します。時刻値を確認する最も簡単な方法は、表示形式を変更することです。図Dは、列Bの時刻値の表示形式を「時刻」から「一般」に変更した結果を示しています。TODAY()は時刻値を返さないため、整数値のみを返します。数式バーに時刻値が小数値として表示されていることに注目してください。

図D

時間の値を「時間」から「一般」に変更します。

乞うご期待

書式を変更して基になる小数値を表示する代わりに、書式設定された時刻値を参照する式を使用することをお勧めします。これは可能です。方法については、今後の記事で説明します。

このテーマについてさらに詳しく知りたい方は、「Excelでシリアル日付から日付と時刻を抽出する方法」をお読みください。日付演算についてまだよく知らない方のために、日付演算を理解するのに役立つ短いセクションがあります。

Tagged: