Excel。様々な数値の右側に揃えたい桁数の「0(ゼロ)」をつけるにはどうしたらいい。
<REPT+LEN関数>
「1」を「001」のように、左側に0(ゼロ)をつけて、桁を揃えるなら表示形式で対応することが多いと思います。
しかし、次の表のように、「1」を「100」のように、右側に0(ゼロ)をつけて、桁を揃えるとしたら、どのようにしたらいいのでしょうか。
表示形式では、「1」と「82」というように桁数が違う場合に揃えることができません。
今回は、6桁で添える場合で考えていきます。
ポイントになるのは、数値の桁数がバラバラなので、どのようにしたら、必要な桁数の0(ゼロ)を数値の右側というか、後ろ側に表示することができるのでしょうか。
そこで、REPT関数をつかえば、0(ゼロ)を繰り返して表示することができます。
そして、LEN関数で、現在の桁数を算出させて、その値は、6から減算させれば、0(ゼロ)を何桁分追加すればいいのかが、わかります。
では、B2につぎの数式を設定し、オートフィルで数式をコピーします。
=(A2&REPT(0,6-LEN(A2)))*1
これで完成します。
この数式を確認しておきます。
最初の「A2&」で、A2の後ろに文字結合させるわけですね。
REPT関数の最初の引数は、繰り返す文字を設定しますので「0(ゼロ)」と設定します。
2つ目の引数が、繰り返す回数の引数です。
ここで、LEN関数をつかうことで、A2の桁数を算出することができますので、6桁で揃えたいので、6からLEN関数の算出結果を減算します。
これで、ほぼほぼ完成なのですが、この時点だと、文字数値型になっているので、計算には使うことができません。
文字数値型だと、B8のようなSUM関数など数式で使いたくても、文字型になってしまっているので、算出することができません。
そこで、数式の最後の「*1」を追加するというわけです。
「*1」を追加することで、数値型に戻るので、算出したい時などには、便利になります。
このように、数値の右側(後ろ側)に「0(ゼロ)」をつけて桁を揃えたい場合には、このような方法もあります。