Excelで電話番号や郵便番号を入力した際、先頭の「0(ゼロ)」が自動的に消えてしまい困った経験はありませんか。
たとえば「08012345678」と入力したはずなのに、「8012345678」と表示されてしまうケースです。
これは不具合ではなく、Excelが入力された値を「数値」と判断した場合、先頭の0を表示しないという仕様によるものです。
電話番号や管理コードのように「数値として計算しないデータ」では、この仕様が問題になります。
この記事では、Excelで先頭の0を正しく表示するための方法を、用途別に5つ紹介します。
自分の使い方に合った方法を選んでください。
先頭の0が消える理由
Excelは、数字だけで構成されたデータを自動的に「数値」として扱います。
数値には先頭の0という概念がないため、表示時に省略されてしまいます。
そのため対策の基本は、
・文字列として扱う
・表示形式で強制的に0を付ける
このどちらかになります。
方法① とにかく簡単に表示したい(アポストロフィ)
入力時に、数字の前にアポストロフィ(’)を付ける方法です。
例:’08012345678
Excelはこの入力を文字列として認識するため、先頭の0がそのまま表示されます。
この方法は最も手軽ですが、文字列扱いになるため計算には使用できません。
一番簡単な方法になります。
数字の『7』キーの上にあるアポストロフィ(’)は、Shift+7で入力できます。
「’(アポストロフィー)」を入力したら続けて0から数字を入力していきます。

Enterキーを押して確定させます。

先頭に「0」が表示されています。
方法② 複数セルに入力するなら(文字列形式に設定)
セル全体を文字列にする方法
あらかじめセルの表示形式を「文字列」に設定してから入力する方法です。
電話番号の一覧や名簿など、複数データを入力する場合に向いています。
設定後に入力した値は、すべて先頭の0を含めて表示されます。
ただしこの場合も、数値計算には使えません。
2-1.セルの書式設定から文字列を定義
先頭に「0」を入力したいセルを右クリックします。
メニューの下の方の「セルの書式設定」を選択します。

セルの書式設定ダイアログボックスが開きますので順番にクリックし選択していきます。
1.「表示形式」タブをクリック
2.「分類」から「文字列」をクリック
3.「OK」をクリック

「08012345678」と入力すると先頭の「0」が表示されています。

2-2.ホームタブの「数値」のプルダウンメニューから文字列を定義
先頭に「0」を入力したいセルを選択しアクティブにします。
1.ホームタブを選択します。
2.リボンから数値グループにある「数値の書式」のプルダウンメニューを開きます
2.「文字列」を選択

ホームタブの数値のリボンの「数値の書式」の窓に文字列と表示されます。
これで形式が文字列に変わりました。

「08012345678」と入力すると先頭の「0」が表示されています。

方法③ 文字として扱いたい場合(ユーザー定義「@」)
ユーザー定義で文字列として表示させる方法
セルの表示形式を「ユーザー定義」にし、「@」を指定すると、入力した内容をそのまま表示できます。
この方法も文字列扱いになるため、電話番号やコード管理向きです。
文字列は左寄せで表示されるため、数値との見分けがつきやすいのも特徴です。
ユーザー定義の種類から「@」を指定します。
入力したままの形で値を表示。
セル書式設定は、右クリックメニューやショートカット以外にもホームタブの数値のリボンのプルダウンメニューからも表示させることができます。

ユーザー定義の種類の下の窓から「@」を指定します。
入力したままの形で値を表示できます。

「08012345678」の携帯番号を入力します。
先頭に「0」が表示されています。

文字列は左寄せに表示されます。数字は右寄せになります。
方法④ 数値として扱いたい場合(ユーザー定義 0#####)
並び替えや数値処理をしたい場合は、この方法一択です。
数字として扱える「ユーザー定義」の方法の紹介です。
先頭の0を表示しつつ、数値として扱いたい場合はユーザー定義を使います。
例:携帯番号11桁なら
0##########
または
0000000000#
この方法では、指定した桁数分の0が先頭に補われ、数値として扱われます。
計算や並び替えが必要な場合に有効です。
ユーザー定義の種類に携帯番号11桁分「0##########」か「0000000000#」を指定します。
設定した桁以上の整数を入力すると先頭には0は表示されません。
セル書式設定は、右クリックメニューやショートカット以外にもホームタブの数値のリボンのプルダウンメニューからも表示させることができます。

ユーザー定義の種類の下の窓に表示形式を入力します。
ここでは11桁の携帯番号を表示したいので「0##########」や「0000000000#」になります。
11桁から「0」が表示され、0以外は入力数値が表示されます。

「0##########」先頭に「0」と10個の「#」か、「0000000000#」10個の「0」と最後に「#」を記入します。
OKを押します。

先頭に「0」が表示されます。
この方法は数字として扱われます。

数値の書式記号
入力するものの一例として「#」「0」「?」「,(カンマ)」「.(ピリオド)」があります。
「#」:1桁の数字を示します。「#」は数値「0」だけのデータを表示できません。
#の数分の桁数を指定されます。有効桁数しか表示されず、余分な0も表示されません。
「0」:1桁の数字を示し、指定したゼロの桁数だけ常にゼロが表示されます。
「?」:値がゼロのときにはスペースを空けます。
「,(カンマ)」:数値の桁を区切ります。
「.(ピリオド)」:小数点以下を表示します。
有効桁数を表示するというのは、小数部のことを指しています。
「#.##」と設定したセルに「123.456」と入力すると「123.46」と表示されます。(小数部が2桁に丸められます)
「#.000」と設定したセルに「123.45」と入力すると「123.450」と表示されます。(小数部の3桁に0が表示されます)


方法⑤ 別セルで表示だけ整えたい(TEXT関数)
元の数値を変更せず、表示だけ整えたい場合はTEXT関数を使います。
例:
=TEXT(A1,”00000000000″)
この方法では、元データを保持したまま、別セルで先頭0付き表示が可能です。
ただし結果は文字列になります。
テキスト関数は、セルの値の表示形式を自由に変えられます。
=TEXT(値,”表示形式”)
値 : 表示形式を変えたい値
表示形式 : 表示形式を指定
値に「8012345678」と入れて表示形式にユーザー定義と同じように10個の0と#を「”(ダブルクォーテーション)」で囲います。
表示の先頭に「0」が表示されます。


入力済みの値を参照して表示することもできます。
対象のセル番号を値に入力します。
文字列扱いになります。
文字列入力時に出るエラーマークについて
気がついたと思いますが、文字列形式のセルに数字だけを入力すると、セルの左上に緑の三角マークが表示されることがあります。
セルをアクティブにすると黄色の三角が出現します。
これはExcelが「数値ではなく文字列として入力されています」と知らせているだけです。
印刷や表示には影響しないため、問題がなければ無視して構いません。
気になる場合は「エラーを無視する」を選択すると非表示にできます。
文字列に数字だけ入れるとエラーマークが出る!
この左上に緑の三角マークは、エクセルが自動でエラーを教えてくれているのです。
この場合は「数字ではなく文字列になっている」と教えてくれています。
このマークは印刷もされませんので、このままでも問題はありません。
マークを消したい時の方法
セルをアクティブにすると黄色の三角形のマークが出てきます。
このマークをクリックするとプルダウンメニューが現れます。

このメニューの中から「エラーを無視する」を選択します。

するとエラーマークが消えました。
入力された数字は文字扱いになります。計算には使用できません。
まとめ|どの方法を選ぶべきか
・入力が少なく、手早く対応したい → 方法①
・名簿やCSVなど複数入力 → 方法②
・完全に文字データとして管理 → 方法③
・数値として扱いたい → 方法④
・元データを変えず表示だけ調整 → 方法⑤
Excelで先頭の0が消えるのは仕様です。
用途に合った方法を使い分けることで、電話番号やコード管理が格段に楽になります。


コメント