スプレッドシートの日付がばらばら問題

スプレッドシートで日付として認識されません。日付の文字列として変換するにはどうすればいいですか? 

スプレッドシートで日付が正しく認識されない場合、いくつかの方法で日付の文字列を変換できます。状況によって適切な方法を試してみてください。

方法 1:DATEVALUE 関数を使う

もし日付の形式が YYYY/MM/DD や YYYY-MM-DD などであれば、DATEVALUE 関数を使うと日付に変換できます。

excel

コピーする編集する

=DATEVALUE(A1)


ただし、この関数は**"日付として認識可能な文字列"** のみを受け付けます。エラーになる場合は次の方法を試してください。


方法 2:TEXT関数でフォーマット変換

日付が「20240225」のように連続した数字になっている場合、適切な形式に変換する必要があります。
例えば、「YYYYMMDD」の形なら以下のようにします。

excel

コピーする編集する

=TEXT(A1, "0000-00-00")


これで「2024-02-25」のような形式になります。


方法 3:SUBSTITUTE や MID を使って整形

日付の区切りが「.」や「/」など異なる場合、SUBSTITUTE を使って修正できます。
例えば、「2024.02.25」→「2024/02/25」に変換する場合:

excel

コピーする編集する

=SUBSTITUTE(A1, ".", "/")


また、「20240225」のような数値から日付を作成する場合:

excel

コピーする編集する

=DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2))



方法 4:VALUE関数を使う

もし日付のように見えても文字列になっている場合、VALUE 関数で数値(シリアル値)に変換できます。

excel

コピーする編集する

=VALUE(A1)


この後、セルの表示形式を「日付」に変更すれば、正しく認識されます。


どのケースか教えてください!

日付の入力形式によって対処法が変わるので、「どのような形式で入力されているのか」を教えてもらえれば、よりピッタリな方法を提案できます! 😊

あなた:

04/06/2024

ChatGPT:

「04/06/2024」が日付として認識されない場合、原因として 日付の並び順(MM/DD/YYYY か DD/MM/YYYY か) が違う可能性があります。

方法 1:日付の並びを確認する

スプレッドシートの地域設定によって、04/06/2024 が "4月6日"(MM/DD/YYYY) なのか "6月4日"(DD/MM/YYYY) なのかが変わります。
👉 正しい並びになっていない場合は、地域設定を変更するか、次の方法で修正してください。


方法 2:DATE関数を使って修正する

もし「DD/MM/YYYY」形式で入力されているのに「MM/DD/YYYY」形式と誤認識されている場合、手動で並び替える必要があります。

excel

コピーする編集する

=DATE(RIGHT(A1,4), MID(A1,4,2), LEFT(A1,2))


これで「04/06/2024(DD/MM/YYYY)」を 2024年6月4日 に変換できます。
逆に「MM/DD/YYYY」を「YYYY/MM/DD」にするなら:

excel

コピーする編集する

=DATE(RIGHT(A1,4), LEFT(A1,2), MID(A1,4,2))



方法 3:SUBSTITUTE関数で区切りを変更

スプレッドシートが / 区切りを認識しない場合、一度 - に置き換えてみるのも手です。

excel

コピーする編集する

=SUBSTITUTE(A1, "/", "-")


これで 04-06-2024 になり、日付として認識されるか試してください。


方法 4:VALUE関数を試す

もし単純に日付が「文字列」として保存されているなら、VALUE 関数で数値(シリアル値)に変換できます。

excel

コピーする編集する

=VALUE(A1)


その後、セルの書式を「日付」に変更してください。

画像を見る限り、「2024/02/12」などの日付が文字列として扱われており、スプレッドシートが日付として認識できていないようです。以下の方法を試してみてください!


✅ 方法 1:VALUE関数を使う(文字列→日付に変換)

セル A170:A のデータが文字列扱いになっている場合、VALUE 関数を使うと日付として認識される可能性があります。

手順:

B列 などの別の列に、次の関数を入力:
excel
コピーする編集する
=VALUE(A170)


これで正しく日付として認識されるはずです!


✅ 方法 2:SUBSTITUTE を使って「/」を統一する

データが「見た目は同じでも内部的に異なる記号を使っている」場合、SUBSTITUTE 関数で修正できます。

手順:

B列 に次の式を入力:
excel
コピーする編集する
=DATEVALUE(SUBSTITUTE(A170, "/", "-"))



✅ 方法 3:手動でデータの書式を変更


✅ 方法 4:ARRAYFORMULA で一括変換

A列すべてが文字列になっている場合、ARRAYFORMULA を使って一括変換も可能です。

excel

コピーする編集する

=ARRAYFORMULA(IF(A170:A<>"", VALUE(A170:A), ""))


この方法なら、B列に日付データを一括変換してくれます!


🔍 追加確認点