yyyymmdd形式の文字列を 日付フォーマットのセルに変換する - Excel

Microsoft Excelでyyyymmdd形式の文字列を、日付フォーマットのセルに変換する手順を紹介します。

概要

ログファイルなどでyyyymmdd形式で表現されたCSVファイルをExcelで加工、集計したい場合があります。 yyyymmdd形式のままですと、日付処理ができないため、yyyymmdd形式の文字列を日付フォーマットに変換したい場合があります。 この記事では、yyyymmdd形式の文字列を、日付フォーマットのセルに変換する手順を紹介します。
補足
逆の処理である、日付セルを"yyyymmdd"形式の文字列に変換する場合はこちらの記事を参照してください。

MID関数を利用する方法

MID関数を利用して日付に変換する方法です。
下図の表を準備します。


以下の数式で"yyyymmdd"形式の文字列を "yyyy/mm/dd" 形式の文字列に変換し、日付の値として扱えるようにします。
=MID(["yyyymmdd"文字列セル],1,4) & "/" & MID(["yyyymmdd"文字列セル],5,2) & "/" & MID(["yyyymmdd"文字列セル],7,2))

今回の例では、以下の数式になります。C2セルに下記の数式を入力します。
=MID(B2,1,4) & "/" & MID(B2,5,2) & "/" & MID(B2,7,2))



数式を確定します。B2セルの"yyyymmdd"形式の値がC2セルに"yyyy/mm/dd"形式で表示されます。


C2セルの値が日付形式であるか確認するため、D2セルに以下の数式を入力します。
=C2+5


D2セルに、C2セルの日付の5日後が表示されることが確認できました。


補足
D2セルに数値が表示される場合はセルの書式設定で数値に変更します。 セルの書式設定方法はこちらの記事を参照してください。

C2,D2セルの数式をコピーし、3行目以降にペーストすると、下図の結果となります。"yyyymmdd"形式の数値を日付形式に変換できました。

DATE関数を利用する方法

DATE関数を利用して、日付を作成する方法です。

以下の数式で日付に変換します。数式は以下の内容となります。
=DATE(LEFT(["yyyymmdd"文字列セル],4),MID(["yyyymmdd"文字列セル],5,2),RIGHT(["yyyymmdd"文字列セル],2))
LEFT,RIGHT,MID関数を利用して、"yyyymmdd"文字列から文字を切り出し、DATE関数の引数として与えます。DATE関数の戻り値が日付のシリアル値となります。
または
=DATE(MID(["yyyymmdd"文字列セル],1,4),MID(["yyyymmdd"文字列セル],5,2),MID(["yyyymmdd"文字列セル],7,2))
MID関数を利用して、"yyyymmdd"文字列から文字を切り出し、DATE関数の引数として与えます。DATE関数の戻り値が日付のシリアル値となります。

今回の例ではC2セルに以下の数式を入力します。
=DATE(LEFT(B2,4),MID(B2,5,2),RIGHT(B2,2))


数式を入力すると、日付が表示されます。


D2セルに以下のMID関数のみを利用した数式を入力します。
=DATE(MID(B2,1,4),MID(B2,5,2),MID(B2,7,2))


数式を確定すると、日付が表示されます。MID関数のみを使った数式でも同じ結果となります。


C2,D2セルをコピーし他の行にペーストします。下図の結果となります。"yyyymmdd"形式の数値を日付形式に変換できました。

TEXT関数を利用する方法

TEXT関数を利用して、"yyyy/mm/dd" の文字列を作成し、日付表記に変更する方法です。

下図の表を用意します。


以下の数式で "yyyymmdd" 形式の文字列を "yyyy/mm/dd" 形式の文字列に変換します。
=TEXT(["yyyymmdd"形式文字列のセル], "0000!/00!/00")
補足
Office 2016以前のExcelではTEXT関数の戻り値が文字列として認識されるため、 *1 を末尾に記述する必要があります。

=TEXT(["yyyymmdd"形式文字列のセル], "0000!/00!/00") * 1


今回の例では、C2セルに以下の数式を入力します。
=TEXT(B2, "0000!/00!/00")


数式を確定すると、セルに日付の値が表示されます。


補足
セルに数値が表示される場合はセルの書式設定で数値に変更します。 セルの書式設定方法はこちらの記事を参照してください。

C2セルをコピーし、C列の他の行にペーストします。下図の表示になります。"yyyymmdd"形式の数値を日付形式に変換できました。

著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
最終更新日: 2024-09-04
改訂日: 2023-12-23
作成日: 2015-07-15
iPentec all rights reserverd.