11/04/2025

Excel。数値を右詰で1セル1桁で表示するには【1 digit】

Excel。数値を右詰で1セル1桁で表示するには

<REPT+LEN関数とMID+SEQUENCE関数>

請求書や領収書などの金額を1セル1文字で入力されたものをつくりたい場合、どのようにしたら、手早く、1セル1文字で表示することができるのでしょうか。


次の表をご覧ください。

数値を右詰で1セル1桁で表示するには

A1の値をB3:I3の1つずつのセルに1桁ずつ表示したいのですが、どのようにしたら、効率よく表示することができるのでしょうか。


このような場合、SEQUENCE関数をつかうことで解決します。


なお、SEQUENCE関数とは、指定した範囲の連続した数値を自動的に生成する関数です。


SEQUENCE関数にMID関数を組み合わせすことで対応できます。


では、B3に次の数式を設定します。


=MID(A1,SEQUENCE(1,8),1)

1セルに1文字ずつ入力することができました。


数式を確認してみましょう。


MID関数は、指定した文字列の中から、任意の位置から指定した文字数分だけ文字を抽出する関数です。


最初の引数は、文字列なので、A1を設定します。


2つ目の引数は、開始位置です。

開始位置に、SEQUENCE関数をつかいます。

SEQUENCE関数はあとで説明します。


3つ目の引数は、文字数。

1文字ずつなので、1を設定します。


2つ目の引数につかっていた、SEQUENCE関数を見ていきましょう。


SEQUENCE関数の最初の引数は、行です。1行で表示したいので、1と設定します。


2つ目の引数は、列です。

今回は、最大8桁までの数値に対応することにしたので、8と設定しました。


SEQUENCE関数は、スピル対応の関数なので、自動的に数式を拡張してくれます。


MID+SEQUENCE関数で対応することができたのですが、よくみると、左詰になっています。


一番右側に「円」と表示させているので、できたら、右詰にしたい。


A1の値を修正したものがB1にあります。


B1の数式は、

=REPT(" ",8-LEN(A1))&A1

A1は6桁しかありませんでした、8桁にすれば解決できますが、0をつけて00123456としても、0は表示されません。


よって、0を先頭の前につけても8桁にすることはできません。

そこで、空白と合体させることで対応することができるようになります。


何文字分の空白を追加すればいいかを判断したいので、REPT関数をつかって、空白文字を繰り返します。


数値が何桁なのかは、LEN関数をついかいます。


あとは、先ほど設定した

=MID(A1,SEQUENCE(1,8),1)を

=MID(B1,SEQUENCE(1,8),1)

と修正して完成です。