おはよう、後輩A君。
Excelのセルに「1-2」と入力して、Enterを押す。すると――
入力したのは 1-2
表示されたのは 1月2日
勝手に日付になってしまうんだよね。商品コードの「3-5」も、部屋番号の「12-3」も、分数の「1/2」も、みんな日付に化けてしまう。
これは先頭の0が消える問題とまったく同じ原因なんだよ。今日はこの「勝手に日付になる」問題を、原因から対処法まで片付けるよ。元に戻せるのかという切実な話もするからね。
1. なぜエクセルで「1-2」が勝手に日付になるのか
原因はひとつだよ。Excelが「これは日付のことだな」と気を利かせているんだ。
Excelはセルに入力された内容を見て、それが何なのかを自動で判断しているんだよね。そしてハイフンやスラッシュで区切られた数字は、日付の書き方だと解釈するルールになっているんだ。
1-2 → 1月2日
1/2 → 1月2日
3-5 → 3月5日
12-3 → 12月3日
人間が日付を書くとき、たしかに「1/2」や「1-2」と書くよね。だからExcelの判断は、ある意味では正しいんだよ。
問題は、私たちが入力しているのが日付じゃないことなんだ。商品コードだったり、部屋番号だったり、分数だったりする。Excelには、それが何なのか分からないんだよね。
だから解決の方向は、0が消える問題とまったく同じなんだ。
Excelに「これは日付じゃなくて文字だよ」と先に教えておく。
2. 日付になりやすい入力パターンを知っておこうか
先に「危ない形」を知っておくと、事故を防げるよ。よくあるのはこの4つだね。
① 数字-数字 ……1-2、3-5、12-3(商品コード・部屋番号)
② 数字/数字 ……1/2、3/4(分数・比率)
③ 英字+数字 ……MAR1、SEP2、DEC3(月の略称+数字)
④ 数字-数字-数字 ……1-2-3、2026-1-2(年月日として解釈される)
③は意外に思うかもしれないね。でもこれ、実際に世界中で問題になったことがあるんだよ。遺伝子の名前に「MARCH1」「SEPT1」といったものがあって、Excelで開くたびに日付に化けてしまったんだ。研究のデータが壊れる事態になって、最終的に遺伝子の名前のほうを変更するという決着になったんだよね。
Excelの自動変換に、世界が折れた――という話なんだ。それくらい、この仕様は手強いということだよ。
後輩A君も、ハイフンやスラッシュを含む短いコードを扱うときは、反射的に警戒するくらいでちょうどいいんだよ。
3. 今すぐ直す:アポストロフィを付ける方法
すでに入力してしまったセルを直したいときは、これがいちばん早いよ。先頭にアポストロフィ(’)を付けて入力し直すんだ。
‘1-2 ← こう入力する
1-2 ← こう表示される
アポストロフィはShiftキーを押しながら「7」で入力できるよ。画面には表示されないから、見た目は「1-2」のままなんだ。
「ここから先は文字として扱ってね」というExcelへの合図だと思えばいいね。直したいセルが数個なら、これがいちばん速いよ。
4. 入力前に防ぐ:セルの書式を「文字列」にする方法
これから何十件も入力するなら、先に入れ物を用意しておく方が確実だよ。
① 入力する列を選ぶ(列番号をクリックすると列ごと選べるよ)
② 右クリック →「セルの書式設定」
③ 「表示形式」タブで「文字列」を選ぶ
④ 「OK」を押してから入力する
これで、その列に入れたものはすべて文字として扱われるようになるんだ。「1-2」も「1/2」も、打ったままの姿で残るよ。
ここでも順番が命なんだ。
入力したあとに書式を変えても、日付になったものは戻らない。
理由は6章で説明するけれど、すでに変換されてしまったセルは、書式を変えても元の文字には戻らないんだよ。入れ物を先に用意してから、中身を入れる――この順番だけは守ってほしいな。
5. 分数を「分数のまま」入力する方法
少し特殊なケースだけど、知っておくと助かるよ。1/2を分数として計算に使いたいときの話だね。
文字列にしてしまうと計算できないし、そのまま打つと日付になる。どうするかというと――先に「0」とスペースを付けるんだ。
0 1/2 ← こう入力する(ゼロ、スペース、1/2)
1/2 ← こう表示される(中身は0.5として計算できる)
「0と2分の1」という書き方をすることで、Excelが「これは日付じゃなくて分数だな」と理解してくれるんだよ。1と2分の1なら「1 1/2」だね。
計算にも使えるし、表示も分数のまま。分数を扱うならこの入力が正解だと覚えておこうか。
6. 日付になったセルは元に戻せるのか
ここが今日いちばん大事な話だよ。結論から言うね。
元の文字には戻せない。
なぜかというと、Excelは日付を「通し番号」として保存しているからなんだ。
Excelの中では、日付は1900年1月1日を「1」とした連番で管理されているんだよ。だから「1月2日」は、内部では5桁の数字として記録されているんだ。
試しに、日付になってしまったセルの書式を「標準」に戻してみてほしい。すると――5桁の見覚えのない数字が出てくるんだよね。これがExcelの正体なんだ。
つまりこういうことだよ。
あなたが入力した「1-2」という文字は、もうどこにも残っていない。
残っているのは「日付を表す数字」だけ。
だから書式をいくらいじっても、「1-2」には戻らないんだ。入力し直すしかないんだよね。
もし何百件もやられてしまったら、元データがまだ手元にあるなら、そちらから取り直すのがいちばん早いよ。CSVやメールの添付など、変換される前の状態が残っていないか探してみてほしいな。
そして――だからこそ入力する前に文字列にしておくことが効くんだよ。この問題は直す技術より、防ぐ習慣なんだ。
7. CSVを開いたときに日付になる場合の対処法
自分で入力していなくても、この問題は起きるんだよ。CSVファイルをダブルクリックで開いたときだね。
CSVの中には「1-2」とちゃんと書いてあるのに、Excelが開く瞬間に日付へ変換してしまうんだ。そしてそのまま上書き保存すると、元のファイルの中身まで書き換わるんだよね。
対処法は、0が消える問題のときと同じだよ。
① Excelを先に起動する(空のブックでいい)
② 「データ」タブ →「テキストまたはCSVから」を選ぶ
③ ファイルを選んで「データの変換」を押す
④ 日付になってしまう列を選んで、データ型を「テキスト」に変更する
⑤ 「閉じて読み込む」を押す
コードや番号を含むCSVは、ダブルクリックで開かない。これだけは習慣にしてほしいんだ。お客さんから預かったデータを壊してしまうと、取り返しがつかないからね。
結論:ハイフンとスラッシュを見たら、警戒しようか
今日の話をまとめるとこうだよ。
① 「1-2」が日付になるのはExcelが日付の書き方だと解釈するから
② 数個ならアポストロフィ(’)を先頭に付けて入力し直す
③ 大量入力なら先に列の書式を「文字列」にしてから入力する
④ 分数を使いたいなら「0 1/2」と入力する
⑤ 日付になったセルは元の文字に戻せない(中身は通し番号になっている)
⑥ CSVは「データ」タブから列を「テキスト」で読み込む
これで、Excelが勝手に変換してしまう問題の3点セットが揃ったね。長い数字が指数になる問題、先頭の0が消える問題、そして今日の日付変換。原因はぜんぶ同じで、対処法もほぼ同じなんだよ。
3つに共通する予防策は、たったこれだけなんだ。
数字を入れる列は、入力する前に「文字列」にしておく。
この一手間を習慣にするだけで、3種類の事故がまとめて消えるんだよね。
最後にもうひとつ。この問題の本質は、Excelが気を利かせすぎていることなんだ。良かれと思って解釈してくれる。その親切が、こちらの意図とずれているだけなんだよ。
賢い道具ほど、こちらの意図を先回りして補ってくる。だから「これはこう扱ってほしい」と先に伝えておく――これはExcelに限らず、AIとの付き合いでもまったく同じなんだよね。道具が賢くなるほど、この一手間の価値は上がっていくんだよ。
後輩A君も、ハイフンやスラッシュを含むデータを見たら、入力する前に列を文字列にする――ここから始めてみようか。
よくある質問
Q1. エクセルで勝手に日付になるのを、設定でオフにできますか?
残念だけど、Excel全体で自動変換をオフにする設定はないんだ。オートコレクトの設定にも該当する項目がないんだよね。だからセルの書式を「文字列」にするのが、実質的な唯一の予防策になるよ。入力の前に列ごと文字列にしておく――これを習慣にするのがいちばん確実だね。
Q2. 「1-2」と入力したのに、年まで付いた日付になりました。年はどこから来たの?
入力した年(今年)が自動で補われているんだよ。Excelは日付を「年・月・日」の3点セットで管理するから、年が書かれていないと今年だと解釈するんだ。だから同じ「1-2」でも、入力した年によって中身の数字が変わるんだよね。ここも「元に戻せない」理由のひとつだよ。
Q3. すでに日付になった列を、まとめて元に戻す方法はありますか?
元の文字には戻せないんだ。日付として保存された時点で、入力した文字の情報は失われているからね。ただし「1月2日」という表示のまま文字にしたいのなら、隣の列に =TEXT(A1,”m-d”) と入れると「1-2」の形の文字列が作れるよ。元データが手元にあるなら、そちらから取り直すのがいちばん確実だね。
Q4. 商品コードや部屋番号を扱うとき、そもそもどう設計すればいい?
可能ならコードの中に英字を1文字入れておくと事故が激減するよ。「1-2」は日付になるけれど「A1-2」ならならないからね。既存のコードを変えられないなら、その列は必ず文字列にするとチーム内でルール化しておこうか。個人の注意力に頼らず、仕組みで防ぐのが結局いちばん安全なんだよ。
【本日のミッション:ハイフンを含む列を、先に文字列にしておこうか】
- ☐ 商品コードや部屋番号を入れる列を、入力前に「文字列」に設定してみようか
- ☐ 分数を使う場面があったら、「0 1/2」の入力を試してみようか
- ☐ (後輩A君へ)この手のトラブルは、直す技術より防ぐ習慣なんだよ。入力の前のひと呼吸が、あとの何時間かを守ってくれるんだ
📚 AI活用シリーズ(おすすめ)

コメント