【Excel】エクセルでゼロ埋めする方法

Excel

excelで、「123」を「00123」のようにゼロ埋めする方法を2つ紹介します。

もしゼロ埋めしたい数値の桁数が一定であれば下の図のように「0」を追加したい数だけ結合して
=”0″&対象のセル
とすればOKです。

しかし桁数がばらばらだとそれに合わせて「0」の数を調整しないといけないので面倒です。

今回は桁数が異なる数値があっても、1つの式で完結できるようにゼロ埋めしてみましょう。
例として、下記のように桁数がばらばらの数値を、ゼロ埋めしてすべて5桁にします。

1つ目はTEXT関数を使った方法です。

TEXT関数は数値を指定のスタイルに変換する関数で、
TEXT(対象のセル, スタイル)
と書きます。

ゼロ埋めして5桁に揃えたいときには、TEXT(A1, “00000”)のように「0」を5回書けばOKです。

あとは下方向にコピーすれば、他の行もゼロ埋めできます。

次に紹介するのはREPT関数とLEN関数を使ったやり方です。

REPT関数は指定した文字を繰り返すための関数で、
REPT(文字,繰り返し回数)
と書きます。

これで「0」を足りない分だけ繰り返してみましょう。
文字列の長さを返すLEN関数と組み合わせて、
REPT(“0”,桁数-LEN(対象のセル))&対象のセル
と書けばOKです。

少し複雑ですが、
桁数-LEN(対象のセル)」の部分で足りない桁数を求める
→「REPT(“0”,桁数-LEN(対象のセル))」で「0」を足りない分だけ繰り返す
→「&対象のセル」でゼロと対象のセルを結合
という処理を行っています。

今回は5桁にしたいので、上記の桁数の部分に5を入力して
=REPT(“0”,5-LEN(A1))&A1 と入力すればOKです。

これも1行目のみに式を入力して後はコピーペーストで他の行もゼロ埋めできます。

今回紹介したTEXT関数でもREPT関数でも同じようにゼロ埋めできました。
今回見た例ではどちらも同じ結果になったので、どちらを使っても問題なさそうです。

でも実は違う結果になる場合があり、それは桁数が指定のものよりも大きい桁数の数値を処理したときです。

今回は5桁に揃えようとゼロ埋めしましたが、6桁の数字があるとき(上の図の6行目)、REPT関数ではエラーになっているのに対して、TEXT関数を使った場合は元の数字がそのまま表示されています。

そこで、指定の桁数があるときに、
エラーとして検出したいとき→REPT関数
そのままで問題ないとき→TEXT関数

を使うようにするのが良いかと思います。

状況に応じて使い分けていきましょう!

コメント

タイトルとURLをコピーしました