• 公開日:

Excelで日付を8桁(yyyymmdd)に変換する方法

日付は「2023年9月1日」「2023/9/1」「2023-9-1」など、国や地域によって一般的とされる形式が様々です。

そのため、国際的な資料を作成するなどの場合には「20230901」という形式で日付を統一することがあります。

この記事では、異なる形式で入力された日付を8桁の数字(yyyymmdd)に変換する方法をご紹介します。

Excelで日付を8桁(yyyymmdd)に変換する方法

TEXT関数とYEAR関数・MONTH関数・DAY関数を使って、日付を8桁の数字(yyyymmdd)に変換する方法をご紹介します。ただし今回の方法を使った場合、「yyyymmdd」形式のデータは文字列として入力されてしまうのでご注意ください。

今回は、上記画像A3セルに入力された「2023/9/1」を「20230901」に変換します。E3セルに「=YEAR(A3)&TEXT(MONTH(A3),"00")&TEXT(DAY(A3),"00")」を入力し、Enterを押します。数式の説明は、下記「日付を8桁の数字(yyyymmdd)に変換する数式について」セクションでご説明しています。

E3セルに入力した数式が「20230901」に変換されました。次に、「2023/9/1」を「20230901」に置き換えます。①「yyyymmdd」形式のデータ(例:E3セル)を選択し、Ctrl + Cでコピーします。②貼り付け先(例:A3セル)、③ホームタブの順に選択し、④貼り付けの「v」ボタンを押します。Ctrl + Xで切り取ると、貼り付けのオプションを選択できず正しく貼り付けられませんのでご注意ください。

「値」を選択します。

A3セルの日付が「20230901」に置き換わりました。日付を「yyyymmdd」形式(8桁の数字)に変換することができました。コピー元のE3セルのデータはDeleteキーなどで削除しましょう。

日付を8桁の数字(yyyymmdd)に変換する数式について

上記「Excelで日付を8桁(yyyymmdd)に変換する方法」セクションでご紹介した「=YEAR(A3)&TEXT(MONTH(A3),"00")&TEXT(DAY(A3),"00")」についてご説明します。

YEAR関数・MONTH関数・DAY関数の書式はそれぞれ「=YEAR(シリアル値)」「=MONTH(シリアル値)」「=DAY(シリアル値)」です。

YEAR関数・MONTH関数・DAY関数は「シリアル値」に指定したデータから「年、月、日」をそれぞれ抽出して数値を返します。

また、TEXT関数の書式は「=TEXT(値,表示形式)」です。

TEXT関数は「値」に指定したセルの数値を、表示形式を設定した上で文字列に変換することができます。

TEXT関数の引数や詳しい使い方については、以下の記事でご紹介しています。

ExcelのTEXT関数の使い方|数値を表示形式コードで文字列に変換

関数を使った数式について

YEAR関数のシリアル値には、日付の形式を変換したいセル(A3)を指定して、データから「年」を抽出します。

TEXT関数の値には、MONTH関数とDAY関数をそれぞれ入力し、A3セルの日付を参照して「月、日」を抽出します。表示形式には「00」を挿入することにより、二桁の月日(0901)に変換できます。

そして、それぞれの関数を「&」でつなげることで「yyyymmdd」の形式でデータを表示させることができます。

セルの書式設定から日付を8桁(yyyymmdd)に変換する方法

「yyyymmdd」形式のデータが数値として入力されている

セルの書式設定を使うと、上記画像のA3セルのように「数値」として「yyyymmdd」形式の日付を表示させることができます。

「文字列」として入力されている「yyyymmdd」形式の日付だと起こりうる並べ替えの不具合などが、「数値」の場合には解消される可能性があります。

以下の記事では、セルの書式設定から日付を「yyyymmdd」形式の数値に変換する方法と合わせて、TEXT関数のみを使って日付を「yyyymmdd」形式に変換する方法もご紹介しています。

エクセルで日付をスラッシュなしの8桁にする方法