エクセルで、同じ文字を決まった回数だけくり返すには REPT関数を使います。「★」を3回なら、=REPT(A3,B3) で ★★★ になります。
回数にセルの数値を使えるので、評価の星や簡単な棒グラフをセルの中に作れます。この記事では、REPT関数の基本、星の評価、数値の大きさの棒表示、0埋め、0や小数を指定したときの動きまでを、1つの表で説明します。下の練習ツールで、回数を書き換えて結果の変わり方を試せます。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
REPT関数の書き方
| 引数 | 入れるもの | ポイント |
|---|---|---|
| 文字列 | くり返す文字(セルか「”」で囲んだ文字) | 2文字以上でもOK。 |
| 繰り返し回数 | 何回くり返すか | 0 なら空になり、小数は切り捨てられます。 |
REPT関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 文字をくり返す | =REPT(A3,B3) | ★★★ |
| 2文字以上をくり返す | =REPT(A4,B4) | ababab |
| 区切り線 | =REPT(A5,B5) | ———- |
| 5段階の星 | =REPT(“★”,B6)&REPT(“☆”,5-B6) | ★★★★☆ |
| 棒グラフのように表示 | =REPT(“|”,B7/10) | |||||||||||| |
| 0埋め | =REPT(“0”,B8-LEN(A8))&A8 | 00007 |

文字をくり返す
結果は ★★★ です。「ab」を3回なら ababab、「-」を10回なら区切り線になります。
▶ この式(D3)を、上の練習ツールで試す / この式(D4)を、上の練習ツールで試す / この式(D5)を、上の練習ツールで試す
評価を5段階の星で表示する
評価 4 なら、黒い星4つと白い星1つで ★★★★☆ です。& で2つの REPT関数をつなげています。
数値の大きさを棒で表示する
売上 120 を 10 で割った12本の棒 |||||||||||| になります。いくつかの行に並べると、セルの中で簡単な棒グラフのように比べられます。本格的なグラフにしたいときは条件付き書式の「データバー」も便利です。
前に0を付けて桁をそろえる
=REPT("0",B8-LEN(A8))&A8
「7」を5桁にするので、足りない4つの0を付けて 00007 です。TEXT関数で =TEXT(A8,"00000") としても同じです(桁数を数える・揃える方法)。
0回・小数を指定したとき
回数が 0 なら何も表示されません(=REPT(A9,B9) の結果は空)。2.9 のような小数は切り捨てられ、=REPT(A10,B10) は ★★ になりました。マイナスを指定すると #VALUE! エラーになります。
▶ この式(D9)を、上の練習ツールで試す / この式(D10)を、上の練習ツールで試す
REPT関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#VALUE!」になる | 回数がマイナス、または32,767文字を超える | MAX(回数,0) で 0 未満にしない。回数を減らす。 |
| 棒が長すぎる | 数値をそのまま回数にしている | 10 や 100 で割ってから使う。 |
| 星の数がずれる | 小数は切り捨てになる | ROUND関数で四捨五入してから使う。 |
| 棒の長さがそろわない | 文字の幅がフォントで違う | 「|」など幅の細い文字や等幅フォントを使う。 |
REPT関数のよくある質問
★の数を数えるには?
=LEN(D3) で文字数を数えると、★の数が分かります(LEN関数の使い方)。
星をセルの中で色付けしたい
フォントの色を変えるか、条件付き書式のアイコンセットを使います。
あわせて読みたい:文字列の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
