Excel関数 逆引き集 | 空白埋め → REPT

Excel
スポンサーリンク

概要

「文字数がバラバラだけど、一覧を“きれいな横並び”に見せたい」
「短い文字の右側をスペースで埋めて、表の見た目をそろえたい」

そんなときに使えるのが REPT(文字のくり返し)+LEN(文字数) の組み合わせです。
REPT は「指定した文字を、指定回数だけくり返す」関数なので、“必要なぶんだけ空白を量産してくっつける” ことができます。

ここでは、「合計文字数をそろえる → 足りない文字数ぶんスペースを REPT で作る → 右側や左側にくっつける」という流れで解説します。


REPT の基本と空白埋めの考え方

REPT 関数の基本形は次のとおりです。

=REPT(文字列, 回数)

指定した文字列を、指定回数だけくり返した文字列を返します。

例:

=REPT(" ", 5)

→ 半角スペース 5 個分の文字列(「 」)

=REPT("☆", 3)

→ 「☆☆☆」

この「スペースを必要な回数だけくり返す」という性質を使って、
「足りない文字数ぶんだけスペースを作って埋める」のが空白埋めの基本アイデアです。


右側に空白を足して“左詰め+空白埋め”にする

合計文字数を決めて右側をスペースで埋める

例えば、商品名を「合計 10 文字ぶんの幅」でそろえたい、というケースを考えます。

A2 に「りんご」、A3 に「バナナジュース」など、文字数の違う名前が入っているとします。
これを「左に文字・右側にスペース」で 10 文字幅にそろえたい場合、次のようにします。

=A2 & REPT(" ", 10-LEN(A2))

考え方はこうです。

  • LEN(A2) … A2 の文字数を求める
  • 10 - LEN(A2) … 「10 文字にするために、あと何文字足りないか」
  • REPT(" ", 10-LEN(A2)) … 足りないぶんだけスペースを作る
  • A2 & (スペース) … 右側にスペースをくっつける

こうすると、
「りんご+スペース×(10−3)」
「バナナジュース+スペース×(10−6)」
のように、見た目の幅がそろった“左詰め文字列”が作れます。


左側に空白を足して“右詰め+空白埋め”にする

左をスペースで埋めて右側をそろえる

今度は逆に、「右端で文字をそろえたい」場合です。
例えば、数字や短いコードを、右側を揃えて表示したいとき。

A2 に「7」や「123」などが入っているとして、
これを「10 文字幅の中で右詰め」にしたい場合は、スペースを左側に付けます。

=REPT(" ", 10-LEN(A2)) & A2

動きはさきほどと同じで、

  • 10 文字にするために足りない文字数を計算
  • そのぶんだけスペースを REPT で作る
  • 今度は「スペース & A2」で左側に足す

これで、見た目としては右寄せされたような文字列になります。
(実際のセルの「配置」は標準のままでも、文字列としての形が右詰めっぽく整います)


任意の“幅”をセルから指定して空白埋めをする

「どのくらいの幅にそろえるか」を別セルで管理したい場合、
目標の文字数をセル参照に置き換えるだけです。

B1 に「幅」として 12 を入れておき、
A2 の文字列をその 12 文字幅に右詰めしたいとします。

=REPT(" ", $B$1-LEN(A2)) & A2

これで、B1 の値を 10 → 12 → 15 と変えれば、
同じ式のまま「埋めるスペース数」が自動的に変わります。

幅を動的に変えたいときや、表の仕様を途中で変える可能性があるときに便利なパターンです。


空白埋め+他の文字の組み合わせ(余白+罫線っぽく)

空白だけでなく、最後に記号を足すと、ちょっとした“見出し風”にもできます。

例えば、A2 に見出し文字(「売上」など)が入り、
全体を 10 文字幅にして、右端に「|」を付けたい、とします。

=A2 & REPT(" ", 9-LEN(A2)) & "|"

ここでは、

  • 左から A2(見出し)
  • 右端の一本線「|」の手前までを 9 文字と決める
  • 足りないぶんだけスペースを足す
  • 最後に「|」を足す

という配置にしています。

「文字+空白埋め+記号」の流れを覚えておくと、簡易的な罫線やボックスのような見せ方がしやすくなります。


問題1

A2 に「りんご」という文字列が入っています(3文字とします)。
これを「合計 10 文字幅」にそろえ、右側をスペースで埋めて左詰めしたいです。
REPT と LEN を使った式を書いてください。

=A2 & REPT(" ",10-LEN(A2))

問題2

A2 に「123」という文字列が入っています。
これを「合計 8 文字幅」にそろえ、左側をスペースで埋めて右詰め表示(文字列として)にしたいです。
REPT と LEN を使った式を書いてください。

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

問題3

A2 に任意の文字列、B1 に「幅」として 12 が入っています。
A2 の内容を、B1 で指定した文字数ぶんの幅で右詰めになるよう、左側をスペースで埋めたいです。
B1 を参照する式を書いてください。

=REPT(" ",$B$1-LEN(A2)) & A2

問題4

A2 に見出し文字(例:「売上」)が入っています。
これを左側に配置し、スペースで埋めて「10 文字目」に縦棒「|」が来るようにしたいです。
つまり「売上+空白+|」で合計 10 文字にしたいときの式を書いてください。
(REPT・LEN を使ってください)

=A2 & REPT(" ",9-LEN(A2)) & "|"

問題5

A2 にコード(例:「A9」「X123」など文字数はばらばら)が入っています。
これを「右側をそろえる」目的で、合計 6 文字幅に右詰めしたいです。
左側をスペースで埋める式を書いてください。

=REPT(" ",6-LEN(A2)) & A2

空白埋めの“型”は、たったこれだけです。

=文字列 & REPT(" ", 目標幅 - LEN(文字列))         ' 右側を埋める(左詰め)
=REPT(" ", 目標幅 - LEN(文字列)) & 文字列         ' 左側を埋める(右詰め)

REPT で「足りないぶんだけスペースを量産してくっつける」という感覚さえつかめば、
幅そろえ・簡易レイアウト調整・見出しの整形などが一気にやりやすくなります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました