Menu

Excelで先頭の0を表示する方法: 消さずに残す、0埋めする

Excelが先頭の0を消すのは、00742が数値の742だからです。00000のようなユーザー定義の表示形式、アポストロフィ('00742)、文字列の表示形式で残すか、=TEXT(A2,"00000")で付け足します。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

Excelが先頭の0を消すのは、00742を数値の742として読むからです。0を表示するには、セルにユーザー定義の表示形式00000を設定します。0の付いた文字列に変えるには=TEXT(A2,"00000")を使います。

5桁で表示する2つの方法
B2
ABC
1NumberTEXT(A2,"00000")Format 00000
27420074200742
3150001500015
4314153141531415
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2つの列は同じに見えますが、中身は違います。B列は文字列で、C列はまだ数値の742、15、31415のままで、5桁で表示しているだけです。コードの0はそれぞれ常に表示される桁なので、00000は「最低5桁」という意味です。

入力するときに先頭の0を残す

0で始まるコードを入力して残す方法は3つあります:

  • ユーザー定義の表示形式。 セルを選択してCtrl+1(MacではCmd+1)を押し、「ユーザー定義」を選んで「種類」に00000と入力します。セルは数値のままなので、SUMや並べ替えも使えます。郵便番号や社員番号のような桁数の決まった数値に使います。
  • アポストロフィ。 '00742と入力します。アポストロフィは表示されず、Excelに入力を文字列として保存するよう伝えます。
  • 文字列の表示形式。 セルを選択して ホーム > 数値の書式 > 文字列 を選んでから入力します。その後に入力したものはすべて、入力したとおりの文字列として保存されます。
アポストロフィ付きと、なしで入力
B2
ABC
1TypedLengthIs it text?
2007425TRUE
37423FALSE
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

A2は'00742と入力したので、5文字すべてが残っています。A3はアポストロフィなしで00742と入力したので数値の742になり、桁は3つです。量ではなくコードである値には文字列(アポストロフィか文字列の表示形式)を使います。電話番号、口座番号、部品コード、15桁より長いものなどです(Excelは数値の有効桁数を15桁までしか保持しないので、16桁のカード番号を数値として入力すると最後の桁が0になります)。

数式で先頭に0を付ける

TEXTは数値を決まった桁数まで0埋めします。すでに文字列の値や英字を含むかもしれない値には、前に0を付けてRIGHTで最後の文字を残します:

数値とコードを0埋めする
B2
ABC
1ValueTEXT(A2,"000000")RIGHT("000000"&A2,6)
242000042000042
31234001234001234
4A17A17000A17
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

TEXTには数値が必要なので、B4では文字列のA17がそのまま残ります。RIGHTの方法は、何にでも前に0を6つ付けて最後の6文字を残すので、どちらにも使えます。ただしRIGHTは、もともと6文字より長い値を切ってしまいます。=REPT("0",MAX(0,6-LEN(A2)))&A2は足りない分の0だけを付け、長い値はそのまま残します。

6桁の社員番号
B2
AB
1NumberEmployee ID
24217
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: 社員番号は6桁です。B2で、A2の番号を004217のように先頭に0を付けた文字列で返してください。

長いコードの中の0

0埋めした数値をコードや文の中に入れるときもTEXTを使います。数値をそのままつなぐと、ユーザー定義の表示形式でセルに0が表示されていても0は消えます:

注文コードを作る
B2
ABC
1OrderWith TEXTWithout TEXT
20007ORD-0007ORD-7
30315ORD-0315ORD-315
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。
請求書番号
B2
AB
1NumberInvoice
287
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: B2で、INV-の後にA2の番号を5桁に0埋めして付けた、INV-00087のような請求書コードを作ってください。

先頭の0を削除する、そしてCSVの落とし穴

先頭に0の付いた文字列を数値に戻すには=VALUE(A2)を使います(詳しくは文字列を数値に変換する)。00000の表示形式で表示している数値なら、表示形式を「標準」に戻します。

0が消える最もよくある原因は、CSVファイルを開くことです。Excelはファイルを開くときに00742を742に変え、そのまま保存すると742が書き込まれます。0を残すには:

  1. 空白のブックを開き、データ > テキストまたはCSVから でファイルを選びます。
  2. データの変換をクリックし、列を選択してデータ型を文字列にします。
  3. 閉じて読み込むをクリックします。

Microsoft 365では、ファイル > オプション > データ > 自動データ変換 に「先頭のゼロを削除して数値に変換する」という設定があります。これをオフにすると、入力するときもCSVファイルを開くときもExcelは0を残します。Googleスプレッドシートでは、コードを入力したり貼り付けたりする前に、列の表示形式を「書式なしテキスト」にします。

よくある質問

Excelで先頭の0が消えるのはなぜですか?

Excelは00742を数値の742として読み、数値には先頭の0がないからです。入力する前にセルの表示形式を文字列にするか、先頭にアポストロフィを付けて入力する('00742)か、数値のままユーザー定義の表示形式00000を設定します。

Excelの数式で先頭に0を付けるには?

=TEXT(A2,"00000")は数値を5桁に0埋めするので、742は00742になります。英字を含むかもしれない文字列には=RIGHT("00000"&A2,5)を使います。

CSVファイルを開くときに先頭の0を残すには?

CSVをダブルクリックで開かないでください。データ > テキストまたはCSVから を使い、「データの変換」をクリックして列のデータ型を文字列にしてから読み込みます。Microsoft 365では、ファイル > オプション > データ > 自動データ変換 で先頭の0を削除する設定をオフにすることもできます。

Excelで先頭の0を削除するには?

セルに'00742のような文字列が入っているなら、=VALUE(A2)が数値の742を返します。00000の表示形式を設定した数値なら、表示形式を「標準」に戻します。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める