【Excel】エクセルで先頭の0が消える原因と対処法(入力しても消える・表示されない)
エクセルで先頭の0が消える場合に、「入力しても消えてしまう」「表示されないのはなぜ?」と困った経験はありませんか?
エクセルは数値として認識したデータの先頭の0を自動的に削除する仕様があるため、郵便番号や社員番号など先頭に0が必要なデータを扱う際には特別な設定が必要です。
この記事では【Excel】エクセルで先頭の0が消える原因と対処法(入力しても消える・表示されない)について解説していきます。
・書式設定を文字列にする・アポストロフィを使う・TEXT関数で対処する
・ユーザー定義書式で0を表示させる方法
それでは詳しく見ていきましょう。
先頭の0が消える原因
エクセルで先頭の0が消える最大の原因は、入力したデータがエクセルに「数値」として認識されることです。
エクセルは数字のみで構成されたデータを自動的に数値として扱うため、数値として意味のない先頭の0を削除してしまいます。
例えば「00123」と入力すると、エクセルは「123」という数値として解釈し、先頭の「00」が自動的に削除されます。

↓

郵便番号・電話番号・社員番号・学籍番号など、先頭に0が必要なデータを扱う場合はこの仕様が問題になります。
また一度消えた0を後から復元することはできないため、入力前に適切な設定を行っておくことが重要です。
対処法は大きく分けて「書式設定で文字列にする方法」「アポストロフィを使う方法」「ユーザー定義書式で桁数を固定する方法」の3つがあります。
先頭の0が消えないようにする方法1【書式設定を文字列にする】
最も確実な方法は、データを入力する前にセルの書式設定を「文字列」に変更しておくことです。
サンプルデータを確認しましょう。
データを入力する前に対象のセル範囲(A2:A6)を選択します。
「ホーム」タブの「数値」グループにある書式設定ドロップダウンで「文字列」を選択します。

書式を文字列に設定してからデータを入力すると、「00123」がそのまま「00123」として保存され、先頭の0が消えません。

すでにデータを入力済みのセルに対して後から書式を文字列に変更しても、消えた0は復元されません。
書式の変更は必ずデータ入力前に行う点が重要なポイントです。
文字列に設定した際の注意点
セルを文字列に設定するとそのセルの値は数値ではなく文字列として扱われるため、SUM関数などの数値計算には使えなくなります。
社員番号や郵便番号のように計算に使わないデータには文字列設定が適していますが、計算に使うデータには後述のユーザー定義書式を使う方法が適しています。
先頭の0が消えないようにする方法2【アポストロフィを使う】
書式設定を変更せずに先頭の0を保持する簡単な方法として、データの先頭にアポストロフィ(’)を付けて入力する方法があります。
例えばA2セルに「’00123」と入力するとセルには「00123」と表示され、先頭の0が保持されます。

アポストロフィはセルに表示されず、数式バーでのみ確認できます。

アポストロフィを付けて入力したデータは文字列として扱われるため、書式設定を文字列にした場合と同様に数値計算には使えません。
1件や2件など少量のデータに素早く0を保持させたい場合に便利な方法です。
先頭の0が消えないようにする方法3【ユーザー定義書式で桁数を固定する】
数値として計算しながら表示上は先頭の0を補って一定の桁数で表示したい場合は、ユーザー定義書式を使います。
対象セル範囲を選択してCtrl + 1キーで「セルの書式設定」ダイアログを開きます。
「表示形式」タブの「分類」から「ユーザー定義」を選択します。
「種類」入力欄に表示したい桁数分だけ「0」を入力します。
6桁で表示したい場合:000000

「OK」をクリックすると、数値が指定した桁数に満たない場合に先頭に0が自動的に補われて表示されます。
例えばセルの値が「123」で書式を「00000」に設定すると「00123」と表示されます。

この方法ではセルの実際の値は「123」のまま変わらないため、SUM関数などの数値計算も正常に行えます。
郵便番号の7桁表示や社員番号の5桁表示など、桁数を統一して表示したい場合に最適な方法です。
郵便番号形式で表示する方法
郵便番号のようにハイフンを含む形式で表示したい場合は、ユーザー定義書式に直接ハイフンを含めて記述します。
セルの値が「1234567」であれば、この書式を設定することで「123-4567」と自動的に表示されます。
実際の値はハイフンなしの数値のままのため、数値として扱いながら見た目だけを郵便番号形式に整えることができます。
先頭の0が消えないようにする方法4【TEXT関数で0を表示する】
TEXT関数を使うと、数値を指定した書式の文字列に変換して先頭に0を補った形で別のセルに表示できます。
TEXT関数の構文は以下の通りです。
C2セルに以下の数式を入力します。
A2セルの値が「123」の場合、TEXT関数によって「00123」という文字列が返されます。
C2セルをC6セルまでコピーすると、A列の全データが5桁に統一されてC列に表示されます。
TEXT関数の結果は文字列であるため、返された値を数値計算に使うことはできません。
表示用の列として使うか、値として貼り付けて管理する運用が適しています。
ユーザー定義書式との違いは、TEXT関数は別のセルに変換後の文字列を出力するのに対し、ユーザー定義書式は元のセルの表示形式を変えるという点です。
TEXT関数で電話番号形式に変換する方法
TEXT関数は郵便番号だけでなく電話番号形式への変換にも活用できます。
数値として保存されている電話番号を見やすいハイフン区切り形式に変換する場合にも便利です。
先頭の0が消えないようにする方法5【入力規則で入力時のミスを防ぐ】
先頭の0が消えてしまう問題を根本から防ぐには、入力規則を使って入力ルールを設定しておく方法も有効です。
対象セル範囲を選択し、「データ」タブの「データの入力規則」をクリックします。
「設定」タブの「入力値の種類」で「文字列(長さ指定)」を選択し、入力できる文字数の最小値・最大値を設定します。
合わせて「日本語入力」タブで「オフ(英語モード)」に設定しておくと、セルを選択した際に自動的にIMEがオフになるため、数字の直接入力がしやすくなります。
また「エラーメッセージ」タブで入力ミス時のメッセージを設定しておくと、誤ったデータが入力された際に注意を促すことができます。
入力規則はデータ管理の品質向上に役立つ機能であるため、先頭の0が必要なデータを扱う列にはあらかじめ設定しておくことをおすすめします。
まとめ エクセルで先頭の0を消さないでつける(桁数指定・0埋め)
エクセルで先頭の0が消える原因は、入力したデータが数値として認識されることで先頭の0が自動削除されるためです。
対処法は目的によって使い分けが必要で、計算に使わないデータには書式設定を文字列にする方法またはアポストロフィを付けて入力する方法が適しています。
数値として計算しながら表示上だけ0を補いたい場合はユーザー定義書式(00000など)が最適で、別のセルに0補完後の文字列を出力したい場合はTEXT関数を使います。
入力規則と書式設定を組み合わせることで、先頭の0が消えない入力環境をあらかじめ整えておくことも有効な予防策です。
書式設定の変更は必ずデータ入力前に行うことが重要で、入力後に書式を変更しても消えた0は復元されません。
データの用途に合わせた方法を選んで、先頭の0を正しく管理していきましょう。


コメント