【1-1が1月1日に!】エクセルで数字が勝手に日付になるのを止める方法

「商品コードの1-1を入力したら1月1日になってしまった」「サイズの4/34月3日に変わる」——エクセルを使っていて、こんな場面でイライラしたことはありませんか。

これはエクセルの故障でも、あなたの操作ミスでもありません。エクセルには「日付っぽい入力を見つけたら、自動的に日付に直してあげよう」というお節介な機能が最初から備わっており、それが働いているだけです。

この記事では、数字が勝手に日付に変わるのを止める方法を5つ紹介します。今すぐ止めたい方向けの応急処置から、ファイル全体で二度と起きないようにする設定まで順に並べているので、ご自身の状況に合うものを選んでください。

まず試してほしいこと:先頭に「’」をつけて入力する

とりあえず今の入力を通したいだけなら、この方法が最短です。入力したい内容の前に半角のアポストロフィ(’)をつけます。

1. セルを選び、‘1-1 のように、先頭に半角の「’」をつけて入力します。キーボードではShift + 7で入力できます。

2. Enterキーを押すと、日付に変換されず1-1のまま表示されます。

先頭の「’」はセルに表示されず、印刷にも出ません。これは「この中身は文字として扱ってください」という合図としてエクセルに伝わるだけです。ただし、この方法は1セルずつの対処なので、入力する数が多い場合は次に紹介する方法のほうが確実です。

主な原因

セルの表示形式が「標準」になっているためです。「標準」は、入力された内容をエクセルが自動で判断する設定です。ハイフンやスラッシュで区切られた数字は日付とみなされるルールになっているため、「1-1」「4/3」「12-25」などが該当します。

分数のつもりで入力した「1/2」も日付と判断されます。エクセルから見れば「1/2」は1月2日と区別がつかないため、日付が優先されます。分数として入れたい場合は後述する書き方が必要です。

CSVファイルを開いたときにも同じ変換が起きます。メモ帳などで見ると正しく「1-1」と入っているのに、そのファイルをエクセルでダブルクリックして開くと日付に化けている、というパターンです。もとのCSVファイルが壊れているわけではなく、開くときに変換されています。

「JAN1」「1E5」のような文字と数字の組み合わせも変換対象です。こちらは後述する「自動データ変換」の設定で個別に止められる種類の変換で、「1-1」とは仕組みが少し異なります。

対処法①:入力する前にセルの表示形式を「文字列」にする

もっとも確実で、おすすめの方法です。ポイントは入力する前に設定することです。

1. 日付になってほしくないセル(または列全体)を選択します。列全体を選ぶときは、列の上にあるアルファベットの部分をクリックします。

2. 選択した部分を右クリックし、「セルの書式設定」を選びます。

3. 「表示形式」タブを開き、左の一覧から「文字列」を選んで「OK」を押します。

4. その状態で入力すると、「1-1」はそのまま「1-1」と表示されます。

注意点として、文字列にしたセルの数字は計算に使えなくなります。合計を出したり、VLOOKUPなどの関数で参照したりする列には使わないでください。商品コードや型番、電話番号のように「計算しない数字」を入れる列にだけ設定するのが正解です。

対処法②:分数を入れたいときは「0」と半角スペースを前に置く

「1/2」を2分の1として入力したい場合は、文字列にしてしまうと計算できなくなるため、別の書き方を使います。

1. セルに0半角スペース1/2の順で、0 1/2と入力します。

2. Enterを押すと、セルには1/2と分数で表示されます。

3. 「1と2分の1」のような帯分数を入れたいときは、1 1/2のように整数部分を先に書きます。

この方法で入れた分数は数値として扱われるので、そのまま足し算や掛け算に使えます。数式バーを見ると「0.5」と表示されますが、セル上は分数のまま見えるので問題ありません。

対処法③:Microsoft 365なら「自動データ変換」をオフにする

Microsoft 365版のエクセル、またはOffice 2024など比較的新しい買い切り版には、お節介な自動変換をまとめてオフにする設定が用意されています。

1. エクセルの「ファイル」タブをクリックし、左下の「オプション」を選びます。

2. 左のメニューから「データ」を選び、「自動データ変換」の項目を探します。

3. 「連続する文字と数字を日付に変換する」のチェックを外し、「OK」を押します。先頭のゼロが消えるのを防ぎたい場合は、「数値から先頭の0を削除し、数値に変換する」のチェックも一緒に外しておくと便利です。

ここで大事な注意があります。この設定で止まるのは「JAN1」のような文字と数字が混ざった変換で、「1-1」や「4/3」のような数字だけの日付変換は止まりません。「オプションを変えたのに直らない」という相談が多いのはこのためです。数字だけのケースには対処法①の「文字列」設定を使ってください。

なお、この項目がそもそも見当たらない場合は、お使いのエクセルが古いバージョン(Office 2021以前)です。その場合は対処法①か②で対応することになります。

対処法④:CSVファイルは「データ」タブから取り込む

CSVファイルをダブルクリックで開くと、エクセルが中身を自動判断してしまいます。これを避けるには、いったん空のエクセルを開いてから読み込みます。

1. エクセルを起動し、空白のブックを開きます。

2. 「データ」タブを開き、「テキストまたはCSVから」をクリックして、対象のCSVファイルを選びます。

3. プレビュー画面が出たら、右下の「データの変換」をクリックします。いきなり「読み込み」を押さないのがコツです。

4. 開いた編集画面で、日付にしたくない列の見出しをクリックして選び、「データ型」「テキスト」に変更します。

5. 左上の「閉じて読み込む」を押すと、変換されないままシートに取り込まれます。

ひと手間かかりますが、取引先から毎月届くCSVのように繰り返し扱うファイルでは、この方法を覚えておくと毎回の修正作業がなくなります。

対処法⑤:すでに日付になってしまったセルを直す

ここで多くの方がつまずくポイントがあります。すでに日付に変換されてしまったセルは、あとから表示形式を「文字列」に変えても元には戻りません。「1月1日」が「45658」のような数字の羅列に変わるだけです。

これは、エクセルが日付を内部的に「1900年1月1日から数えた日数」という数値で持っているためで、入力した「1-1」という文字そのものはもう残っていないからです。

1. 対象のセルまたは列を選択し、右クリックから「セルの書式設定」「文字列」に変更します。

2. そのうえで、正しい値を入力し直します。数が少なければこれが一番早い方法です。

3. 大量にある場合は、変換される前の元データ(CSVや取り込み元のファイル)が残っていないか探し、対処法①や④の手順でやり直すほうが確実です。

だからこそ、作業を始める前にセルを「文字列」にしておくことが何より効きます。あとから直すより、最初に設定しておくほうが圧倒的に手間が少なくて済みます。

まとめ

エクセルで数字が勝手に日付になるのは、セルの表示形式が「標準」になっていて、ハイフンやスラッシュで区切られた数字を日付とみなすルールが働いているためです。

今すぐ1つだけ止めたいなら先頭に「’」をつける方法、列ごとまとめて防ぎたいなら入力前にセルの表示形式を「文字列」にする方法が基本になります。分数を入れたいときは「0 1/2」のように0と半角スペースを前に置き、CSVを扱うときは「データ」タブの「テキストまたはCSVから」で取り込んでください。

Microsoft 365やOffice 2024をお使いなら「ファイル」→「オプション」→「データ」の自動データ変換もオフにしておくと安心ですが、これで止まるのは「JAN1」のような文字混じりの変換だけで、「1-1」には効かない点は覚えておいてください。

そして、すでに日付になってしまったセルは書式を変えても戻らず、入力し直しが必要です。どの方法を使うにしても、作業を始める前にひと手間かけて「文字列」に設定しておくことが、結局いちばんの近道になります。

コメント