【Excel】エクセルで数値を時間・日付に変換する方法(数値が日付になる原因と対処法も)
エクセルで数値を入力したら勝手に日付に変わってしまった、または逆に時間や日付として扱いたい数値をうまく変換できないという経験はありませんか。
エクセルでは数値・時間・日付は内部的に密接に関連しており、正しく変換するには仕組みを理解することが大切です。
この記事では【Excel】エクセルで数値を時間・日付に変換する方法(数値が日付になる原因と対処法も)について解説していきます。
ポイントは
・数値を時間に変換するには24で割る方法が基本
・数値が勝手に日付になる場合はセルの書式を「標準」または「数値」に変更する
です。
それでは詳しく見ていきましょう。
エクセルで数値が日付になる原因と対処法
エクセルで数値を入力すると勝手に日付表示に変わってしまうことがあります。
これはセルの書式設定が「日付」になっているため、入力した数値がシリアル値として解釈されて日付に変換されているのが原因です。
エクセルでは1900年1月1日を「1」とした連続した数値(シリアル値)で日付を管理しています。
たとえばシリアル値「45383」は「2024年3月1日」に相当します。
セルの書式が「日付」になっている状態で数値を入力すると、その数値がシリアル値として扱われて日付表示になってしまいます。
サンプルデータで確認してみましょう
| 商品名 | 入荷日 | 単価(円) | 在庫数 |
|---|---|---|---|
| 桜餅 | 2024/4/1 | 180 | 30 |
| 柏餅 | 2024/4/5 | 200 | 25 |
| マシュマロ | 2024/4/10 | 150 | 50 |
| チョコ | 2024/4/15 | 220 | 40 |
1行目にヘッダーがあり、B列に日付、C列・D列に数値が入力されている状態を想定しています。
対処法:セルの書式を「標準」または「数値」に変更する
数値が日付になってしまっているセルを選択し、「ホーム」タブの数値グループにある書式ドロップダウンを開きます。


「日付」になっている書式を「標準」または「数値」に変更してください。
変更後にセルには元の数値が表示されるようになります。
書式を変更しても日付表示のままになる場合は、セルにシリアル値ではなく文字列として日付が入力されている可能性があります。
その場合は一度セルの内容を削除して、書式を「標準」に変更してから数値を入力し直しましょう。
エクセルで数値を日付に変換する方法
逆に数値(シリアル値)を日付として表示したい場合は、セルの書式設定を「日付」に変更するだけで数値を日付として表示できます。
また「20240401」のように年月日を8桁の数値で管理しているデータを正式な日付形式に変換したい場合はDATE関数を使います。
8桁数値をDATE関数で日付に変換する
DATE関数の書式は以下の通りです。
「20240401」という8桁の数値がA2セルに入力されている場合、以下の数式で日付に変換できます。
LEFT関数で左から4桁(年)、MID関数で5桁目から2桁(月)、RIGHT関数で右から2桁(日)をそれぞれ取り出してDATE関数に渡しています。
この数式の結果は日付のシリアル値として返されるため、セルの書式を「日付」に設定することで「2024/4/1」のように表示されます。

TEXT関数を使って日付の表示形式を文字列として指定する方法もあります。

この数式では変換結果を「2024/04/01」という形式の文字列として返します。
エクセルで数値を時間に変換する方法
エクセルでは時間も内部的には数値で管理されています。
1日(24時間)を「1」として、時間は0から1の間の小数で表現されます。
たとえば「0.5」は12時間(正午)、「0.25」は6時間を意味します。
数値を時間に変換するには、その数値を24で割ってセルの書式を「時刻」に設定する方法が基本です。
時間数を時刻形式に変換する
たとえばA2セルに作業時間「8」(8時間を意味する数値)が入力されている場合、時刻形式に変換するには以下の数式を使います。
この結果のセルの書式を「[h]:mm」に設定すると「8:00」と表示されます。

「[h]:mm」という書式の「[h]」は24時間を超える時間も正しく表示するための書式です。
通常の「h:mm」だと25時間は「1:00」と表示されてしまいますが、「[h]:mm」なら「25:00」と正しく表示されます。
分単位の数値を時刻に変換したい場合は24×60=1440で割ります。
秒単位の場合は24×60×60=86400で割ることで時刻形式に変換できます。
エクセルでTIME関数を使って数値を時刻に変換する方法
時・分・秒がそれぞれ別のセルに数値として入力されている場合は、TIME関数を使って時刻形式に変換する方法が便利です。
TIME関数の書式は以下の通りです。
たとえばA2セルに「8」(時)、B2セルに「30」(分)、C2セルに「0」(秒)が入力されている場合、以下の数式で時刻に変換できます。
この結果は「8:30」という時刻として表示されます。

TIME関数の結果はシリアル値(0〜1の小数)として返されるため、セルの書式を「時刻」に設定することで正しく表示されます。
なお時間が24を超える場合はTIME関数では正しく扱えないため、その場合は前述の「/24」による方法を使いましょう。
まとめ エクセルで勝手に数値が日付になる原因と対処法は?数値を時間に変換も(関数・24時間以上も・計算式や書式設定・
エクセルで数値を時間・日付に変換する主な方法をまとめると、次のようになります。
・数値が勝手に日付になる場合はセルの書式を「標準」または「数値」に変更する
・シリアル値を日付として表示したい場合はセルの書式を「日付」に変更する
・「20240401」のような8桁数値をDATE関数とLEFT・MID・RIGHT関数の組み合わせで日付に変換する
・時間数を時刻に変換するには24で割りセルの書式を「[h]:mm」に設定する
・時・分・秒が別セルにある場合はTIME関数で時刻形式に変換する
エクセルの数値・日付・時刻の関係を理解しておくと、データの変換や計算で戸惑う場面が大幅に減ります。
書式設定と関数を組み合わせることで、さまざまな形式のデータを正確に扱えるようになるでしょう。
正しい変換方法を身につけて、エクセルでのデータ管理をスムーズに進めていきましょう。

コメント