メモ:Excelで日付が「文字」になって並べ替えできない時の直し方

Office:Excel

こんにちは。いーかです。
Excelの「データ整形」で、見た目は日付なのに並べ替えや計算がうまくいかない“文字の日付”を直すメモです。

30秒まとめ(結論1行)

日付が文字になる原因は「取り込み時の判定ミス」「表記ゆれ」「前後の空白/不可視文字」「時刻混在」。直し方は①数値に変換 ②DATEVALUE ③区切り位置+(ダメなら)万能テンプレ。


まず最短チェック(ここで確定)

  • =ISNUMBER(A1)
    • TRUE:だいたい“本物の日付”(シリアル値)
    • FALSE:文字の日付の可能性

※見た目より ISNUMBERが確実


症状(あるある)

  • 並べ替えが日付順にならない
  • A1+1 ができない
  • YEAR(A1) がエラー
  • フィルターで「日付」グループにならない

先に安全ネット(事故防止)

いきなり上書きせず、別列(B列)で整形 → 最後に値貼り付けが安心。


ルート1:一番ラク(「数値に変換」)

警告(緑の三角)が出てたら:

  • 警告アイコン → 数値に変換

ルート2:関数で確実(DATEVALUE)

=DATEVALUE(A1)

結果が数字になったら成功(Excel内部の日付=シリアル値)。


ルート3:区切り位置(読み直し裏技)

  • データ → 区切り位置 → 次へ → 次へ → 列の形式を「日付(YMDなど)」→ 完了

つまずき救済:よくある3パターンの直し方

1) 日本語日付(2025年12月29日)

=DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"年","/"),"月","/"),"日",""))

2) 時刻が混ざる(2025/12/29 10:30)

日付部分だけ切り出してから:

=DATEVALUE(LEFT(A1,10))

3) 前後スペース/不可視空白(NBSP)が混ざる

まず掃除:

=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))

→ その結果をDATEVALUEへ。


万能テンプレ(迷ったらこれ1本)

空白掃除+日本語日付対応+時刻切り捨てまでまとめて日付化:

=DATEVALUE(
  LEFT(
    TRIM(
      CLEAN(
        SUBSTITUTE(
          SUBSTITUTE(
            SUBSTITUTE(
              SUBSTITUTE(
                SUBSTITUTE(A1,CHAR(160)," "),
              "年","/"),
            "月","/"),
          "日",""),
        " "," ")
      )
    ),
  10)
)
  • NBSP/全角スペースを掃除
  • 年/月/日をスラッシュ化
  • 先頭10文字で日付部分に寄せる
  • DATEVALUEで日付化

成功したら コピー → 値貼り付けで確定。


仕上げ(見た目を揃える)

変換できた列は、表示形式を yyyy/mm/dd にすると見やすいです。
(中身は日付=数値、見た目だけ統一)


今日の1アクション

ISNUMBER がFALSEの列があったら、まず 区切り位置を試す。
ダメなら 万能テンプレを別列に当てて値貼り付け。


ミニクイズ(答えは末尾)

Q1. 日付が本物(シリアル値)か確認する関数は?
Q2. 文字の日付を日付に変換する定番関数は?
Q3. “日付として読み直す裏技”の機能名は?
Q4. 2025年12月29日 の「年」をスラッシュに変える関数は?


今日のひとこと(成長ログ)

日付は“見た目”じゃない。中身が数値になったら勝ち。


解答とくわしい解説

A1. ISNUMBER
A2. DATEVALUE
A3. 区切り位置
A4. SUBSTITUTE


コメント

タイトルとURLをコピーしました