- 公開日:
エクセルで日付が認識されない場合
エクセルでは、表示形式の設定や入力しているデータ自体に問題があると、日付として正しく認識されないことがあります。
この記事では、エクセルで日付が認識されない場合の対処法についてご紹介します。
「日付として認識されず形式の変更ができない」などの場合にご活用ください。
エクセルで日付が認識されない場合
エクセルで入力したデータが日付の表示形式で認識されない場合、入力している形式やデータそのものに問題がある可能性があります。
詳細は以下でご紹介します。
文字列で日付が入力されている
上記画像B2セルのように、表示形式が「文字列」の状態で「2000/7/9」を入力していると、正しく日付の表示形式として認識されません。
また、一度文字列で認識されてしまったデータは単純に表示形式を変更しただけでは、日付の表示形式に直すことができません。
文字列のデータを日付の表示形式に変換する方法は、以下の記事でご紹介しています。
8桁の数値が入力されている
「yyyymmdd」形式の8桁の数値でデータをセルに直接入力していると、「日付の表示形式」として正しく認識されないことがあります。
上記画像B2セルには「20000709」と「yyyymmdd」形式で日付を入力しています。
試しに、「短い日付形式」を指定して「2000/7/9」に変換してみます。
日付形式を変更しましたが、「###########」が表示されてしまっています。
このように、日付を8桁の数値でセルに直接入力していると、「日付の表示形式」で認識されず、形式の変更もうまくいきません。
日付を入力する場合は、正しく認識される形式でデータを入力することが大切です。
以下では、8桁の数値で入力してしまったデータを、日付として正しく認識される「yyyy/mm/dd」形式に変換する方法をご説明します。
まず、TEXT関数を使って「20000709」を「2000/07/09」という文字列に変換します。
C2セルに「=TEXT(B2,"0000!/00!/00")
」を入力し、Enterを押します。
TEXT関数の書式は「=TEXT(値,表示形式)」です。値には、8桁の数値が入力されたセル(B2)を挿入します。
そして、表示形式に「"0000!/00!/00"
」を入力することで、8桁の数値を「yyyy/mm/dd」形式で表示することができます。
TEXT関数の詳細は以下の記事でご紹介しています。
ExcelのTEXT関数の使い方|数値を表示形式コードで文字列に変換
入力したTEXT関数によって、C2セルに「2000/07/09」という文字列が表示されました。
次に、VAULE関数で文字列の日付をシリアル値に変換します。D2セルに「=VALUE(C2)」を入力し、Enterを押します。
VALUE関数の書式は「=VALUE(文字列)」です。文字列に、TEXT関数で変換した文字列の日付(C2)を入力します。
VALUE関数の詳細は以下の記事でご紹介しています。
入力したVALUE関数によって、D2セルに「36716」というシリアル値が表示されました。
次に、シリアル値を日付の表示形式の「2000/7/9」に変換します。
①日付のシリアル値(例:D2セル)、②ホームタブの順に選択し、③数値の書式の「v」ボタンを押します。④短い日付形式を選択します。
D2セルのシリアル値が、日付の表示形式の「2000/7/9」に変換されました。次に、8桁の数値を日付の表示形式の「2000/7/9」に置き換えます。
①D2セルを選択し、Ctrl + Cでコピーします。②貼り付け先(例:B2セル)、③ホームタブの順に選択し、④貼り付けの「v」ボタンを押します。
Ctrl + Xで切り取ると貼り付けのオプションを選択できず、正しく貼り付けられないのでご注意ください。
「値と数値の書式」を選択します。
B2セルに入力されていた8桁の数値が、日付の表示形式の「2000/7/9」に置き換わりました。
TEXT関数、VALUE関数で変換したC2セルとD2セルのデータはDeleteキーなどで削除しましょう。
また、日付の表示形式で認識される「yyyymmdd」形式の8桁に変換したい場合には、既に正しく認識されている日付の形式を変更して、データを変換するようにしましょう。
詳しい方法については、以下の記事「セルの書式設定を使う」セクションでご紹介しています。
曜日を付けて日付が入力されている
曜日を付けてデータを入力していると、「日付の表示形式」として正しく認識されないことがあります。
上記画像B2セルには、「2000/7/9(日)」と曜日付きの日付を入力しています。
試しに、「長い日付形式」を指定して「2000年7月9日」に変換してみます。
日付形式を変更しましたが、「2000/7/9(日)」のままデータが表示されています。
このように、曜日付きの日付を直接セルに入力していると、正しく「日付の表示形式」として認識されず、形式の変更もうまくいきません。
日付の表示形式として認識された状態で、曜日付きの日付を表示させたい場合には、既に日付の表示形式で認識されているデータの形式を指定して変換する必要があります。
詳しい方法は以下でご説明します。
まず、日付データを入力し直します。B2セルに「2000/7/9」を入力し、Enterを押します。
B2セルに日付の表示形式で「2000/7/9」を入力できました。次に、データの形式を変更して曜日付きの日付を表示させます。
①日付データ(例:B2セル)、②ホームタブの順に選択し、③数値の書式の「v」ボタンを押します。④「その他の表示形式」を選択します。
「セルの書式設定」ダイアログボックスが表示されました。①ユーザー定義を選択し、②種類に「yyyy/m/d(aaa)」を入力します。
「aaa」には、日付に対応する「曜日の頭文字(月、火…)を表示させる」という意味があります。また「aaaa」を入力すると、曜日全体(月曜日、火曜日…)が表示されます。
③OKボタンを押します。
日付の表示形式で認識されたまま、B2セルのデータが「2000/7/9(日)」と曜日付きの日付に変換されました。