Excelで、電話番号や会員番号など、「0」から始まる数を入力することも多いのではないだろうか。しかし、Excelで単純に「03」などと入力すると、勝手に「3」となり、先頭の「0」が消えてしまう。そこで、この「0」を入力する方法を紹介する。また、「03」などの先頭に「0」が付いたデータを含むCSVファイルを正しく読み込む方法についても解説しよう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Excel 2016/2019/2021/365
「Microsoft Excel(エクセル)」で、電話番号や会員番号など、「0」から始まる数を入力することも多いだろう。また、「001」「002」「003」「004」といったように「ゼロ埋め」で連番の桁をそろえたいことも結構あると思う。
ところが、Excelで「001」のように入力しても、「1」としか表示されず先頭の「00」が消えてしまう。これは、Excelが数値や日付、文字列など自動的に判断し、それに合わせたセルの表示形式を適用してしまうためだ。「001」と入力すると、自動的に数値と判断され、「00」が非表示となってしまうわけだ。
同様に電話番号も、「-(ハイフン)」などで区切らず、「0312345678」としてしまうと、やはり先頭の「0」が消えてしまう。
このように先頭に「0」が入った数値を、Excelで表示する方法をいくつか紹介しよう。
Excelで「0」から始まる数値を入力するのであれば、その際に先頭に「'(アポストロフィー)」を付けて「'001」のようにすればよい。
ただし、[Excelのオプション]ダイアログの[数式]画面の「エラーチェックルール」欄で「文字列形式の数値、またはアポストロフィーで始まる数値」にチェックが入っている場合、セルにエラーの警告が表示される。このエラーは無視してもよいので、セルのエラーをクリックし、[エラーを無視する]を選択すればよい。
または、Excelのオプション]ダイアログで「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外すことでエラーを非表示にできる。
毎回、数値を入力の際に「'(アポストロフィー)」を付けるのが面倒な場合、セルの書式設定で明示的に「文字列」に指定するという方法もある。
それには、入力する列や行を選択して、[ホーム]タブの[数値]グループにあるプルダウンメニューで[文字列]を選択するのが手っ取り早い。また、行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)と、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[文字列]を選択してもよい。
これで、「001」と入力した場合、先頭の「00」は消えず、「001」と表示されるようになる。
なお、Wordなどで作成された表などから先頭に「0」を含む数値をコピーする場合、単純にコピーして、貼り付けると、先頭の「0」が消えてしまうので注意してほしい。この場合、貼り付ける際に右クリックメニューの[貼り付けオプション]で[貼り付け先の書式に合わせる]を選択して、貼り付けを行う必要がある。
既に数値を入力している場合、セルの表示形式で[文字列]に変更しても、入力した際の先頭の「0」は復活しない。このように既に入力済みの数値に対して、桁数を合わせるための先頭の「0」を表示したい場合、セルの表示形式の[ユーザー定義]を使う。
それには、先頭の「0」を表示したい行や列を選択してから、右クリックメニューで[セルの書式設定]を選択する(もしくは、[Ctrl]+[1]キーを押す)。すると、[セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類:」欄で[ユーザー定義]を選択、「種類:」の入力ボックスに「000」などと、桁数分の「0」を入力する。「000」では3桁に合わせられ、「001」「010」といったように、入力済みの数値が表示されるようになる。
他の表からコピーした結果、先頭の「0」が消えてしまった場合でも、桁数がそろっているのであれば、[ユーザー定義]を選択することで、先頭の「0」を復活できる。
先頭の「0」が入力されたExcelの表をXLSXファイル形式で保存した場合、何も気にせずに開けば、先頭の「0」も表示された状態となる。しかし、CSV形式で保存した場合には注意が必要になる。
CSVファイルを開くと先頭の「0」が消えてしまい、[ユーザー定義]を使って「0」を表示しなければならない。
ただ、「'(アポストロフィー)」を使って、先頭の「0」を入力していた場合、桁数が同じとは限らないので、セル内の数値を確認しながら再入力しなければならなくなる可能性もある。
CSVファイルを見ると、「'(アポストロフィー)」やセルの表示形式で[文字列]や[ユーザー定義]を選択して先頭の「0」を表示した場合、いずれの場合もデータ上は「001」などとなっており、先頭の「0」は失われていない。CSVファイルをExcelで読み込む際に、自動的に数値と判別され、先頭の「0」が失われてしまっていることが分かる。
そこで、CSVファイルを読み込む際に、先頭の「0」が失われないようにする方法を紹介しよう。
まず、Excelの[ファイル]−[オプション]で[Excelのオプション]ダイアログを開き、左ペインで[データ]を選択、右ペインの「レガシデータインポートウィザードの表示」欄で「テキストから(レガシ)」にチェックを入れる。
次に「空白のブック」を開き、[データ]タブの[データの取得と変換]グループになる[データの取得]をクリックし、メニューで[従来のウィザード]−[テキストから(レガシ)]を選択する。
すると、[テキストファイルのインポート]ダイアログが開くので、CSVファイルを選択後、[インポート]ボタンをクリックする。[テキストファイルウィザード]が起動するので、「データのファイル形式を選択してください」で「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択、先頭行に見出し行がある場合は「先頭行をデータの見出しとして使用する」にチェックを入れ、[次へ]ボタンをクリックする。
フィールドの区切り記号を選択する画面になるので、ここで「コンマ」のみにチェックを入れる。「データのプレビュー」欄でデータの区切りが縦線で表示されるので、これを確認して、[次へ]ボタンで次の画面に進める。
区切ったあとの列のデータ形式を指定する画面になったら、「データのプレビュー」欄で先頭に「0」が入っている列を選択し、「列のデータ形式」欄で「文字列」に指定するなど、各列のセルの表示形式を選択していく。これで[完了]ボタンを押すと、[データの取り込み]ダイアログが表示されるので、「既存のワークシート」もしくは「新規のワークシート」を選択して、[OK]ボタンをクリックする。「既存のワークシート」を選択した場合は開いているワークシート上にデータが読み込まれ、「新規のワークシート」を選択した場合は新たしいワークシートが追加されてデータが読み込まれる。
なお、「テキストから(レガシ)」を使わず、[データ]タブの[データ取得と変換]グループにある[テキストまたはCSVから]を選択して、Power Queryを使ってインポートすることでも、「0」から始まる数値を含むCSVファイルの読み込みが可能だ(Power Queryを使ったインポート方法は、Tech TIPS「【Excel】毎日集計のCSVファイルもクエリ機能で一発自動更新」参照のこと)。ただし、読み込んだデータは自動的に「テーブル」に設定されるので注意してほしい。
これで、先頭に「0」が入ったデータを含むCSVファイルをExcelで正しく読み込ませることができる。
Copyright© Digital Advantage Corp. All Rights Reserved.