Excelで日付を入力したはずなのに、セルに「46113」「45678」みたいな謎の5桁の数字が表示されて焦ったことはありませんか?

これはシリアル値と呼ばれる、Excelが内部で日付を管理するための数値です。バグでもデータの破損でもないので安心してください。表示形式を変えるだけで、すぐに見慣れた日付に戻せます。

この記事では、2026年3月時点のMicrosoft 365を基準に、シリアル値が表示される原因と、正しい日付表示に直す方法をわかりやすく解説します。

そもそもシリアル値って何?Excelの日付の仕組み

Excelは日付をそのまま「2026/3/25」という文字列で保存しているわけではありません。内部では1900年1月1日を「1」として、そこから何日目かを数えた数値(=シリアル値)で管理しています。

つまり、セルに「46113」と表示されていたら、それは「1900年1月1日から数えて46113日目の日付」という意味です。ざっくり言うと、日付の正体は数字なんですね。

この仕組みのおかげで、Excelは日付同士の引き算(「今日から締切まで何日?」など)をカンタンに計算できます。ただし、セルの表示形式が「日付」になっていないと、この数字がそのまま見えてしまうわけです。

Microsoftの公式ヘルプによると、Excelには「1900日付システム」と「1904日付システム」の2種類があり、現在のMicrosoft 365では1900日付システムがデフォルトです。

日付がシリアル値で表示される原因5つ

「なんで急に数字になったの?」という疑問にお答えします。よくある原因は以下の5つです。

原因1:セルの表示形式が「標準」や「数値」になっている

もっとも多い原因がこれ。セルの表示形式が「日付」ではなく「標準」や「数値」に設定されていると、シリアル値がそのまま表示されます。特に、他のファイルからコピペしたときに表示形式がリセットされることがあります。

原因2:CSVファイルを開いたら数字になった

CSVファイルをExcelで開くと、日付データがシリアル値や意図しない形式で表示されることがあります。CSVはセルの書式情報を持たないため、Excelが自動判定に失敗するケースです。

原因3:列の幅が狭すぎて「#####」になっている

厳密にはシリアル値とは違いますが、列幅が足りないと日付セルに「#####」が表示されます。列の境界をドラッグして広げるだけで解決します。

原因4:数式の結果がシリアル値で返される

DATE関数やTODAY関数を使ったとき、計算結果のセルが「標準」形式だとシリアル値が表示されます。関数は正しく動いているのに、表示形式が追いついていないパターンです。

原因5:Ctrl+`(グレイヴアクセント)を押してしまった

意外と多いのがこれ。Ctrl+`(キーボード左上の「`」キー)を押すと、シート全体が「数式表示モード」に切り替わります。日付セルはシリアル値で表示され、数式セルは計算結果ではなく数式そのものが見えます。もう一度同じキーを押せば元に戻ります。

シリアル値を日付に直す方法4つ【図解つき】

原因がわかったところで、実際の直し方を見ていきましょう。どれもカンタンです。

方法1:セルの書式設定で「日付」を選ぶ(もっとも基本)

一番確実な方法です。

  1. シリアル値が表示されているセル(または列)を選択
  2. キーボードで Ctrl + 1(Macの場合は Command + 1)を押す
  3. 「セルの書式設定」ダイアログが開くので、左側の「分類」から「日付」を選択
  4. 右側の「種類」から好みの日付形式(例:2026/3/25、2026年3月25日 など)を選ぶ
  5. 「OK」をクリック

これだけで、5桁の数字が見慣れた日付表示に変わります。

方法2:リボンの「数値の書式」ドロップダウンから変更する

もっと手軽な方法です。

  1. セルを選択
  2. 「ホーム」タブのリボン中央あたりにある「数値の書式」ドロップダウン(「標準」と表示されている箇所)をクリック
  3. 「短い日付形式」または「長い日付形式」を選ぶ

ワンクリックで変更できるので、急いでいるときはこちらがおすすめです。

方法3:TEXT関数で日付形式の文字列に変換する

元のセルを変更せずに、別のセルに日付形式で表示したい場合はTEXT関数が便利です。

たとえば、A1セルにシリアル値「46113」が入っているとき、別のセルに以下の数式を入力します。

=TEXT(A1,"yyyy/mm/dd")

結果は「2026/03/25」のように表示されます。ただし、TEXT関数の結果は文字列になるため、日付としての計算には使えない点に注意してください。

方法4:CSVを「データの取得」で読み込む

CSVファイルの日付がシリアル値になってしまう場合は、ダブルクリックで開くのではなく、Excelの「データ」タブ → 「テキストまたはCSVから」(Power Query)で取り込むのがおすすめです。

  1. Excelを開き、「データ」タブ → 「テキストまたはCSVから」をクリック
  2. CSVファイルを選択
  3. プレビュー画面で日付列のデータ型が「日付」になっているか確認
  4. なっていなければ、列ヘッダーのアイコンをクリックして「日付」に変更
  5. 「読み込み」をクリック

Power Queryを使えば、列ごとにデータ型を指定できるので、日付の誤認識を防げます。

日付がシリアル値になるのを防ぐ3つの予防策

毎回直すのは面倒ですよね。そもそもシリアル値が表示されないようにする予防策も知っておきましょう。

予防策1:列全体に先に日付の書式を設定しておく

データを入力する前に、日付を入れる列を選択して表示形式を「日付」にしておけば、入力時に自動で日付形式になります。テンプレートを作るときにやっておくと便利です。

予防策2:日付は「2026/3/25」のように入力する

Excelが確実に日付と認識できる形式で入力しましょう。「2026/3/25」「2026-3-25」「3/25」などのスラッシュ区切り・ハイフン区切りが安全です。「20260325」のような8桁の数字を入れると、日付ではなく数値として扱われます。

予防策3:CSVはPower Queryで取り込む習慣をつける

CSVのダブルクリック開きは手軽ですが、データ型の誤認識が起きやすい方法です。前述のPower Queryを使う習慣をつけると、日付だけでなく数値や文字列の誤認識も防げます。

こんなときどうする?よくあるトラブルと対処法

書式を「日付」に変えても反映されない場合

セルの書式を変更しても日付にならない場合、データが文字列として保存されている可能性があります。セルをダブルクリックしてからEnterキーを押すと、Excelが再評価して日付に変換されることがあります。

それでもダメなら、空のセルに「1」を入力 → そのセルをコピー → シリアル値のセルを選択 →「形式を選択して貼り付け」→「乗算」を選ぶ方法を試してください。これで文字列が数値に変換され、日付の書式が適用できるようになります。

MacとWindowsで日付がズレる場合

古いMac用のExcelファイルは「1904日付システム」を使っている場合があり、Windows版のExcel(1900日付システム)で開くと日付が約4年ズレることがあります。「ファイル」→「オプション」→「詳細設定」→「1904年から計算する」のチェックを確認しましょう。2026年現在のMicrosoft 365ではどちらの環境でも1900システムが標準です。

FAQ

シリアル値を変更すると元の日付データが壊れませんか?

壊れません。表示形式を変えるだけなので、セル内のデータ(シリアル値)はそのまま保持されます。見た目が変わるだけで、計算にも影響しません。

シリアル値「1」は何年何月何日ですか?

Excelの1900日付システムでは、シリアル値「1」は1900年1月1日を表します。ちなみにシリアル値「0」は「1900年1月0日」として扱われますが、実在しない日付なので通常は使いません。

Googleスプレッドシートでも同じ現象が起きますか?

はい、Googleスプレッドシートも内部的にシリアル値で日付を管理しています。表示形式が「自動」や「数値」になっている場合に同様の現象が起きます。対処法もほぼ同じで、「表示形式」メニューから「日付」を選べばOKです。

日付を「令和○年」形式で表示するにはどうすればいいですか?

「セルの書式設定」→「表示形式」タブ →「日付」→ カレンダーの種類を「和暦」に変更し、好みの形式を選びます。カスタム書式で [$-ja-JP-x-gannen]ggge"年"m"月"d"日" と入力すると「令和8年3月25日」のように表示できます。

大量のセルを一括で日付形式に直すにはどうすればいいですか?

対象のセルをすべて選択してから表示形式を変更すれば一括で直せます。列全体を選択するにはアルファベットの列見出し(A、Bなど)をクリックします。複数列なら列見出しをドラッグして選択し、Ctrl+1で書式を変更しましょう。

参考文献