電話番号や型番、日程のメモのつもりで数字を入力しただけなのに、セルの中身が勝手に日付になってしまった…そんな経験はありませんか?Excelには入力内容を自動で認識して表示形式を変えてくれる便利な機能がありますが、これが裏目に出ることも多いんですよね。
●「1-3」や「3/10」と入力しただけなのに、なぜか日付に変換されてしまう。。
●一度日付になったセルを「文字列」に戻しても、元の表記ではなく「45000」のような変な数字のままになる。。
●型番や電話番号の先頭の「0」が消えてしまい、正しい番号として使えなくなる。。
本記事では、Excelが数字や記号を勝手に日付に変換してしまう仕組みと、意図しない変換を防ぐための入力のコツ、すでに変換されてしまった場合の直し方を紹介します!
そもそもなぜ日付に変換されてしまうのか
Excelには、セルに入力された内容を自動で判定して見やすい形式に変える「オートコレクト」の仕組みがあります。「1-3」「3/10」のようにハイフンやスラッシュで区切られた数字は、日付として認識されやすいため、入力した瞬間に表示形式が日付に変わってしまいます。
厄介なのは、見た目が日付表示になるだけでなく、セルの中身自体が「シリアル値」という日付専用の数値データに変わってしまう点です。後から表示形式だけを「文字列」に戻しても、入力し直さない限り元の表記には戻りません。

対策1:入力前にセルの表示形式を「文字列」にしておく
型番や電話番号、郵便番号のように、今後も計算に使わないと分かっている列は、データを入力する前に表示形式を「文字列」に変更しておくのが一番確実です。先頭の「0」も消えずにそのまま表示されます。
操作手順
- 文字列にしたい列またはセル範囲を選択する
- 右クリックして「セルの書式設定」を選ぶ(または「Ctrl」+「1」)
- 「表示形式」タブで「文字列」を選び「OK」をクリックする
- その状態でデータを入力する


対策2:先頭に「’」(シングルクォーテーション)を付けて入力する
すでに他のデータが入っている表の一部分だけを文字列として扱いたい場合は、いちいち表示形式を変更しなくても、入力する数字の先頭に半角の「’」を付けるだけで文字列として認識させられます。「’1-3」と入力すれば、日付に変換されず「1-3」とそのまま表示されます。
この方法で入力したセルは左詰めで表示され、セルの左上に緑色の三角マークが付きます(Excelが「数値が文字列として保存されています」と教えてくれているだけなので、無視して問題ありません)。

対策3:すでに日付に変換されてしまったセルを直す
入力した直後であれば、「Ctrl」+「Z」(元に戻す)を押すことで、自動変換される前の状態に戻せます。時間が経ってから気づいた場合は、対策1の手順でセルの表示形式を先に「文字列」に変更してから、該当のデータを入力し直すのが確実です。表示形式を変えただけでは中身の数値は変わらないため、必ず入力し直す点に注意しましょう。
対策4:CSVファイルを取り込むときは列の形式を指定する
他システムから出力したCSVファイルをExcelでそのまま開くと、型番や電話番号の列が気づかないうちに日付や数値に変換されてしまうことがあります。CSVを開くときはダブルクリックで直接開かず、「データ」タブ→「テキストまたはCSVから」を使って読み込み、列ごとにデータ形式を「文字列」に指定すると、意図しない変換を防げます。
読み込んだデータをもとに集計する前に、重複したデータが紛れていないかも合わせて確認しておくと安心です。重複データのチェック・削除方法はこちらの記事で解説しています。
また、型番や電話番号を検索キーにしてVLOOKUP・XLOOKUPで他の表と照合する場合、数値と文字列でデータ型が食い違っていると「見つからない」というエラーになることがあります。関数がうまく検索してくれないときは、まずこの記事のようにデータ型のズレが原因になっていないかを疑ってみましょう。XLOOKUPの基本的な使い方はこちらの記事で紹介しています。
目的別・おすすめの対策
| シーン | おすすめの対策 |
|---|---|
| 型番・電話番号・郵便番号の列を新規作成する | 入力前にセルの表示形式を「文字列」にする(対策1) |
| 既存の表の一部だけをピンポイントで文字列にしたい | 先頭に「’」を付けて入力する(対策2) |
| 入力した直後に日付になってしまった | 「Ctrl」+「Z」で元に戻す(対策3) |
| 他システムのCSVファイルを取り込む | 「テキストまたはCSVから」で列の形式を指定して読み込む(対策4) |
まとめ
Excelの自動変換は便利な反面、型番や電話番号のような「数字に見えるけれど計算には使わないデータ」では思わぬトラブルの原因になります。入力前に表示形式を文字列にしておく、先頭に「’」を付ける、CSV取り込み時は列の形式を指定するといったひと手間で、意図しない変換をしっかり防げます。よく使う列は、あらかじめ文字列の形式にしておく習慣をつけておきましょう。

