エクセルで「4-2」と入れると「4月2日」と表示されるのはなぜ?
「4-2」と表示させたくて、
エクセルで「4-2」と入れたのに、「4月2日」と表示されてしまう・・・。
あなたも、経験したことがあると思います。
今回は、なぜ、そういう表示がされてしまうのか、
説明をしていこうと思います。
エクセルが書式設定を自動判別してくれるが・・・
諸悪の根源は、
エクセルの「書式設定の自動判別機能です」
エクセルでは、
数値や日付、文字など、さまざまなデータを扱えます。
それらのデータを
入力しやすくするために、
エクセルは、
入力されたデータがどういうものなのか、自動判別をし、
適切な処理をしようとします。
例えば、
「4/2」と入れると、
エクセル君は、
「あ、これは、日付の、月・日だけ入力したんだな!?」と考えて、
セルの書式を「日付」に設定し、
エクセルの内部的には「2016年4月2日」と入力したことにし、
表示上は、
月と日だけを表示するような
ユーザ定義書式「(m"月"d"日")」を自動で設定してくれます。
こういうふうに、
エクセル君が裏でがんばった結果、
「4/2」としか入れていないのに、
「4月2日」と表示されるわけです。
これだけなら、気が利いているな、という話なわけですが。
上記以外でも、
さまざまな書式について、
エクセルは「日付」と認識してしまいます。
残念なことに、
エクセルは、
アメリカ発のソフトウエアだからかもしれませんが、
日本人からは「日付」とは思えないケースでも、
「日付」として認識をしてしまう場合があります。
冒頭で書いた「4-2」も、
エクセルで「日付」として認識されてしまいます。
結果、
「4-2」と入れると、「4月2日」と表示されてしまうのです。
エクセルに余計な自動認識させない方法
勝手に日付形式にしてほしくない、という場合は、
自動認識しないように入力をしましょう。
ここれは、2つ方法を紹介します。
- 「書式設定」で「文字列」に設定した後に
「4-2」と入れる - 最初にアポストロフィ(「’」=Shiftキーを押しながら「7」)
を入れて、「’4-2」と入れる
1.の方法は、
入力前に、
書式を「文字列」にしてしまう方法です。
こうすれば「4-2」と入力しても、
勝手に、「4月2日」にはならず「4-2」のままで入力されます。
注意点としては、
書式を変えた「後」にデータを入れる必要がある、
というところです。
書式を変える「前」にデータを入れて、
後から、書式を変えても、変な数字が出てきてしまいますので、気をつけてください。
(こうなってしまう理由は、また、後日書きます)
2.の方法は、
書式を変えないでも、
最初に「’」の文字を入れることで、
エクセルの自動判別の機能を、無効化し、
常に入力したとおりに表示させることができます。
※最初に入れた「’」は、
画面上や、印刷時には表示されません。
ただ、
入力したはずの「’」が「表示されない」という、
入力と見た目の「ずれ」が出ますので、
慣れている人でないとつかいづらいかもしれません。
ということで、
エクセル初心者の方ならば、「1.」のほうがおすすめです。