こんにちは。いーかです。
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


コメント