「2026/10/15」と入っていたはずのセルが、ある日「46310」という数字に変わっていた。
Excelを使っていると、こうした場面に出会うことがあります。
入力し直そうとする前に、まずは数字に変わった原因を確認するのがおすすめです。
この5桁の数字は「シリアル値」と呼ばれ、Excelが日付を管理するための通し番号です。
データが壊れたわけではなく、日付の見た目を決める「表示形式」が外れて、中身の番号が見えている状態です。
そのため、多くの場合は表示形式を直すだけで元の日付に戻せます。
この記事では、日付や時刻が数字になる原因を3つに分け、それぞれの直し方を紹介します。
VLOOKUP関数で取り出した日付や、文章とつなげた日付が数字になるといった、よくある症状を順に確認します。
あわせて、勤務時間の合計や時給計算で時刻がおかしくなるときの対処のやり方と、表示形式とTEXT関数の違いも取り上げます。
なお、コピーした日付を別の場所へ「値」で貼り付けたところ、数字になったという相談もよくあります。
値や書式など、貼り付け方ごとの違いは別記事でまとめているので、あわせて確認してみてください。
Excelで日付が数字になるのはなぜ?シリアル値とは何かと症状の見分け方
Excelは、セルに入力された日付を、内部では1つの数値として記録しています。
画面上で「2026/10/15」と見えているのは、その数値に日付の表示形式を当てているからです。
表示形式が外れると、中に入っている数値がそのまま表示され、日付が数字になったように見えます。
シリアル値とは?1900年1月1日を1とする日付の通し番号
シリアル値とは、1900年1月1日を「1」として、1日ごとに1ずつ増えていく通し番号のことです。
たとえば、2026年1月1日のシリアル値は「46023」になります。
Excelはこの番号を使うことで、日付の引き算や並べ替えを数値と同じように計算できます。
具体例として、いくつかの日付と、その表示形式を「標準」にしたときの表示を並べてみます。
| A | B | |
|---|---|---|
| 1 | 日付として表示した場合 | 表示形式を「標準」にした場合 |
| 2 | 1900/1/1 | 1 |
| 3 | 2026/1/1 | 46023 |
| 4 | 2026/10/1 | 46296 |
| 5 | 2026/10/15 | 46310 |
A列とB列は同じ値で、違うのは表示形式だけです。
B5セルの「46310」は、1900年1月1日から数えて46310日目が2026年10月15日だという意味になります。
2020年代の日付であれば、シリアル値は4万台の5桁になると覚えておくと判断しやすくなります。
時刻のシリアル値は小数|24時間を1として管理する仕組み
時刻も、日付と同じくシリアル値で管理されています。
時刻の場合は、24時間をちょうど「1」とした小数で表されます。
そのため、12時間はその半分の「0.5」、6時間は「0.25」という扱いになります。
| A | B | |
|---|---|---|
| 1 | 時刻として表示した場合 | 表示形式を「標準」にした場合 |
| 2 | 6:00 | 0.25 |
| 3 | 9:00 | 0.375 |
| 4 | 12:00 | 0.5 |
| 5 | 18:00 | 0.75 |
B3セルの「0.375」は、9時間が1日の0.375日分にあたることを示しています。
日付と時刻を組み合わせた「2026/10/15 12:00」であれば、シリアル値は「46310.5」です。
つまり、整数の部分が日付、小数の部分が時刻を表していると考えられます。
数字になったときの見分け方|表示形式と数式のどちらが原因か
日付が数字に変わったときは、表示された数字の形から原因の見当をつけられます。
次の表は、よくある症状と原因、この記事で対処法を説明している章の対応です。
| 症状 | 考えられる原因 | 確認する章 |
|---|---|---|
| セルの日付が「46310」のような5桁の数字になる | セルの表示形式が「標準」になっている | 原因① |
| 「納品日は46310です」のように文中の日付だけが数字になる | 「&」で日付と文字をつないでいる | 原因② |
| 時刻が「0.375」のような小数になる | 時刻のセルの表示形式が「標準」になっている | 原因①・原因③ |
| 勤務時間の合計が実際より少なく表示される | 24時間を超える時間に合わない表示形式になっている | 原因③ |
| 時刻の計算結果が「######」になる | 時刻の引き算の結果がマイナスになっている | 原因③ |
実務では、まず数字が入っているセルを選び、「ホーム」タブの「数値」グループを見るのが近道です。
「標準」と表示されていれば、原因①の表示形式の問題だと判断できます。
数式バーに「&」を含む数式が見えた場合は、原因②を疑うとよいでしょう。
初心者がつまずきやすいのは、数字を見て慌てて日付を入力し直してしまうことです。
中身のシリアル値は正しいため、入力し直す必要はほとんどありません。
件数が多い表ほど入力し直しによるミスが増えるので、先に表示形式を確認しましょう。
日付が1ずつ増える数値で管理されていることは、普段の操作にも関わっています。
たとえば、オートフィルで日付を1日ずつ増やして入力できるのも、シリアル値の仕組みがあるからです。
オートフィルの使い方は別記事でくわしく紹介しているので、日付の連続入力の参考にしてみてください。
日付が数字になる原因①|セルの表示形式が「標準」になっている
最も多い原因は、日付が入っているセルの表示形式が「標準」になっているケースです。
表示形式とは、セルの値を画面にどう見せるかを決める設定のことです。
日付を手入力した場合は自動で日付の表示形式になりますが、次のような操作では日付の表示形式が付かないことがあります。
VLOOKUP関数やXLOOKUP関数で取り出した日付がシリアル値になる
1つ目の具体例は、検索関数で別の表から日付を取り出すケースです。
次の表では、A〜C列に注文の一覧があり、E2セルに検索したい注文番号を入力しています。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | 注文番号 | 顧客名 | 納品日 | 検索する注文番号 | 納品日 | |
| 2 | 1001 | 山田商店 | 2026/10/5 | 1002 | ||
| 3 | 1002 | 佐藤工業 | 2026/10/15 | |||
| 4 | 1003 | 鈴木商事 | 2026/10/20 |
F2セルに、次の数式を入力します。
=XLOOKUP(E2,A2:A4,C2:C4)
この数式は、E2セルの注文番号「1002」をA列から探し、同じ行のC列にある納品日を取り出すものです。
ところが、F2セルの表示形式が「標準」のままだと、結果は「46310」と表示されます。
取り出した値自体は、2026年10月15日の正しいシリアル値です。
表示形式を日付に変えれば、「2026/10/15」と表示されます。
VLOOKUP関数で同じ処理をした場合も、結果のセルにはコピー元の表示形式が引き継がれません。
検索関数で日付を取り出す列は、あらかじめ日付の表示形式にしておくと安心です。
「値」で貼り付けたり書式をクリアしたりして表示形式が標準に戻る
2つ目の具体例は、コピーと貼り付けの方法によって表示形式が外れるケースです。
数式で求めた日付をコピーし、「形式を選択して貼り付け」の「値」で新しいシートに貼り付けたとします。
貼り付け先のセルが「標準」のままだと、日付ではなく「46300」のようなシリアル値が並びます。
「値」は数式の結果だけを貼り付ける方法で、コピー元の表示形式は一緒に貼り付けられません。
日付の見た目も残したい場合は、「値と数値の書式」を選ぶと表示形式ごと貼り付けられます。
また、「ホーム」タブの「クリア」から「書式のクリア」を実行した場合も、日付はシリアル値の表示に戻ります。
表示形式を日付に直すやり方|リボンと「セルの書式設定」の2通り
数字になった日付は、次のどちらかの方法で表示形式を日付に戻せます。
どちらもセルの中身は変えずに、見た目だけを切り替える操作です。
リボンから直す場合の手順は次のとおりです。
1. 数字になっているセルまたはセル範囲を選択する
2. 「ホーム」タブの「数値」グループにある、「標準」と表示されている欄をクリックする
3. 一覧から「短い日付形式」または「長い日付形式」を選ぶ
「短い日付形式」は「2026/10/15」、「長い日付形式」は「2026年10月15日」の形で表示されます。
曜日を付けるなど、細かい形を指定したい場合は「セルの書式設定」を使います。
1. セルを選択して右クリックし、「セルの書式設定」を選ぶ(Ctrl+1キーでも開ける)
2. 「表示形式」タブの「分類」で「日付」を選ぶ
3. 「種類」の一覧から表示したい形を選び、「OK」をクリックする
実務では、日付を入れる列は、データを入力する前に列ごと日付の表示形式にしておくのがおすすめです。
後から1つずつ直すよりも手間が少なく、検索関数や貼り付けで数字になるのも防げます。
初心者がつまずきやすいのは、逆に数字のつもりで入力した値が日付になってしまうケースです。
たとえば部品番号の「1-2」を入力すると、Excelは日付と判断して「1月2日」と表示します。
この後で表示形式を「標準」に戻しても、表示は「1-2」ではなく、その日付のシリアル値になります。
このような入力は、先に表示形式を「文字列」にしておくと日付に変換されません。
先頭に「’」(アポストロフィ)を付けて入力する方法もあります。
表示形式は見た目の設定なので、一度日付として記録された値を元の文字に戻すことはできない点に注意が必要です。
日付の検索に使ったXLOOKUP関数は、VLOOKUP関数よりも引数の指定がシンプルな検索関数です。
XLOOKUP関数の使い方は別記事でまとめているので、検索の基本から確認したい方は参考にしてみてください。
日付が数字になる原因②|「&」で文字列と結合している
2つ目の原因は、日付を「&」でほかの文字とつないでいるケースです。
「&」は複数の値を1つの文字列にまとめる記号で、つなぐときにセルの表示形式は使われません。
そのため、日付の部分には中身のシリアル値がそのまま入ってしまいます。
「&」で日付と文字をつなぐとシリアル値が表示される
具体例として、案件ごとの納品日を文章の形で表示する表を見てみます。
| A | B | C | |
|---|---|---|---|
| 1 | 案件名 | 納品日 | 案内文 |
| 2 | ホームページ改修 | 2026/10/15 | |
| 3 | チラシ制作 | 2026/10/20 |
C2セルに、次の数式を入力します。
=”納品日は”&B2&”です”
この数式は、「納品日は」という文字とB2セルの日付、「です」という文字を1つにつなぐものです。
B2セルには「2026/10/15」と表示されていますが、C2セルの結果は「納品日は46310です」となります。
このケースは、C2セルの表示形式を日付に変えても直りません。
TEXT関数で表示形式を指定して日付を結合するやり方
文字とつなぐ日付は、TEXT関数で表示形式を指定してから結合します。
TEXT関数は、値を指定した表示形式の文字列に変換する関数です。
先ほどのC2セルを、次の数式に書き換えます。
=”納品日は”&TEXT(B2,”yyyy/m/d”)&”です”
この数式は、B2セルのシリアル値を「年/月/日」の形の文字に変えてから、前後の文字とつないでいます。
C2セルには「納品日は2026/10/15です」と表示されます。
TEXT関数の2つ目の引数を変えると、次のようにさまざまな形で表示できます。
| 表示形式の指定 | B2セル(2026/10/15)の表示 |
|---|---|
| “yyyy/m/d” | 2026/10/15 |
| “yyyy年m月d日” | 2026年10月15日 |
| “m月d日(aaa)” | 10月15日(木) |
時刻を文字と結合するときも表示形式の指定が必要
時刻を文字とつなぐ場合も、同じくシリアル値の小数が表示されます。
たとえば、D2セルに会議の開始時刻「9:00」が入っているとします。
次の数式を入力すると、結果は「開始は0.375」になります。
=”開始は”&D2
この「0.375」は、9:00のシリアル値がそのまま文字としてつながったものです。
TEXT関数を使って、次のように書き換えます。
=”開始は”&TEXT(D2,”h:mm”)
このように書き換えると、結果は「開始は9:00」と表示されます。
時刻の表示形式では「h」が時、「mm」が分を表します。
TEXT関数の中の「m」は、「h」の直後なら分、それ以外なら月として扱われる点も覚えておくと安心です。
実務では、TEXT関数の結果は日付ではなく文字列になる点に注意が必要です。
文字列になった日付は、並べ替えや日付の計算に使うと正しく扱えないことがあります。
元の日付の列は残したまま、案内文などの表示用の列だけでTEXT関数を使うのがおすすめです。
初心者がつまずきやすいのは、表示形式の指定を「”」(ダブルクォーテーション)で囲み忘れることです。
囲み忘れると、数式がエラーになったり意図しない結果になったりします。
「”」は半角で入力し、指定の前後を必ず囲むようにしましょう。
TEXT関数は、日付のほかにも金額にカンマや「円」を付けて表示するなど、文字とつなぐ場面で幅広く使えます。
TEXT関数の使い方は別記事でくわしく紹介しているので、表示形式の指定方法を増やしたい方は確認してみてください。
時刻が数字になる原因③|時間の計算と表示形式が合っていない
3つ目の原因は、時刻を使った計算の結果と表示形式が合っていないケースです。
時刻は24時間を1とした小数なので、合計が24時間を超えたり、時給を掛けたりすると見た目と中身がずれやすくなります。
勤務時間の集計でよく起きる症状を、3つの例で確認します。
勤務時間の合計が24時間を超えると少なく表示される
1つ目の具体例は、1週間分の勤務時間を合計するケースです。
E列には、退勤から出勤と休憩を引いた勤務時間が入っています。
E2セルの場合、数式は次のとおりです。
=C2-B2-D2
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 日付 | 出勤 | 退勤 | 休憩 | 勤務時間 |
| 2 | 10月5日 | 9:00 | 18:00 | 1:00 | 8:00 |
| 3 | 10月6日 | 9:00 | 18:00 | 1:00 | 8:00 |
| 4 | 10月7日 | 9:00 | 18:00 | 1:00 | 8:00 |
| 5 | 10月8日 | 9:00 | 18:00 | 1:00 | 8:00 |
| 6 | 10月9日 | 9:00 | 18:00 | 1:00 | 8:00 |
E7セルに、次の数式を入力します。
=SUM(E2:E6)
この数式は、E2〜E6セルの勤務時間を合計し、1週間の勤務時間を求めるものです。
本来は40時間ですが、E7セルには「16:00」と表示されます。
合計のセルには、自動で時刻の表示形式「h:mm」が付きます。
この形式は24時間で0時に戻るため、40時間から24時間を引いた16時間が見えている状態です。
直すには、E7セルの「セルの書式設定」を開き、「分類」で「ユーザー定義」を選びます。
「種類」の欄を「[h]:mm」に書き換えて「OK」をクリックすると、「40:00」と表示されます。
「h」を「[ ]」で囲むと、24時間を超えた時間もそのまま表示できる形式になります。
時給の計算では時刻のシリアル値に24を掛ける
2つ目の具体例は、合計した勤務時間に時給を掛けて給与を求めるケースです。
| A | B | |
|---|---|---|
| 1 | 勤務時間の合計 | 40:00 |
| 2 | 時給 | 1200 |
B3セルの表示形式を「標準」にしておき、次の数式を入力します。
=B1*B2
この数式の結果は、40時間×1,200円の48,000円ではなく「2000」になります。
40時間は、シリアル値では1日を1とした「1.666…」という数値で記録されているためです。
=B1*24*B2
このように24を掛けると、シリアル値が「40」という時間の数値に換算され、B3セルに「48000」と表示されます。
時刻のシリアル値を時間の数値に変えるには「24を掛ける」と覚えておくとよいでしょう。
日付をまたぐ時刻の引き算で「######」が表示される
3つ目の例は、夜勤のように日付をまたぐ勤務時間を求めるケースです。
出勤が「22:00」、退勤が翌朝の「6:00」の場合、退勤から出勤を引き算すると結果はマイナスになります。
Excelの標準の設定ではマイナスの時刻を表示できないため、セルには「######」のように「#」が並びます。
この場合は、MOD関数を使って次のように入力します(B2セルが出勤、C2セルが退勤の場合)。
=MOD(C2-B2,1)
MOD関数は割り算の余りを求める関数で、マイナスの時間に1日分を足した値を返します。
この数式なら、日付をまたがない日勤の行でも同じように正しい勤務時間が求められます。
夜勤の例では、結果は「8:00」と表示されます。
実務では、勤怠表の合計のセルは「[h]:mm」、給与のセルは「24を掛ける数式」と決めておくと集計ミスを防げます。
毎月同じ表を使う場合は、表示形式と数式を設定した状態のファイルをひな形として保存しておくと便利です。
初心者がつまずきやすいのは、「######」の表示をすべて計算ミスだと思ってしまうことです。
日付や時刻の「#」の表示は、列の幅が足りないだけでも起きます。
まず列の幅を広げてみて、それでも「#」が並ぶ場合に時刻のマイナスを疑うと原因を切り分けやすくなります。
勤務時間の計算は、シフト表を作るときにもよく使われます。
シフト表の作り方は別記事で紹介しており、勤務時間を求める数式や時給計算の例も載っています。
勤怠管理の参考にしてみてください。
日付が数字になるときの対処法まとめ|まずは表示形式を確認する
Excelで日付や時刻が数字に変わっても、多くの場合データそのものは正しく記録されています。
数字の正体は、日付を1900年1月1日からの通し番号、時刻を24時間を1とした小数で表したシリアル値です。
慌てて入力し直す前に、どの原因に当てはまるかを確認しましょう。
この記事で紹介した3つの原因と直し方を整理すると、次のとおりです。
- 原因①:セルの表示形式が「標準」になっている。「短い日付形式」や「セルの書式設定」で日付の表示形式に戻す
- 原因②:「&」で日付と文字をつないでいる。TEXT関数で表示形式を指定してから結合する
- 原因③:時間の計算と表示形式が合っていない。合計は「[h]:mm」、時給計算は24を掛ける、日付をまたぐ引き算はMOD関数を使う
どの原因でも、最初に確認したいのは「ホーム」タブの「数値」グループに表示されている表示形式です。
「標準」になっていれば原因①、日付の表示形式なのに文中の日付だけが数字なら原因②と判断できます。
時刻の計算で数字や「#」が出る場合は、原因③の表示形式と数式の組み合わせを見直しましょう。
予防策としては、日付や時刻を入れる列を、入力前に列ごと表示形式を設定しておくのが効果的です。
シリアル値の仕組みを知っておくと、日付の引き算や勤務時間の集計で迷う場面も減っていきます。
Excelには、表示形式や関数のほかにも、日々の作業を効率化できる機能が数多くあります。
Excelでできること一覧では基本機能をまとめて紹介しているので、次に覚える機能を探す参考にしてみてください。






