中級

【Excel】
日付の数値8桁からYYYY/MM/DD形式に自動で変換し表示させる2つの方法


(約文字)

2018-06-25 2019-06-24

  • Keyword
  • Excel
  • 日付
  • 変換
  • 8桁から
  • 書式設定
エクセルで日付YYYYMMDDを、YYYY/MM/DD等に変換する方法を解説。

エクセルの日付でYYYYMMDDの8桁から、YYYY/MM/DDに変換する2つの方法を解説。

この記事では、エクセルの日付を8桁の数値から、YYYY/MM/DDの形式に変換し、表示させる2つの方法を解決します。

エクセルで数値を日付に変換するのって難しいですよね。例えば、YYYYMMDDの8桁の数値から、YYYY/MM/DDの形式に変換する必要がある場合、ひとつづつ入力し直すのはとても面倒ですよね。

そんなエクセルに文字入力された数値を、自動で日付の形式に変換する2つの関数を紹介します。

この記事を読んで、エクセルで数値を日付にする問題を解決して、脱初心者を目指しましょう。

【基礎】エクセルで日付8桁から年月日に変換する2つの方法

エクセルで日付8桁(YYYYMMDD)から、YYYY/MM/DDの書式設定に変換する主な方法は2つあります。

  • ①TEXT関数を使い:数値を書式設定した文字列に変換して返す
  • ②MID関数を使う:文字列から必要な文字を取り出し連結させる

以下では、この2つの各々について解説します。

【方法①】エクセルのTEXT関数を使い数値の日付8桁(YYYYMMDD)からYYYY/MM/DDの書式設定にする

TEXT関数は、数値を書式設定した文字列に変換して返す関数です。

例えば、A2セルに”20180507”と日付が数値として入力されている場合、書式設定した文字列に変換するには、以下を指定します。

=TEXT(A2,"0000!/00!/00")

これで”2018/05/07”と表示されます。

「!」の意味と役目

TEXT関数の引数2にある「!」(エクスクラメーション記号)の意味ですが、「!」に続く文字列(この場合「/」(スラッシュ記号)をそのまま表示させるための記号です。

引数については、以下の記事で詳しく解説しています。ぜひご覧ください。

もし、上記で「!」を指定しない場合、「/」が割り算の演算子として働いてしまうので、日付の区切り用の文字として表示させるために、「/」の前に「!」を指定しています。

割り算については、以下の記事で詳しく解説しています。ぜひご覧ください。

もしTEXT関数の結果が5桁の数値になってしまう場合

もし、TEXT関数の結果が5桁の数値(例えば、43592等)になってしまう場合は、日付がシリアル値で表示されてしまっているのが原因です。

これを解決する方法は、セルの書式設定で表示形式を以下の様に指定します。

[ホーム]>[書式]>[セルの書式設定]>[表示形式]タブ>[分類]>[ユーザー定義]>[種類]ボックスに”YYYY/MM/DD”と入力>[OK]ボタン

これで、日付の形式で表示させることが出来ます。

【方法②】エクセルのMID関数で数値の日付8桁(YYYYMMDD)から、YYYY/MM/DDの書式設定にする

MID関数は、文字列の指定した位置から、指定した長さの文字列を取り出す事が出来る関数です。

例えば、A1セルに”20180507”の形式で日付が入力されている場合、「年」「月」「日」をそれぞれ取り出してYYYY/MM/DDの形に組み立てればOKです。

"年"を取り出す

年を取り出すには、以下の様に指定します。

=MID(A1,1,4)

これは、A1セルの内容を対象とし、1文字目から、4文字分を取り出す指定となります。

よって"2018"が取り出せます。

"月"を取り出す

月を取り出すには、以下の様に指定します。

=MID(A1,5,2)

これは、A1セルの内容を対象とし、5文字目から、2文字分を取り出す指定となります。

よって"05"が取り出せます。

"日"を取り出す

日を取り出すには、以下の様に指定します。

=MID(A1,7,2)

これは、A1セルの内容を対象とし、7文字目から、2文字分を取り出す指定となります。

これで"07"が取り出せます。

取出した文字列を組み立てる

取り出した文字列「2018」「05」「08」に「年/月/日」の形に繋げるには、以下の式を指定します。

=MID(A1,1,4)&"/"&MID(A1,5,2)&"/"&MID(A1,7,2)

これで”20180507”→を”2018/05/07”に変換し表示することが出来ました。

ちなみに他の形式は、以下の様に指定します。

YYYY年MM月DD日の形に変換する

=MID(A1,1,4)&"年"&MID(A1,5,2)&"月"&MID(A1,7,2)&"日"

とすれば”2018年05月07日と表示することが出来ます。

YYYY-MM-DD形式の形に変換する

=MID(A1,1,4)&"-"&MID(A1,5,2)&"-"&MID(A1,7,2)

とすれば”2018-05-07”と表示することが出来ます。

MID関数は、パターンが決まっているところから、必要な分の文字列を取り出すのに適しています。

今回は、日付が8桁の文字列と決まった規則性があったので、MID関数が使えました。

ちなみに、文字列を取り出す関数は他にも、「LEFT関数」や「RIGHT関数」があります。

  • ・LEFT関数:文字列の先頭から指定した数の文字を取り出す関数
  • ・RIGHT関数:文字列の末尾から指定した数の文字を取り出す関数

などがあります。

但し、文字列に規則性がない場合は、MID関数/LEFT関数/RIGHT関数を使うのは難しいです。

まとめ

このページでは、エクセルの「日付を8桁からYYYY/MM/DD形式に自動で変換し表示させる2つの方法」について、以下を解説してきました。

  • ・日付の数値を8桁から年月日の形式に変換する方法はTEXT関数とMID関数を使う2つの方法がある
  • ・TEXT関数を使う方法は”=TEXT(セル番地,"0000!/00!/00")”と指定する
  • ・MID関数を使う方法は”=MID(A1,1,4)&"/"&MID(A1,5,2)&"/"&MID(A1,7,2)”と指定する

ご理解いただけましたでしょうか?

次は、あなたが実際にエクセル上で実際に作業してみて下さい。 自分の手を動かすことが、パソコンスキル向上の近道です。

この記事は以上です。