- 公開日:
エクセルで日付に変換できない場合
エクセルでは機能や関数を使うことで、文字列として入力した「2023/09/21」等のデータを日付形式に変換できます。
ただし、元のデータの形式等によってはスムーズに日付に変換できないことがあります。
この記事ではエクセルで日付に変換できない場合の原因や対処法をご紹介します。
エクセルで日付に変換できない場合
エクセルで日付に変換できない場合の原因や対処法をご紹介します。
DATEVALUE関数を使っても日付に変換できない場合
DATEVALUE関数は、文字列として入力された「2023/09/21」や「令和5年9月21日」などのデータを日付形式に変換できる関数です。
ただし、元の文字列によっては日付形式に変換できない場合があります。
試しにB1セルに入力した「20230921」をDATEVALUE関数で日付形式に変換します。
B2セルに「=DATEVALUE(B1)」と入力しEnterを押します。
すると日付形式には変換されずVALUE!エラーが表示されました。
今回の場合は「20230921」というデータが日付に変換できない数値であったことが原因です。
文字列として入力されていても、そもそも数字に変換できない数値の場合はDATEVALUE関数を使っても日付形式に変換できません。
DATEVALUE関数を使っても変換できない数字を日付形式にする対処法は、以下のとおりです。
DATEVALUE関数だけでは変換できないため、TEXT関数と組み合わせます。
任意にセル(例:B2セル)に「=DATEVALUE(TEXT(B1,"0000!/00!/00"))
」と入力し、Enterを押します。
DATEVALUE関数の中に、B1セルの数字を文字列に変換するための数式をTEXT関数で設定しています。
"0000!/00!/00"
の「!」は、スラッシュを割り算の記号として認識されないようにするために必要です。
TEXT関数の引数の詳細や詳しい使い方は以下の記事をご参照ください。
ExcelのTEXT関数の使い方|数値を表示形式コードで文字列に変換
すると、上の画像のようにB2セルでB1のデータを日付形式に変換することができました。
赤い矢印で示した表示形式を確認すると日付であることが分かります。
8桁の日付を変換するとシャープになる場合
「20230921」や「20231221」などの8桁の数字を、表示形式で「日付」に変換するとシャープが表示されることがあります。
上の画像は「20230921」の表示形式を「短い日付形式」に変更した場合の例です。正しく変換されずシャープが表示されています。
8桁の数字は、上記「DATEVALUE関数を使っても日付に変換できない場合」セクションと同様の手順で日付形式に変換できます。
また以下の記事「8桁の数字を入力しても日付にならない場合」セクションでも日付形式にする方法をご紹介していますので参考にしてください。