【Excel】エクセルで日付変換をする方法(シリアル値・YYYYMMDD・TEXT関数・表示形式・5桁数字)を理解しておくと、日付が数字になってしまったり、YYYYMMDD形式を通常の日付に直したりするときに対応しやすくなります。
エクセルの日付は、見た目は2026年6月7日のように表示されていても、内部ではシリアル値という連続した数値で管理されています。
そのため、セルの表示形式によっては日付が5桁数字に見えたり、逆に数字を日付として表示できたりします。
また、外部システムから取り込んだデータでは、20260607のようなYYYYMMDD形式で日付が入っていることもあります。
このようなデータを正しく扱うには、表示形式、TEXT関数、DATE関数、文字列操作の考え方を知っておくことが大切です。
この記事では、エクセルの日付変換の基本から、シリアル値、YYYYMMDD、5桁数字、表示形式の違いまで、実務で迷いやすいポイントを整理して解説します。
エクセルの日付変換は表示形式と関数を使い分けるのが結論です
それではまずエクセルの日付変換の基本について解説していきます。
エクセルで日付を変換するときは、見た目だけを変えたいのか、データそのものを別形式にしたいのかを分けて考える必要があります。
見た目だけを変えるなら表示形式を使います。
一方、YYYYMMDDの文字列を日付に変えたい場合や、日付を文字列として出力したい場合は関数を使います。
日付変換で最も大切なのは、表示形式の変更と値そのものの変換を混同しないことです。
表示形式で見た目を変える方法
エクセルの日付は、セルの表示形式を変更するだけで見た目を変えられます。
たとえば、同じ日付データでも、2026/6/7、2026年6月7日、06月07日、日曜日のように表示できます。
セルを選択し、表示形式から日付やユーザー定義を選ぶことで、見た目を整えられます。
この方法では、セルの中身は日付データのままです。
そのため、並べ替えや日数計算にも使いやすい状態を保てます。
例。
セルに2026/6/7と入力されている場合、表示形式をyyyy年m月d日にすると2026年6月7日のように表示できます。
中身の日付データは変わらず、見た目だけが変わります。
TEXT関数で文字列に変換する方法
TEXT関数を使うと、日付を指定した形式の文字列に変換できます。
たとえば、A2に日付が入っている場合、=TEXT(A2,”yyyymmdd”)と入力すると、20260607のような文字列を作れます。
この結果は日付データではなく文字列です。
そのため、表示用やファイル出力用には便利ですが、日付計算にはそのまま使いにくい場合があります。
日付として計算したいなら表示形式、文字列として出力したいならTEXT関数という使い分けが基本です。
DATE関数で日付データに変換する方法
YYYYMMDD形式の数字や文字列を日付データに戻す場合は、DATE関数を使います。
たとえば、A2に20260607と入力されている場合、年、月、日を取り出してDATE関数に渡します。
具体的には、=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))のように入力します。
これにより、文字列や数値として入っていた20260607を、エクセルで扱える日付データに変換できます。
変換後は表示形式を変えることで、好きな見た目に整えられます。
|
目的 |
使う方法 |
特徴 |
|---|---|---|
|
日付の見た目だけを変えたい |
表示形式 |
中身は日付データのままです。 |
|
日付をYYYYMMDDの文字列にしたい |
TEXT関数 |
出力用の文字列を作れます。 |
|
YYYYMMDDを日付に戻したい |
DATE関数と文字列関数 |
日付計算できるデータに変換できます。 |
|
5桁数字を日付表示にしたい |
表示形式 |
シリアル値を日付として表示します。 |
続いてはシリアル値と5桁数字の意味を確認していきます
続いてはシリアル値と5桁数字の意味を確認していきます。
エクセルで日付を扱っていると、日付が突然45000台のような数字に見えることがあります。
これはエクセルが日付をシリアル値として管理しているためです。
仕組みを知っておけば、日付が壊れたと焦らずに対応できます。
シリアル値とは何か
シリアル値とは、エクセルが日付を管理するために使っている連続番号です。
日付ごとに1ずつ増える数値として扱われます。
たとえば、ある日付の翌日はシリアル値が1大きくなります。
この仕組みにより、エクセルでは日付の引き算や期間計算ができます。
見た目は日付でも、内部では数値なので、セルの表示形式を標準にすると5桁の数字として表示されることがあります。
つまり、日付が5桁数字になったからといって、必ずしもデータが壊れたわけではありません。
5桁数字を日付に戻す方法
日付が5桁数字に見えている場合、まず表示形式を日付に変更してみましょう。
セルを選択し、表示形式を日付にすると、シリアル値が通常の日付として表示されます。
たとえば、数値が日付のシリアル値として入力されているなら、この操作だけで元の見た目に戻せます。
ただし、5桁数字が本当に日付のシリアル値なのか、商品コードや管理番号なのかは確認が必要です。
日付ではない数字に日付表示を適用すると、意味のない日付に見えてしまいます。
5桁数字を見たら、すぐに変換するのではなく、まずその数字が日付のシリアル値なのか確認しましょう。
商品コードや会員番号を日付に変換すると、データの意味が変わってしまいます。
日付計算ができる理由
エクセルで日付の差を計算できるのは、日付が内部的に数値だからです。
たとえば、終了日から開始日を引くと、経過日数を求められます。
これは、シリアル値同士の差を計算しているためです。
また、日付に7を足せば1週間後の日付を求められます。
表示形式だけを見ると日付ですが、実際には数値計算ができる状態になっています。
この性質を理解すると、日付変換と日付計算のつながりがわかりやすくなります。
続いてはYYYYMMDD形式を日付に変換する方法を確認していきます
続いてはYYYYMMDD形式を日付に変換する方法を確認していきます。
外部システムやCSVファイルから取り込んだデータでは、日付が20260607のような8桁形式で入っていることがあります。
この形式は見た目では日付に見えますが、エクセル上では数値や文字列として扱われている場合があります。
日付として並べ替えや計算をしたいなら、日付データへ変換する必要があります。
DATE関数で変換する
YYYYMMDD形式を日付に変換する代表的な方法は、DATE関数を使うことです。
A2に20260607が入っている場合、=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))と入力します。
LEFT関数で年、MID関数で月、RIGHT関数で日を取り出し、DATE関数で日付に組み立てます。
この方法なら、文字列として入っている日付でも変換しやすいです。
例。
A2に20260607がある場合は、=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))と入力します。
結果は2026/6/7のような日付データになります。
区切り位置を使う方法
関数を使わずに変換したい場合は、区切り位置機能を使えることがあります。
対象列を選択し、区切り位置の操作で日付形式を指定すると、YYYYMMDDを日付として認識させられる場合があります。
ただし、データの状態やエクセルの設定によって結果が変わることがあります。
確実に変換したい場合は、DATE関数を使うほうが管理しやすいでしょう。
大量データでは、変換前に別列へコピーしてから試すと安全です。
変換後は表示形式を整える
DATE関数で日付データに変換したあとは、表示形式で見た目を整えます。
たとえば、2026/6/7、2026年6月7日、2026-06-07など、用途に合わせて表示できます。
社内資料なら読みやすい日本語表記、システム連携ならハイフン形式など、目的に合わせるとよいでしょう。
変換後の日付が数値に見える場合も、表示形式を日付に変更すれば解決することがあります。
日付変換では、関数で日付データを作り、表示形式で見た目を整える流れが基本です。
続いては日付をYYYYMMDDや文字列に変換する方法を確認していきます
続いては日付をYYYYMMDDや文字列に変換する方法を確認していきます。
日付データを外部システムへ渡すとき、20260607のような形式が求められることがあります。
この場合はTEXT関数を使うと便利です。
表示形式でも見た目は変えられますが、文字列として出力したい場合はTEXT関数が向いています。
TEXT関数でYYYYMMDDにする
A2に日付が入っている場合、=TEXT(A2,”yyyymmdd”)と入力すると、20260607のような文字列を作れます。
この方法は、ファイル名、コード、出力データなどで日付を一定形式にしたいときに便利です。
ただし、TEXT関数の結果は文字列です。
日付計算には向かないため、元の日付データは残しておくと安心でしょう。
例。
A2に2026/6/7がある場合、=TEXT(A2,”yyyymmdd”)と入力します。
結果は20260607という文字列になります。
年、月、日を含めた表示にする
TEXT関数では、yyyymmdd以外の形式も指定できます。
たとえば、=TEXT(A2,”yyyy年m月d日”)とすれば、2026年6月7日のような文字列を作れます。
曜日を含めたい場合は、表示形式に曜日の指定を加えることもできます。
資料の文章内に日付を埋め込みたい場合は、TEXT関数が便利です。
ただし、文字列化すると日付としての性質は弱くなるため、集計用の元データとは分けて使いましょう。
表示形式との違いを理解する
表示形式は、日付データの見た目だけを変えます。
TEXT関数は、日付を指定した形の文字列に変換します。
この違いを理解していないと、同じように見えるセルでも、計算できるものとできないものが混在してしまいます。
たとえば、20260607と表示されていても、日付データに表示形式を当てているだけの場合と、TEXT関数で作った文字列の場合があります。
日付として使い続けたいなら表示形式、文字列として出力したいならTEXT関数と覚えると判断しやすいです。
続いては日付変換でよくあるエラーと対策を確認していきます
続いては日付変換でよくあるエラーと対策を確認していきます。
日付変換では、見た目が合っているのに並べ替えがおかしい、関数が反応しない、5桁数字になってしまうなどの問題が起こります。
原因を切り分けるには、セルの中身が日付なのか文字列なのかを確認することが大切です。
文字列の日付になっている
日付に見えていても、実際には文字列として入力されている場合があります。
文字列の日付は、並べ替えや日付計算で正しく扱えないことがあります。
たとえば、2026/6/7という見た目でも、先頭にスペースが入っていたり、文字列として取り込まれていたりすると、日付として認識されない場合があります。
この場合は、DATEVALUE関数や区切り位置、DATE関数などで日付データへ変換します。
データ取り込み後は、日付列が正しく日付として扱われているか確認しましょう。
月と日の順番が違う
海外形式のデータでは、月日年や日月年のような順番で日付が入っていることがあります。
この形式をそのままエクセルに取り込むと、意図しない日付として認識される可能性があります。
たとえば、06/07/2026が6月7日なのか7月6日なのかは、形式によって変わります。
日付変換では、元データがどの並びなのかを確認することが大切です。
不明な場合は、サンプルデータだけで判断せず、明確に日付のルールを確認しましょう。
空白や不要文字が混ざっている
日付データに空白や不要な文字が混ざっていると、変換がうまくいかないことがあります。
たとえば、20260607の前後にスペースがある場合や、日付の後ろに注記が付いている場合です。
このような場合は、TRIM関数で余分なスペースを取り除いたり、LEFT関数やMID関数で必要な部分だけを抜き出したりします。
日付変換がうまくいかないときは、まず見えない空白や余計な文字を疑うとよいでしょう。
大量データでは、変換前にデータクリーニングを行うと失敗を減らせます。
まとめ
エクセルで日付変換を行うときは、表示形式と関数の違いを理解することが重要です。
見た目だけを変えるなら表示形式を使い、日付を文字列として出力するならTEXT関数を使います。
YYYYMMDD形式を日付データへ変換する場合は、DATE関数とLEFT関数、MID関数、RIGHT関数を組み合わせる方法が便利です。
5桁数字に見える日付は、シリアル値として表示されている可能性があります。
その場合は、表示形式を日付に変えるだけで解決することがあります。
ただし、すべての5桁数字が日付とは限らないため、商品コードや管理番号を誤って日付化しないよう注意しましょう。
日付として計算したいのか、文字列として出力したいのかを先に決めると、正しい変換方法を選びやすくなります。
日付変換は一見ややこしく感じますが、シリアル値、表示形式、TEXT関数、DATE関数の役割を分けて考えれば、落ち着いて対応できるでしょう。