インポートやコピーした日付データが認識されない場合の対処法とは? | Excelトピックス

スポンサーリンク
スポンサーリンク

インポートやコピーした日付データが認識されない場合の対処法

Excelに外部データをインポートすると、日付が正しく認識されず、「文字列」として扱われることがあります。これにより、日付の計算や並べ替えができなくなる問題が発生します。本記事では、DATEVALUE関数を使ったデータクリーニングの方法を紹介します。

日付が認識されない原因

Excelが日付を認識しない主な原因は以下のとおりです。

  • 日付が「YYYY/MM/DD」ではなく「YYYY.MM.DD」などの異なる形式で入力されている
  • データが「2025年2月10日」や「10-Feb-2025」のように異なる表記になっている
  • インポートした日付が「文字列」データとして扱われる
  • 日付の前後に不要なスペースや不可視文字(全角スペースなど)が含まれている

置換を使った日付の修正

例えば、セルA1に「2025.02.10」と入力されており、Excelがこれを「文字列」として扱っている場合、以下の方法で修正できます。

  1. 変換したいセルを範囲指定し、ctrl+Hで置換ウィンドウを表示させます。
  2. 検索する文字列「.」、置換後の文字列「/」として「全てを置換」をクリックします。
  3. 正しく、日付データとして認識されます。

DATEVALUE関数を使った日付の修正方法

DATEVALUE関数を使うことで、文字列として扱われている日付をExcelの「日付データ」に変換できます。

構文

=DATEVALUE(日付の文字列)

「日付の文字列」は、Excelが認識できる日付形式(例:YYYY/MM/DD)でなければなりません。

手順 1 関数の利用 (「2025.02.10」の場合)

  1. 空いているセル(B1など)に、以下の式を入力します。
    =DATEVALUE(SUBSTITUTE(A1, ".", "/"))
  2. Enterキーを押すと、日付が数値(Excelの日付シリアル値)に変換されます。
  3. 変換後のセルの書式を「日付」に変更すると、正しく表示されます。

TRIM関数やCLEAN関数を併用する

DATEVALUE関数を使っても正しく変換できない場合は、不要なスペースや不可視文字を削除する必要があります。

  • TRIM関数: 余分なスペースを削除
  • CLEAN関数: 制御文字(改行コードなど)を削除

例えば、A1セルの値に不要なスペースが含まれている場合、以下の式を使います。

=DATEVALUE(TRIM(A1))

また、制御文字を削除する場合は、次のようにします。

=DATEVALUE(CLEAN(A1))

変換後のデータを値として貼り付ける

DATEVALUE関数を使用すると、変換後の日付は関数の結果として表示されるため、元のデータを削除すると影響を受けることがあります。正しい日付データとして確定するには、以下の手順で「値として貼り付け」を行います。(置換で修正した場合は不要です)

手順

  1. 変換後のセル(B列など)を選択し、「Ctrl + C」でコピーする。
  2. 右クリックして「値として貼り付け」を選択する。
  3. これにより、関数ではなく、日付データとして保存されます。

まとめ

Excelにインポートした日付データが認識されない場合、DATEVALUE関数を使って修正できます。また、以下の補助関数を組み合わせることで、より確実にデータをクリーニングできます。

  • SUBSTITUTE関数: 「.」や「年」「月」「日」を「/」に置換
  • TRIM関数: 余分なスペースを削除
  • CLEAN関数: 制御文字を削除

最終的に、「値として貼り付け」を行うことで、正しい日付データとして確定できます。

使用した関数について

DATEVALUE関数で文字列の日付をシリアル値に変換する方法と#VALUE!エラーが発生してしまう理由をわかりやすく解説
DATEVALUE関数についてDATEVALUEの概要文字列の日付をシリアル値に変換 Excel関数 =DATEVALUE(文字列の日付) 概要 DATEVALUE関数は文字列として入力された日付をExcelで認識するシリアル値に変換します。 日付を計算や並べ替えに利用可能な形式に変換できます。 参照セルが日付形式の場...
SUBSTITUTE関数で文字列を置換する方法と改行や空白の置き換え方法についてわかりやすく解説
SUBSTITUTE関数とSUBSTITUTEB関数SUBSTITUTEの概要指定文字列の置き換えExcel関数=SUBSTITUTE( 文字列 , 検索文字列 , 置換文字列 , (対象) )=SUBSTITUTEB( 文字列 , 検索文字列 , 置換文字列 , (対象) )概要 指定した文字列を置き換える 単純な置...
TRIM関数で余分な空白を削除する方法と末尾と前後の処理についてわかりやすく解説
TRIM関数についてTRIMの概要余分な空白スペースを削除するExcel関数=TRIM( 文字列 )概要 TRIMは2以上の連続した空白(スペース)について1つを残し、残りをすべて削除する(例) This     is a pen. → This is a pen. TRIMは英文などで、余分な空白を削除するために用意...
ページが存在しないか、非公開の状態です。 | ProG-Cafe