Excelで日付セルが「45000」のような数字に変わるのはなぜ?戻し方を整理しました

結論

画面の数字は内部の『シリアル値』が見えただけで、データは壊れていません。まずCtrl+1で書式を『日付』に切り替え、それでも戻らないなら文字列やCSV由来を疑い、DATEVALUEや区切り位置で型を直すと整います。

どうする?編集部 · · 読了 約4分
目次(7項目)
  1. 内部では「1900/1/1=1」を基準にした数字で日付を保管している
  2. 数字表示に化けやすい代表パターン
  3. 戻し方 — まずはセル書式を確認する
  4. 書式を変えても45000のままなら、中身が文字列に変わっている
  5. TEXT関数で見た目を固定したいとき
  6. それでも戻らないときに確認すること
  7. 参考資料

Excelに「2026/6/18」と打ち込んだセルが、ファイルを開き直したら「45000」のような数字に変わっていた、あるいは日付セルを参照する関数の結果が日付ではなく数字で出てきた──こうした表示崩れは、Excelが日付を内部的に「シリアル値」と呼ぶ数字で持っていることが原因です。

直し方の起点は、ほとんどの場合「セルの書式」を日付に切り替えるだけです。Ctrl+1で書式設定を開き、分類から「日付」を選ぶか、Ctrl+Shift+3のショートカットでも切り替えられます。それでも戻らないときは、もとのデータが文字列として保存されているか、計算結果に書式が引き継がれていない可能性があるので、後半で順に確認していきます。

内部では「1900/1/1=1」を基準にした数字で日付を保管している

Excelは1900年1月1日を「1」として、そこからの経過日数で日付を保存しています。たとえば「2026/6/18」はシリアル値で46191、「2025/12/31」は46022にあたります。普段はセルの書式が「日付」に設定されているのでこの数字を意識せずに済みますが、書式が「標準」や「数値」に切り替わると、シリアル値がそのまま画面に出てしまいます。

時刻のついた日付(「2026/6/18 12:00」など)は小数点以下を伴う数値で保管されているため、書式が外れると「46191.5」のような表示になることもあります。0.5は半日、0.25は6時間という具合に、小数で時刻を表す仕組みです。

ここを押さえておくと、画面に数字が出ても「データが壊れた」のではなく「表示の設定が外れただけ」と判断でき、慌てて再入力する前に書式から見直せます。

数字表示に化けやすい代表パターン

  • 別ブックやCSVから貼り付けたあと、貼り付け先のセル書式が「標準」のままになっていた
  • 日付セルを参照する数式を別のシートに作ったが、参照先の書式が引き継がれなかった
  • =A1+1=A1-A2 の計算結果が、書式の指定なしで数値表示になった
  • ピボットテーブル経由でコピーした値が、日付ではなく数値として貼り付けられた
  • 古い拡張子のブック(.xls)を新しいExcelで開いたとき、テンプレート側の書式と衝突した

業務でCSVを扱うときに発生しやすいのは、Excel側が「日付っぽい文字列」を全部数値として読み込んでしまい、もとの「2026-06-18」という表記が消えてしまうパターンです。逆に「20260618」のような連続した数字列が日付として誤認識されることもあり、どちらが起きているかで取り扱いが変わります。

戻し方 — まずはセル書式を確認する

直したいセルや列を選んだうえで、Ctrl+1を押すと「セルの書式設定」が開きます。

  • 「分類」から「日付」を選ぶ
  • 「種類」で「2012/3/14」「2012年3月14日」など希望の表示形式を選ぶ
  • OKを押すと、シリアル値が日付の見た目に戻る

列全体を直したいときは、列の見出し(AやBなど)をクリックしてから書式を変更します。範囲が広い場合は「ホーム」タブの数値書式ドロップダウンから「短い日付形式」「長い日付形式」を選ぶと早いです。複数列にまたがる場合はCtrlを押しながら列を追加選択すると、一括で適用できます。

書式を変えても45000のままなら、中身が文字列に変わっている

日付の書式に切り替えても表示が数字のままなら、そのセルの中身が「数値の46191」ではなく「文字列としての46191」になっている可能性があります。

確認方法は、対象のセルをクリックして数式バーを見ることです。既定の配置では数値が右寄せ、文字列が左寄せで表示されます。左寄せのまま書式だけ変えても、文字列扱いのままなので表示は変わりません。セル左上に小さな緑の三角マークが出ている場合も、文字列として扱われているサインです。

文字列を日付に戻すには、空きセルに =DATEVALUE(A1) と入力し、その結果を「値貼り付け」で元の場所に戻します。CSVから読み込んだ列であれば、「データ」タブの「区切り位置」を使い、ウィザードの最終ステップで列のデータ形式を「日付」と指定する方法も使えます。1列ずつ正しい形式を選び直せるので、混在しているデータを整えるのに向きます。

TEXT関数で見た目を固定したいとき

別のシートやレポートに日付を引き継ぐ過程で表示崩れを繰り返すなら、TEXT関数で文字列として固定する手があります。=TEXT(A1, "yyyy/m/d") と書けば、A1のセルが日付でもシリアル値でも「2026/6/18」という文字列で出力されます。

書式コードを変えれば「2026年06月18日」「6/18(木)」のような表記にも揃えられます。ただし文字列に変えた時点で、日付としての並べ替えや日数差計算はできなくなる点に注意してください。最終的に表示するだけのセル(請求書フォームや帳票の見出しなど)で使うと、運用が崩れにくくなります。

それでも戻らないときに確認すること

ここまで試しても日付に戻らない場合は、ファイル単位の問題を疑います。

  • 「ファイル」→「情報」→「バージョン履歴」から、自動回復された過去のバージョンがあるかを確認する
  • OneDriveに保存しているブックなら、ブラウザのバージョン履歴から書式が崩れる前の状態に戻せる
  • マクロやVBAを使うブックでは、シリアル値変換のコードが書式を上書きしている場合があるので、開発タブのコードを確認する
  • 古い.xls形式で保存していた場合は、.xlsx形式で保存し直すと書式の引き継ぎが安定する

それでも個別のセルだけ戻らないときは、隣の正常なセルから「書式のコピー/貼り付け」(刷毛アイコン)で書式だけを貼り付けると、表示が一致することがあります。

参考資料

公式の解説も合わせて確認できます。

Excelで日付セルが「45000」のような数字に変わるのはなぜ?戻し方を整理しました — IT・スマホ 関連イラスト (どうする?)
Photo by Domenico Loia on Unsplash

広告

広告枠 (AdSense 承認後に自動表示)

参考資料

  1. Microsoft「日付の表示形式を設定する」
  2. Microsoft「DATEVALUE 関数」
  3. Microsoft「TEXT 関数」
  4. Microsoft「区切り位置指定ウィザードを使用する」

掲載時点で確認した資料です。制度やガイドラインは変わることがあるため、手続き前には各機関の最新情報も確認してください。

ご注意 この記事は一般的な情報を整理したものです。症状・家計・契約・法律関係など、個別判断が必要な場合は、医師・税理士・弁護士・行政窓口などにも確認してください。

この記事をシェア

関連記事

確定申告のマイナポータル連携が拡大。生命保険の一時金・年金も自動入力に

IT・スマホ どうする?
IT・スマホ2026年5月30日

確定申告のマイナポータル連携が拡大。生命保険の一時金・年金も自動入力に

結論生命保険の一時金・年金がマイナポータル連携で自動取得される見込み。自動入力後の数字確認と、自動連携対象外の控除証明書の扱いに注意してください。

iCloud同期が何時間経っても終わらない、どうする?

IT・スマホ どうする?
IT・スマホ2026年5月30日

iCloud同期が何時間経っても終わらない、どうする?

結論Wi-Fi・電源・iCloud容量・iOSバージョンを順に確認。サインアウト&再ログインで多くの「同期止まり」は解消する。

iOS 26にしたらアプリアイコンの見た目が変わった——元に戻す設定はある?

IT・スマホ どうする?
IT・スマホ2026年6月11日

iOS 26にしたらアプリアイコンの見た目が変わった——元に戻す設定はある?

結論iOS 26のLiquid Glassを完全に元に戻す設定はありません。ただしアクセシビリティで「透明度を下げる」「コントラストを上げる」「視差効果を減らす」を組み合わせると、アイコンの透明感はかなり落ち着きます。

同じテーマの記事

タグ #Excel #日付 #シリアル値 を含む他のカテゴリの記事も見る