Excelで先頭の「0」を消さない方法5選!「0」が消えてしまう対処法も!

Excelで先頭の「0」を消さない方法5選!「0」が消えてしまう対処法も!
Excelで商品コードや社員コードの先頭の「0」が消えて困ったことはないでしょうか。

けど、そんな中で悩むことは、

・「0123」と入力したのに「123」と表示されてしまう
・先頭の0をどうやって残せばいいかわからない
・消えてしまった0を元に戻す方法がわからない

ですよね。

今回はそんなお悩みを解決する

・Excelで先頭の「0」を消さない方法5選(文字列入力・ユーザー定義書式・TEXT関数など)

についてまとめます!

完成イメージ

商品コードや社員コードのように先頭に0が付くコードは、そのまま入力すると数値とみなされ、0が消えてしまいます。
今回は
・先頭の0を消さずに表示・管理する方法5選
をゴールにします。

こちらが完成形です。数値として入力したコードでも、書式やTEXT関数を使えば先頭の0を残したまま管理できます。
完成イメージ

また、すでに入力してしまって0が消えたデータを復元する方法や、
CSVを開くたびに化けるときの対処法(トラブルシュート)もあわせてご紹介します。

STEP1. 元データを確認する

まずは商品コードの一覧を用意します。
A列には、うっかり「0123」と入力してしまったコードが並んでいます。
このように先頭に0が付く数字は、Excelが数値と判断して0を消してしまうんですね。
C列〜E列には、0を残すための方法をそれぞれ用意しました。
商品コードの一覧

方法① 文字列として入力する(’アポストロフィ)

もっとも手軽なのが、コードの先頭に‘(アポストロフィ)を付けて入力する方法です。
たとえば ‘0123 と入力すると、表示は 0123 のまま、中身は文字列として保存されます。
アポストロフィ自体は画面に表示されないので、見た目もすっきりします。
1件だけ手入力するときに向いている方法で、カンタンですね。
文字列として入力した列

方法② セルの書式を「文字列」にしてから入力する

入力する前に、セルの書式を文字列に変えておく方法です。
セルを選んで Ctrl+1 で「セルの書式設定」を開き、「表示形式」タブで文字列を選びます。
あとは普通に「0123」と入力するだけで、0が残ります。
複数セルをまとめて文字列にしておけるので、これから入力するデータに便利です。
ショートカットの Ctrl+1 を覚えておくと操作が速くなります。
セルの書式を文字列に設定

方法③ ユーザー定義書式で桁数を固定する(00000)

数値のまま表示だけを整えたいときは、ユーザー定義書式がおすすめです。
セルを選んで Ctrl+1 →「表示形式」タブ →ユーザー定義を選び、種類に 00000 と入力します。
これで数値の 123 が 00123 と表示されるようになりました。
中身は数値のままなので、並べ替えや計算にもそのまま使えます。
ユーザー定義書式00000

方法④ TEXT関数で変換する

別のセルに0付きの文字列を作りたいときは、TEXT関数を使います。
E2セルに =TEXT(A2,”00000″) と入力します。
数値の 123 が、文字列の 00123 に変換されました。
元のデータを残したまま0付きのコードを作れるので、コードを別列で管理したいときに向いています。
実際の入力画面がこちらです。
TEXT関数の入力画面

変換結果を確認する

E列に、0付きのコードが文字列として並びました。
元のA列はそのまま残っているので、必要に応じて使い分けられます。
TEXT関数の変換結果

方法⑤ CSV・テキストの取り込み時に列の書式を指定する

CSVファイルを読み込むときも、0が消えることがあります。
「データ」タブ →「テキストまたはCSVから」で取り込むと、列の書式を文字列に指定できます。
取り込みプレビュー画面で該当の列を選び、書式を文字列にすれば、先頭の0が残ったまま取り込めます。
ダブルクリックでCSVを開くだけだと0が消えてしまうので、取り込み機能を使うのがポイントです。
CSV取り込み時の列書式指定

5つの方法の比較

それぞれの方法の特徴を表にまとめました。

方法 向いている場面 注意点
①文字列として入力(’) 1件だけ手入力するとき 数値として計算できない
②書式を文字列にして入力 これから複数入力するとき 入力済みのセルには効かない
③ユーザー定義書式(00000) 数値のまま桁を揃えたいとき 中身は数値のまま
④TEXT関数 別列に0付きコードを作るとき 結果は文字列になる
⑤CSV取り込み時に指定 CSVを0付きで読み込むとき 毎回取り込み設定が必要
POINT

「表示だけ0を付けたい」ならユーザー定義書式、
「文字列として0を保ちたい」なら文字列入力かTEXT関数がおすすめです。
用途で使い分けると迷いません。

VBAで既存の数値コードを一括で0付き文字列にする

すでに入力済みのコードがたくさんあるときは、VBAで一括変換するとラクです。

Sub ZeroPad()
    Dim r As Long
    For r = 2 To 9
        If IsNumeric(Cells(r, 1).Value) Then
            Cells(r, 5).Value = Format(Cells(r, 1).Value, "00000")
        End If
    Next r
End Sub

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
既に入力した0が消えて戻せない 数値として保存されている ユーザー定義書式 00000 を当てる/=TEXT(A2,”00000″) で作り直す
全角と半角が混在している 「0123」と全角で入力されている =ASC() で半角に変換してから書式を整える
文字列にしたら計算できない 文字列は数値として扱われない =VALUE(文字列) で数値に戻す
CSVを開くたびに0が消える ダブルクリックで開いている 「データ」→「テキストまたはCSVから」で列書式を文字列に指定する

タカヒロ

タカヒロ
表示だけなら書式、値そのものを文字列にしたいならTEXT関数です。
まずは「数値として使うか、コードとして使うか」で選ぶと迷いにくいですよ。

関数の説明

今回使う2つの関数の概要です。
どちらも文字列と数値の変換でよく使う関数なので、違いを押さえておきましょう。

TEXT関数(テキスト)

書式 =TEXT(値, 表示形式)
できること 数値を、指定した表示形式の文字列に変換します。
戻り値 文字列
こんなときに 数値のコードに先頭の0を付けて、文字列として別セルに作りたいとき。
注意 結果は文字列なので、そのままでは計算に使えません。
=TEXT(A2, "00000")

VALUE関数(バリュー)

書式 =VALUE(文字列)
できること 文字列を数値に変換します。
戻り値 数値
こんなときに 文字列になったコードを、計算に使いたいとき。
注意 変換できない文字が含まれると #VALUE! エラーになります。
=VALUE("123")

完成

5つの方法で、先頭の0を残したままコードを管理できるようになりました。
数値として入力しても、書式やTEXT関数を使えば表示は 00123 のままです。
思ったとおりに動きましたか?
用途に合わせて方法を選べば、コード管理がぐっとラクになります。
完成した表

さいごに

いかがでしょうか。

今回は、

・Excelで先頭の「0」を消さない方法5選(文字列入力・ユーザー定義書式・TEXT関数など)

についてまとめました。

まずは今回のサンプル表で、ぜひ一度試してみてください。
「表示だけ0を付けたいのか」「文字列として0を保ちたいのか」で選べば迷いません。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image