スプレッドシートの日付がばらばら問題
スプレッドシートで日付として認識されません。日付の文字列として変換するにはどうすればいいですか?
スプレッドシートで日付が正しく認識されない場合、いくつかの方法で日付の文字列を変換できます。状況によって適切な方法を試してみてください。
方法 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)
数式を下の行までコピーする。
B列のデータをコピーし、「値のみ貼り付け」 でA列に上書きする。
A列のセル書式を「日付」に設定する。
これで正しく日付として認識されるはずです!
✅ 方法 2:SUBSTITUTE を使って「/」を統一する
データが「見た目は同じでも内部的に異なる記号を使っている」場合、SUBSTITUTE 関数で修正できます。
手順:
B列 に次の式を入力:
excel
コピーする編集する
=DATEVALUE(SUBSTITUTE(A170, "/", "-"))
数式を下にコピー。
B列のデータをコピーして、A列に「値のみ貼り付け」する。
A列のセル書式を「日付」に変更する。
✅ 方法 3:手動でデータの書式を変更
A列全体を選択する。
「データ」→「データの入力規則」→「日付」に設定
「表示形式」→「数字」→「日付」 を適用
✅ 方法 4:ARRAYFORMULA で一括変換
A列すべてが文字列になっている場合、ARRAYFORMULA を使って一括変換も可能です。
excel
コピーする編集する
=ARRAYFORMULA(IF(A170:A<>"", VALUE(A170:A), ""))
この方法なら、B列に日付データを一括変換してくれます!
🔍 追加確認点
データがCSVなどからコピーされた場合、書式が壊れていることがあるので、「値のみ貼り付け」で修正
=(数式)が入っていないか確認