「セルの中にちょっとした棒グラフを表示したい」と思ったことはありませんか?
わざわざグラフを挿入するほどではないけれど、数値の大小を視覚的に見せたい。そんな場面ってありますよね。
スプレッドシートのREPT関数を使えば、文字列を指定した回数だけ繰り返せます。「|」や「█」を並べるだけで、セル内に簡易的な棒グラフが作れますよ。
この記事では、REPT関数の基本から実務で使える活用パターンまで紹介します。
REPT関数とは?スプレッドシートで文字列を繰り返す関数
REPT関数(読み方:レプト関数)は、指定した文字列を決まった回数だけ繰り返して表示する関数です。
名前は英語の「Repeat(リピート=繰り返す)」から来ています。
たとえば「★」を5回繰り返すと「★★★★★」が返ります。記号や文字を並べて可視化したり、区切り線を作ったりするときに便利です。
NOTE
REPT関数はExcelでも同じ書き方で使えます。Excel版の詳しい解説はExcelのREPT関数の使い方をご覧ください。
REPT関数の構文と引数
=REPT(文字列, 繰り返し回数)
カッコの中には「繰り返したい文字列」と「回数」を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 文字列 | 必須 | 繰り返したい文字列またはセル参照 |
| 繰り返し回数 | 必須 | 繰り返す回数(0以上の整数) |
引数は2つで、どちらも必須です。繰り返し回数に小数を指定すると、小数点以下は切り捨てられます。
たとえば =REPT("★", 3.7) は3回繰り返して「★★★」を返します。
TIP
繰り返し結果の合計文字数が32,767文字を超えると#VALUE!エラーになります。通常の使い方で上限に達することはまずありません。
REPT関数の基本的な使い方
実際にREPT関数を使ってみましょう。
セル参照で繰り返す
セルA1に「OK」と入っている場合、次のように書きます。
=REPT(A1, 3)
結果は「OKOKOK」です。A1の文字列がそのまま3回連結されます。
文字列を直接指定する
ダブルクォーテーションで囲めば、セルを使わずに直接指定もできます。
=REPT("★", 5)
結果は「★★★★★」です。記号や絵文字なども繰り返せます。
繰り返し回数が0の場合
繰り返し回数に0を指定すると、空文字(””)が返ります。
=REPT("★", 0)
結果はセルが空欄に見える状態です。エラーにはなりません。条件によって表示・非表示を切り替えたいときに使えるポイントです。
REPT関数の実務活用パターン
REPT関数の真価は、他の関数や工夫と組み合わせたときに発揮されます。実務で使える5つのパターンを紹介します。
パターン1:セル内に簡易棒グラフを作る
売上データの横にREPT関数で「█」を並べると、セル内に簡易的な棒グラフが作れます。
=REPT("█", B2/10)
B2が80なら「████████」のように8本のブロックが表示されます。10で割ることで、数値のスケールを調整しています。
このテクニックのポイントは3つです。
- スケール調整: 値が大きい場合は割り算で桁を縮小する
- 文字選び: 「█」(全角ブロック)を使うと棒が隙間なく揃う
- 色付け: セルのフォント色を変えれば、色付きの棒グラフになる
グラフを挿入するほどでもない場面に最適です。会議資料で「ざっくり傾向を見せたい」ときに重宝しますよ。
TIP
B2の値がマイナスになる可能性がある場合は、MAX関数で0以上に制限しましょう。
=REPT("█", MAX(B2/10, 0))と書けばエラーを防げます。
パターン2:評価を星で表示する
5段階評価を星マークで表示すると、視覚的にわかりやすくなります。
=REPT("★", C2) & REPT("☆", 5-C2)
C2が3なら「★★★☆☆」と表示されます。塗りつぶしの星と白抜きの星を組み合わせるのがコツです。
商品レビューやスキル評価の一覧表で使えるパターンです。
パターン3:区切り線を作る
セクション区切りとして、ハイフンやイコールを繰り返した線を作れます。
=REPT("-", 30)
結果は「——————————」です。帳票や印刷用レイアウトで、セル内に区切り線を引きたいときに使えます。
パターン4:LEN関数と組み合わせて固定長テキストを作る
文字列を一定の長さに揃えたいときは、LEN関数と組み合わせます。
=A2 & REPT(" ", 20-LEN(A2))
A2が「Excel」(5文字)なら、末尾に15個のスペースを付けて合計20文字にします。
固定長テキストの出力や、帳票の列幅を揃えるときに便利です。
左側をスペースで埋めたい(右揃え)ときは順番を入れ替えます。
=REPT(" ", 20-LEN(A2)) & A2
パターン5:進捗バーを作る
タスクの進捗率をバー表示する方法です。完了部分と未完了部分を色分けして見せられます。
=REPT("█", D2/10) & REPT("░", 10-D2/10)
D2が70(%)なら「███████░░░」のように表示されます。
プロジェクト管理のシートで進捗を一覧したいときに便利です。MAX関数とMIN関数で0〜100に制限すると、より安全に使えます。
=REPT("█", MIN(D2,100)/10) & REPT("░", 10-MIN(D2,100)/10)
REPT関数のよくあるエラーと対処法
REPT関数はシンプルな関数ですが、いくつか注意点があります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 繰り返し結果が32,767文字を超えた | 繰り返し回数を減らすか、文字列を短くする |
| #VALUE! | 繰り返し回数に負の数を指定した | 0以上の数値を指定する。MAX関数で MAX(値, 0) とすると安全 |
| セルが空白 | 繰り返し回数が0 | 正常な動作です。0回繰り返しは空文字を返します |
| #NAME? | 関数名のスペルミス | 「REPT」のスペルを確認。「REPEAT」や「REPET」になっていないかチェック |
| 数値がそのまま繰り返される | 数値を文字列引数に渡した | 正常な動作です。数値もそのまま繰り返されます |
最もよくある問題は、計算結果がマイナスになって#VALUE!エラーが出るケースです。
たとえば =REPT("█", B2-A2) で、B2がA2より小さいとマイナスになります。MAX関数で0以上に制限しましょう。
=REPT("█", MAX(B2-A2, 0))
REPT関数と似た関数との違い・使い分け
REPT関数と混同しやすい関数を比較してみましょう。
| 関数 | 動作 | 使用例 | 主な用途 |
|---|---|---|---|
| REPT | 文字列を指定回数繰り返す | =REPT("★",3) → ★★★ | 簡易グラフ・区切り線 |
| CONCATENATE | 複数の文字列を結合 | =CONCATENATE(A1,B1) | セル同士の結合 |
| JOIN | 区切り文字で配列を結合 | =JOIN(",",A1:A5) | カンマ区切りの生成 |
| &演算子 | 文字列の結合 | =A1&B1 | シンプルな結合 |
使い分けのポイントは以下の通りです。
- 同じ文字列を何度も繰り返したい → REPT関数
- 異なる文字列をつなげたい → CONCATENATE関数・&演算子
- 配列を区切り文字付きで結合したい → JOIN関数
スプレッドシートの文字列関数
REPT関数は「文字列の生成・加工」に分類されます。他の文字列関数と合わせて覚えると、テキスト処理の幅が広がりますよ。
| 関数 | 機能 | 記事リンク |
|---|---|---|
| REPT | 文字列を繰り返す | この記事 |
| LEN | 文字数をカウント | LEN関数の使い方 |
| TRIM | 余分なスペースを削除 | TRIM関数の使い方 |
| CLEAN | 制御文字を除去 | CLEAN関数の使い方 |
| EXACT | 文字列を完全一致で比較 | EXACT関数の使い方 |
| CHAR | 文字コードから文字を返す | CHAR関数の使い方 |
まとめ
この記事では、スプレッドシートのREPT関数について解説しました。
| 項目 | 内容 |
|---|---|
| 機能 | 文字列を指定回数繰り返す |
| 構文 | =REPT(文字列, 繰り返し回数) |
| 回数が0 | 空文字を返す |
| 回数がマイナス | #VALUE!エラー |
| 文字数上限 | 32,767文字 |
REPT関数の活用ポイントをまとめます。
- 「█」や「|」を繰り返してセル内に簡易棒グラフが作れる
- 「★」と「☆」を組み合わせて星評価を表示できる
- LEN関数と組み合わせれば固定長テキストにも使える
- マイナスになる可能性がある場合はMAX関数で0以上に制限するのが安全
地味な関数ですが、データの可視化やテキスト整形で意外と活躍します。ぜひ使ってみてください。
