11/13/2023

Excel。数値を一桁ごとセルにわけて表示して、桁の不足分はゼロで補いたい【character per cell】

Excel。数値を一桁ごとセルにわけて表示して、桁の不足分はゼロで補いたい

<MID+TEXT+SEQUENCE+LEN関数>

銀行の入出金用紙などで、口座番号を一桁ずつ右から埋めていくわけですね。


次の表のように、Excelで手早くやるにはどうしたらいいのでしょうか。

数値を一桁ごとセルにわけて表示

例えば、5桁として、それに満たない場合には、「0(ゼロ)」をいれるようにもしたいわけです。


これを、SEQUENCE関数を中心とした、一つの数式で、手早く処理することができます。


C2には、

=MID(TEXT(A2,"00000"),SEQUENCE(1,LEN(TEXT(A2,"00000"))),1)

という数式を設定します。


あとは、オートフィルで数式をコピーします。


MID+SEQUENCE+LEN関数の組み合わせで、1つのセルに1文字ずつわりふることができます。


=MID(A2,SEQUENCE(1,LEN(A2)),1)


とすれば、文字列の場合ならば、対応できるのですが、数値だと、次のように、左側から割り振ってしまいます。


そのため、表示形式のTEXT関数をつかって対応する必要があるというわけです。


数式を確認しておきましょう。

最初のMID関数は、指定の位置から文字列を抽出することができる関数です。


最初の引数が「文字列」なので、A2を設定します。

ただ、桁が足らない場合、「0(ゼロ)」を表示したいので、TEXT関数をつかって、5桁にするようにします。


なので、最初の引数は、「TEXT(A2,"00000")」と設定します。


2つ目の引数が「開始位置」です。

ここに、SEQUENCE関数をつかいます。

SEQUENCE関数の説明は後にしまして、MID関数の3つ目の引数は「文字数」です。何文字抽出するかということなので1文字ずつなので「1」と設定します。


さて、SEQUENCE関数の説明ですが、

SEQUENCE関数の最初の引数は、「行」です。複数行にまたがることはありませんので「1」と設定します。


2つ目の引数は、「列」です。何列必要なのかという、列数を設定することで、スピル機能によって、自動的に2文字目3文字目と表示してくれます。


そこで、LEN関数をつかって、文字数=列数を設定することができますので、LEN(TEXT(A2,"00000"))とします。


あとの引数は省略できますので、省略。


これで、数値の場合対応することができるというわけです。