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形式で保存した場合には注意が必要になる。

 CSVファイルを開くと先頭の「0」が消えてしまい、[ユーザー定義]を使って「0」を表示しなければならない。

CSVファイルを読み込むと自動的に先頭の「0」が消えてしまう CSVファイルを読み込むと自動的に先頭の「0」が消えてしまう
先ほどの先頭に「0」がある住所録をCSVファイルで保存し、改めてExcelで読み込むと、先頭の「0」が消えてしまう。

 ただ、「'(アポストロフィー)」を使って、先頭の「0」を入力していた場合、桁数が同じとは限らないので、セル内の数値を確認しながら再入力しなければならなくなる可能性もある。

 CSVファイルを見ると、「'(アポストロフィー)」やセルの表示形式で[文字列]や[ユーザー定義]を選択して先頭の「0」を表示した場合、いずれの場合もデータ上は「001」などとなっており、先頭の「0」は失われていない。CSVファイルをExcelで読み込む際に、自動的に数値と判別され、先頭の「0」が失われてしまっていることが分かる。

CSVファイルには「001」と先頭の「0」は保存されている(1) CSVファイルには「001」と先頭の「0」は保存されている(1)
上述の各方法で入力した「001」を並べた表を作成してみた。セルの表示形式が「数値」で「001」を入力したものだけ、表示が「1」となった。これをCSVファイル形式で保存した。
CSVファイルには「001」と先頭の「0」は保存されている(2) CSVファイルには「001」と先頭の「0」は保存されている(2)
保存したCSVファイルを「メモ帳」アプリで開くと、画面のようにセルの表示形式が「数値」で「001」を入力したもの以外は、データ上も「001」となっていることが分かる。

 そこで、CSVファイルを読み込む際に、先頭の「0」が失われないようにする方法を紹介しよう。

 まず、Excelの[ファイル]−[オプション]で[Excelのオプション]ダイアログを開き、左ペインで[データ]を選択、右ペインの「レガシデータインポートウィザードの表示」欄で「テキストから(レガシ)」にチェックを入れる。

 次に「空白のブック」を開き、[データ]タブの[データの取得と変換]グループになる[データの取得]をクリックし、メニューで[従来のウィザード]−[テキストから(レガシ)]を選択する。

 すると、[テキストファイルのインポート]ダイアログが開くので、CSVファイルを選択後、[インポート]ボタンをクリックする。[テキストファイルウィザード]が起動するので、「データのファイル形式を選択してください」で「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択、先頭行に見出し行がある場合は「先頭行をデータの見出しとして使用する」にチェックを入れ、[次へ]ボタンをクリックする。

 フィールドの区切り記号を選択する画面になるので、ここで「コンマ」のみにチェックを入れる。「データのプレビュー」欄でデータの区切りが縦線で表示されるので、これを確認して、[次へ]ボタンで次の画面に進める。

 区切ったあとの列のデータ形式を指定する画面になったら、「データのプレビュー」欄で先頭に「0」が入っている列を選択し、「列のデータ形式」欄で「文字列」に指定するなど、各列のセルの表示形式を選択していく。これで[完了]ボタンを押すと、[データの取り込み]ダイアログが表示されるので、「既存のワークシート」もしくは「新規のワークシート」を選択して、[OK]ボタンをクリックする。「既存のワークシート」を選択した場合は開いているワークシート上にデータが読み込まれ、「新規のワークシート」を選択した場合は新たしいワークシートが追加されてデータが読み込まれる。

 なお、「テキストから(レガシ)」を使わず、[データ]タブの[データ取得と変換]グループにある[テキストまたはCSVから]を選択して、Power Queryを使ってインポートすることでも、「0」から始まる数値を含むCSVファイルの読み込みが可能だ(Power Queryを使ったインポート方法は、Tech TIPS「【Excel】毎日集計のCSVファイルもクエリ機能で一発自動更新」参照のこと)。ただし、読み込んだデータは自動的に「テーブル」に設定されるので注意してほしい。

先頭の「0」が消えないようにCSVファイルを開く(1) 先頭の「0」が消えないようにCSVファイルを開く(1)
[Excelのオプション]ダイアログを開き、左ペインで[データ]を選択、右ペインで「テキストから(レガシ)」のチェックを外す。
先頭の「0」が消えないようにCSVファイルを開く(2) 先頭の「0」が消えないようにCSVファイルを開く(2)
空白のブックを開き、[データ]タブの[データの取得]−[従来のウィザード]−[テキストから(レガシ)]を選択する。
先頭の「0」が消えないようにCSVファイルを開く(3) 先頭の「0」が消えないようにCSVファイルを開く(3)
[テキストファイルのインポート]ダイアログが開くので、読み込みたいCSVファイルを選択する。
先頭の「0」が消えないようにCSVファイルを開く(4) 先頭の「0」が消えないようにCSVファイルを開く(4)
[テキストファイルウィザード]ウィザードが起動するので、「元のデータの形式」欄で「コンマやタブなどの区切り文字……」をチェックする。先頭行が見出しの場合は、「先頭行をデータの見出しとして使用する」にチェックを入れる。
先頭の「0」が消えないようにCSVファイルを開く(5) 先頭の「0」が消えないようにCSVファイルを開く(5)
区切り文字を選択する。複数選択することも可能。「データのプレビュー」欄で正しく列に分割できているか確認する。
先頭の「0」が消えないようにCSVファイルを開く(6) 先頭の「0」が消えないようにCSVファイルを開く(6)
先頭に「0」がある列を選択し、「列のデータ形式」欄で「文字列」を選択する。
先頭の「0」が消えないようにCSVファイルを開く(7) 先頭の「0」が消えないようにCSVファイルを開く(7)
[データの取り込み]ダイアログが開くので、ここでデータのインポート先を選択する。
先頭の「0」が消えないようにCSVファイルを開く(8) 先頭の「0」が消えないようにCSVファイルを開く(8)
CSVファイルに保存されているデータの通りにインポートされ、先頭に「0」がある値も正しく「001」のように読み込まれる。

 これで、先頭に「0」が入ったデータを含むCSVファイルをExcelで正しく読み込ませることができる。

Copyright© Digital Advantage Corp. All Rights Reserved.

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

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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