Excelの落とし穴「先頭のゼロ(0)」問題の対処法:Tech TIPS
Excelで、電話番号や会員番号など、「0」から始まる数を入力することも多いのではないだろうか。しかし、Excelで単純に「03」などと入力すると、勝手に「3」となり、先頭の「0」が消えてしまう。そこで、この「0」を入力する方法を紹介する。また、「03」などの先頭に「0」が付いたデータを含むCSVファイルを正しく読み込む方法についても解説しよう。
対象:Excel 2016/2019/2021/365
Excelで「001」と入力したのに「1」になるのはなぜ?
Excelで「001」などと入力しても、勝手に先頭にある「0」部分が削除されて「1」になってしまう。電話番号など、先頭に「0」があるデータの場合に困ることになる。そこで、先頭に「0」のある数値を入力する方法を紹介しよう。なお、画面に使用している住所は、「テストデータ・ジェネレータ」で作成したテスト用のダミーデータである。
「Microsoft Excel(エクセル)」で、電話番号や会員番号など、「0」から始まる数を入力することも多いだろう。また、「001」「002」「003」「004」といったように「ゼロ埋め」で連番の桁をそろえたいことも結構あると思う。
ところが、Excelで「001」のように入力しても、「1」としか表示されず先頭の「00」が消えてしまう。これは、Excelが数値や日付、文字列など自動的に判断し、それに合わせたセルの表示形式を適用してしまうためだ。「001」と入力すると、自動的に数値と判断され、「00」が非表示となってしまうわけだ。
同様に電話番号も、「-(ハイフン)」などで区切らず、「0312345678」としてしまうと、やはり先頭の「0」が消えてしまう。
このように先頭に「0」が入った数値を、Excelで表示する方法をいくつか紹介しよう。
先頭に「'」を追加して入力する
Excelで「0」から始まる数値を入力するのであれば、その際に先頭に「'(アポストロフィー)」を付けて「'001」のようにすればよい。
ただし、[Excelのオプション]ダイアログの[数式]画面の「エラーチェックルール」欄で「文字列形式の数値、またはアポストロフィーで始まる数値」にチェックが入っている場合、セルにエラーの警告が表示される。このエラーは無視してもよいので、セルのエラーをクリックし、[エラーを無視する]を選択すればよい。
または、Excelのオプション]ダイアログで「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外すことでエラーを非表示にできる。
エラーが表示されないようにする(1)
「'001」などと入力すると、「数値が文字列として保存されています」というエラーが表示される。このエラーは無視してもよいので、エラー記号をクリックし、メニューの[エラーを無視する]を選択すればよい。
エラーが表示されないようにする(2)
全てのエラーが発生したセルで、前画面の操作を行うのは面倒なので、このエラー自体を表示しないようにすればよい。それには、[ファイル]−[オプション]とクリックして[Excelのオプション]ダイアログを開き、左ペインで[数式]を選択、右ペインで「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外せばよい。
セルの表示形式を[文字列]にする
毎回、数値を入力の際に「'(アポストロフィー)」を付けるのが面倒な場合、セルの書式設定で明示的に「文字列」に指定するという方法もある。
それには、入力する列や行を選択して、[ホーム]タブの[数値]グループにあるプルダウンメニューで[文字列]を選択するのが手っ取り早い。また、行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)と、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[文字列]を選択してもよい。
これで、「001」と入力した場合、先頭の「00」は消えず、「001」と表示されるようになる。
なお、Wordなどで作成された表などから先頭に「0」を含む数値をコピーする場合、単純にコピーして、貼り付けると、先頭の「0」が消えてしまうので注意してほしい。この場合、貼り付ける際に右クリックメニューの[貼り付けオプション]で[貼り付け先の書式に合わせる]を選択して、貼り付けを行う必要がある。
セルの表示形式の[ユーザー定義]で「000」などとする
既に数値を入力している場合、セルの表示形式で[文字列]に変更しても、入力した際の先頭の「0」は復活しない。このように既に入力済みの数値に対して、桁数を合わせるための先頭の「0」を表示したい場合、セルの表示形式の[ユーザー定義]を使う。
それには、先頭の「0」を表示したい行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)。すると、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[ユーザー定義]を選択、「種類:」の入力ボックスに「000」などと、桁数分の「0」を入力する。「000」では3桁に合わせられ、「001」「010」といったように、入力済みの数値が表示されるようになる。
他の表からコピーした結果、先頭の「0」が消えてしまった場合でも、桁数がそろっているのであれば、[ユーザー定義]を選択することで、先頭の「0」を復活できる。
セルの表示形式の[ユーザー定義]で「000」などとする(2)
先頭の「0」を表示したい列を選択し、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログを開く。[表示形式]タブを開き、[ユーザー定義]を選択、「種類:」欄の入力ボックスに「000」というように「0」を桁数の分だけ入力する。
セルの表示形式の[ユーザー定義]で「000」などとする(3)
同様に「電話番号」列も[ユーザー定義]で「0000000000」として、先頭の「0」を表示させることができる。ただし、設定したセル範囲に桁数が異なる電話番号が混じっていると、そこだけ先頭に「0」が2つ以上表示されたり、逆に「0」が表示されなかったりする。表示形式を設定する際、そのセルに入力されている数値の桁数に合わせて「0」の数を増減する必要がある。
先頭の「0」が消えないようにCSVファイルを開く
先頭の「0」が入力されたExcelの表をXLSXファイル形式で保存した場合、何も気にせずに開けば、先頭の「0」も表示された状態となる。しかし、CSV形式で保存した場合には注意が必要になる。
Copyright© Digital Advantage Corp. All Rights Reserved.