Excelの落とし穴「先頭のゼロ(0)」問題の対処法Tech TIPS

Excelで、電話番号や会員番号など、「0」から始まる数を入力することも多いのではないだろうか。しかし、Excelで単純に「03」などと入力すると、勝手に「3」となり、先頭の「0」が消えてしまう。そこで、この「0」を入力する方法を紹介する。また、「03」などの先頭に「0」が付いたデータを含むCSVファイルを正しく読み込む方法についても解説しよう。

» 2023年07月13日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/365


Excelで「001」と入力したのに「1」になるのはなぜ? 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」のようにすればよい。

先頭に「'」を追加して入力する 先頭に「'」を追加して入力する
先頭に「0」のある数値を入力する際、「'0」などと「'(アポストロフィー)」を付ければ、先頭の「0」部分は消えなくなる。

 ただし、[Excelのオプション]ダイアログの[数式]画面の「エラーチェックルール」欄で「文字列形式の数値、またはアポストロフィーで始まる数値」にチェックが入っている場合、セルにエラーの警告が表示される。このエラーは無視してもよいので、セルのエラーをクリックし、[エラーを無視する]を選択すればよい。

 または、Excelのオプション]ダイアログで「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外すことでエラーを非表示にできる。

エラーが表示されないようにする(1) エラーが表示されないようにする(1)
「'001」などと入力すると、「数値が文字列として保存されています」というエラーが表示される。このエラーは無視してもよいので、エラー記号をクリックし、メニューの[エラーを無視する]を選択すればよい。
エラーが表示されないようにする(2) エラーが表示されないようにする(2)
全てのエラーが発生したセルで、前画面の操作を行うのは面倒なので、このエラー自体を表示しないようにすればよい。それには、[ファイル]−[オプション]とクリックして[Excelのオプション]ダイアログを開き、左ペインで[数式]を選択、右ペインで「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外せばよい。
エラーが表示されないようにする(3) エラーが表示されないようにする(3)
全てのエラーが消える。

セルの表示形式を[文字列]にする

 毎回、数値を入力の際に「'(アポストロフィー)」を付けるのが面倒な場合、セルの書式設定で明示的に「文字列」に指定するという方法もある。

 それには、入力する列や行を選択して、[ホーム]タブの[数値]グループにあるプルダウンメニューで[文字列]を選択するのが手っ取り早い。また、行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)と、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[文字列]を選択してもよい。

 これで、「001」と入力した場合、先頭の「00」は消えず、「001」と表示されるようになる。

セルの表示形式を[文字列]にする(1) セルの表示形式を[文字列]にする(1)
先頭に「0」がある数値を入力する列(または入力するセル範囲)を選択し、[ホーム]タブの[数値]グループにあるプルダウンメニューで[文字列]を選択する。
セルの表示形式を[文字列]にする(2) セルの表示形式を[文字列]にする(2)
選択したセルの表示形式が全て[文字列]になるため、「001」と入力した際の先頭の「00」が消えなくなる。

 なお、Wordなどで作成された表などから先頭に「0」を含む数値をコピーする場合、単純にコピーして、貼り付けると、先頭の「0」が消えてしまうので注意してほしい。この場合、貼り付ける際に右クリックメニューの[貼り付けオプション]で[貼り付け先の書式に合わせる]を選択して、貼り付けを行う必要がある。

セルの表示形式の[ユーザー定義]で「000」などとする

 既に数値を入力している場合、セルの表示形式で[文字列]に変更しても、入力した際の先頭の「0」は復活しない。このように既に入力済みの数値に対して、桁数を合わせるための先頭の「0」を表示したい場合、セルの表示形式の[ユーザー定義]を使う。

 それには、先頭の「0」を表示したい行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)。すると、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[ユーザー定義]を選択、「種類:」の入力ボックスに「000」などと、桁数分の「0」を入力する。「000」では3桁に合わせられ、「001」「010」といったように、入力済みの数値が表示されるようになる。

 他の表からコピーした結果、先頭の「0」が消えてしまった場合でも、桁数がそろっているのであれば、[ユーザー定義]を選択することで、先頭の「0」を復活できる。

セルの表示形式の[ユーザー定義]で「000」などとする(1) セルの表示形式の[ユーザー定義]で「000」などとする(1)
他のアプリケーションなどから表をコピーしたことで、先頭の「0」が消えてしまうことがある。
セルの表示形式の[ユーザー定義]で「000」などとする(2) セルの表示形式の[ユーザー定義]で「000」などとする(2)
先頭の「0」を表示したい列を選択し、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログを開く。[表示形式]タブを開き、[ユーザー定義]を選択、「種類:」欄の入力ボックスに「000」というように「0」を桁数の分だけ入力する。
セルの表示形式の[ユーザー定義]で「000」などとする(3) セルの表示形式の[ユーザー定義]で「000」などとする(3)
同様に「電話番号」列も[ユーザー定義]で「0000000000」として、先頭の「0」を表示させることができる。ただし、設定したセル範囲に桁数が異なる電話番号が混じっていると、そこだけ先頭に「0」が2つ以上表示されたり、逆に「0」が表示されなかったりする。表示形式を設定する際、そのセルに入力されている数値の桁数に合わせて「0」の数を増減する必要がある。

先頭の「0」が消えないようにCSVファイルを開く

 先頭の「0」が入力されたExcelの表をXLSXファイル形式で保存した場合、何も気にせずに開けば、先頭の「0」も表示された状態となる。しかし、CSV形式で保存した場合には注意が必要になる。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。