<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>REPT関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/rept%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 21 May 2026 11:42:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>REPT関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのREPT関数の使い方｜文字列を繰り返して簡易グラフも作れる</title>
		<link>https://mashukabu.com/spreadsheet-rept-function/</link>
					<comments>https://mashukabu.com/spreadsheet-rept-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:56 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[REPT関数]]></category>
		<category><![CDATA[セル内グラフ]]></category>
		<category><![CDATA[データ可視化]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[文字列関数]]></category>
		<category><![CDATA[簡易グラフ]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4773</guid>

					<description><![CDATA[スプレッドシートのREPT関数で文字列を指定回数だけ繰り返す方法を解説。基本構文からセル内棒グラフ・星評価・進捗バー・固定長テキストまで、実務で使える活用パターンと#VALUE!エラーの対処法を網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「数値の大小をパッと見で伝えたいけど、グラフを挿入するほどでもない」「セル一つで進捗率を見せたい」——スプレッドシートで一覧表を作っていると、こんな場面によく出会いますよね。</p>



<p class="wp-block-paragraph">そんなときに活躍するのが <strong>REPT（レプト）関数</strong> です。指定した文字を決まった回数だけ繰り返してくれるシンプルな関数ですが、「█」や「★」を並べるだけで、セルの中に簡易棒グラフや星評価を作れます。</p>



<p class="wp-block-paragraph">この記事では、REPT関数の基本構文からつまずきやすい #VALUE! エラーの直し方、実務で使える5つの活用パターンまで、サンプル式とあわせて解説します。データバーや条件付き書式との使い分けにも触れているので、最後まで読めば「いつREPTを選べばいいか」が判断できるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">REPT関数とは？スプレッドシートで文字列を繰り返す関数</a><ol><li><a href="#toc2" tabindex="0">何ができる？ どんな場面で使う？</a></li><li><a href="#toc3" tabindex="0">REPT関数の構文と引数</a></li></ol></li><li><a href="#toc4" tabindex="0">REPT関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">セル参照で繰り返す</a></li><li><a href="#toc6" tabindex="0">文字列を直接指定する</a></li><li><a href="#toc7" tabindex="0">繰り返し回数が0の場合</a></li></ol></li><li><a href="#toc8" tabindex="0">REPT関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1：セル内に簡易棒グラフを作る</a></li><li><a href="#toc10" tabindex="0">パターン2：評価を星で表示する</a></li><li><a href="#toc11" tabindex="0">パターン3：区切り線を作る</a></li><li><a href="#toc12" tabindex="0">パターン4：LEN関数と組み合わせて固定長テキストを作る</a></li><li><a href="#toc13" tabindex="0">パターン5：進捗バーを作る</a></li></ol></li><li><a href="#toc14" tabindex="0">一歩進んだ使い方：IF関数・MIN関数と組み合わせる</a><ol><li><a href="#toc15" tabindex="0">IF関数で「条件によって表示／非表示」を切り替える</a></li><li><a href="#toc16" tabindex="0">上限と下限をMIN/MAXで安全に固定する</a></li><li><a href="#toc17" tabindex="0">ROUND関数と組み合わせて目盛りを揃える</a></li></ol></li><li><a href="#toc18" tabindex="0">REPT関数のよくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">棒の長さが揃わない・崩れて見える場合</a></li></ol></li><li><a href="#toc20" tabindex="0">REPT関数と似た関数・機能との使い分け</a><ol><li><a href="#toc21" tabindex="0">文字列を扱う関数との違い</a></li><li><a href="#toc22" tabindex="0">データバー（条件付き書式）との使い分け</a></li><li><a href="#toc23" tabindex="0">スプレッドシートの文字列関数</a></li><li><a href="#toc24" tabindex="0">条件分岐や数値処理と組み合わせる関数</a></li></ol></li><li><a href="#toc25" tabindex="0">REPT関数のよくある質問（FAQ）</a><ol><li><a href="#toc26" tabindex="0">REPTで繰り返した文字列を、後から1文字ずつに分解できますか？</a></li><li><a href="#toc27" tabindex="0">REPT関数の結果に色を付けることはできますか？</a></li><li><a href="#toc28" tabindex="0">グラフを挿入するのと比べてどちらが軽いですか？</a></li><li><a href="#toc29" tabindex="0">iPhoneやスマホのスプレッドシートアプリでも使えますか？</a></li><li><a href="#toc30" tabindex="0">REPTで作った棒グラフをコピペすると数式ではなく文字だけを貼り付けたいです</a></li><li><a href="#toc31" tabindex="0">同じREPT式が大量にあるとスプレッドシートが重くなりますか？</a></li><li><a href="#toc32" tabindex="0">Excel関数版のREPTと挙動は同じですか？</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ</a></li><li><a href="#toc34" tabindex="0">関連記事</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">REPT関数とは？スプレッドシートで文字列を繰り返す関数</span></h2>



<p class="wp-block-paragraph">REPT関数は、<strong>指定した文字列を決まった回数だけ繰り返して1つの文字列にして返す関数</strong> です。読み方は「レプト」で、英語の Repeat（リピート）が由来になっています。</p>



<p class="wp-block-paragraph">たとえば「★」を5回繰り返したい場合は <code>=REPT("★", 5)</code> と書くだけで、結果は <code>★★★★★</code> になります。記号や絵文字、英数字、漢字、半角スペースなど、文字であれば何でも繰り返しの対象にできます。</p>



<h3 class="wp-block-heading"><span id="toc2">何ができる？ どんな場面で使う？</span></h3>



<p class="wp-block-paragraph">REPT関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>売上や得点の一覧で「█」を並べて <strong>セル内に簡易棒グラフ</strong> を作りたいとき</li><li>商品レビューやスキル評価を <strong>★ で星マーク表示</strong> したいとき</li><li>タスク管理シートで <strong>進捗率を「███░░░」のようにバー表示</strong> したいとき</li><li>帳票やCSV出力用に <strong>末尾をスペースで埋めて文字幅を揃えたい</strong> とき</li><li>レポートのセル内に <strong>「————」のような区切り線</strong> を引きたいとき</li></ul>



<p class="wp-block-paragraph">「ちょっとした見せ方の工夫」に強い関数なので、覚えておくと一覧表の表現力がグッと上がります。</p>



<p class="wp-block-paragraph">NOTE: REPT関数はExcelでもまったく同じ書き方で使えます。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-rept/">ExcelのREPT関数の使い方</a> をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc3">REPT関数の構文と引数</span></h3>



<p class="wp-block-paragraph">REPT関数の構文はとてもシンプルで、引数は2つだけです。</p>



<pre class="wp-block-code"><code>=REPT(文字列, 繰り返し回数)</code></pre>



<p class="wp-block-paragraph">カッコの中には、繰り返したい文字列と回数を順番に指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>繰り返したい文字列、またはセル参照</td></tr><tr><td>繰り返し回数</td><td>必須</td><td>繰り返す回数（0以上の整数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">繰り返し回数に小数を指定した場合は、<strong>小数点以下が切り捨て</strong> られます。たとえば <code>=REPT("★", 3.7)</code> は3回繰り返して <code>★★★</code> を返します。</p>



<p class="wp-block-paragraph">TIP: 繰り返した結果の合計文字数が <strong>32,767文字</strong> を超えると #VALUE! エラーになります。通常の使い方で上限に達することはまずありませんが、「セル参照の数値をそのまま回数に使う」ような式では念のため意識しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">REPT関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここからは、実際にREPT関数を入力して動きを確認していきましょう。3つの基本パターンを押さえれば、応用にもすぐ進めます。</p>



<h3 class="wp-block-heading"><span id="toc5">セル参照で繰り返す</span></h3>



<p class="wp-block-paragraph">セルA1に「OK」と入っている状態で、次のように書きます。</p>



<pre class="wp-block-code"><code>=REPT(A1, 3)</code></pre>



<p class="wp-block-paragraph">結果は <code>OKOKOK</code> です。A1 の中身がそのまま3回連結されて、ひと続きの文字列として返ってきます。マスター表に置いた文字列を、別のセルで繰り返したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc6">文字列を直接指定する</span></h3>



<p class="wp-block-paragraph">セル参照を使わず、ダブルクォーテーションで囲って文字列を直接渡すこともできます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, 5)</code></pre>



<p class="wp-block-paragraph">結果は <code>★★★★★</code> です。記号や絵文字も同じように繰り返せるので、星マーク表示や区切り線の生成によく使われます。</p>



<h3 class="wp-block-heading"><span id="toc7">繰り返し回数が0の場合</span></h3>



<p class="wp-block-paragraph">繰り返し回数に「0」を指定すると、空文字（&#8221;&#8221;）が返ります。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, 0)</code></pre>



<p class="wp-block-paragraph">結果はセルが空欄に見える状態です。エラーにはなりません。<strong>条件に応じて「表示する／何も出さない」を切り替えたいとき</strong> に、この性質が活きてきます（後述する IF 関数との組み合わせで使います）。</p>



<h2 class="wp-block-heading"><span id="toc8">REPT関数の実務活用パターン</span></h2>



<p class="wp-block-paragraph">REPT関数の真価は、他の関数や工夫と組み合わせたときに発揮されます。ここでは、実務でそのまま使える5つのパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン1：セル内に簡易棒グラフを作る</span></h3>



<p class="wp-block-paragraph">売上データの横にREPT関数で「█」を並べると、セル内に簡易棒グラフが作れます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, B2/10)</code></pre>



<p class="wp-block-paragraph">B2 が <code>80</code> なら <code>████████</code> のように8本のブロックが表示されます。10で割っているのは、生の値だと棒が長くなりすぎるからです。データの最大値に合わせてスケールを調整するのがコツです。</p>



<p class="wp-block-paragraph">このテクニックを綺麗に見せるポイントは3つあります。</p>



<ul class="wp-block-list"><li><strong>スケール調整</strong>：値が大きい場合は割り算で桁を縮小する（最大値÷10〜÷100が目安）</li><li><strong>文字選び</strong>：「█」（全角ブロック）を使うと棒の間に隙間が出ない</li><li><strong>色付け</strong>：セルのフォント色を変えれば、そのまま色付きの棒グラフになる</li></ul>



<p class="wp-block-paragraph">会議資料で「ざっくり傾向を見せたい」、ダッシュボードシートで「グラフを挿入したくない（表のレイアウトを崩したくない）」といったときに重宝します。</p>



<p class="wp-block-paragraph">TIP: 「█」の文字コードは9608です。キーボードから入力しにくい場合は、<a href="https://mashukabu.com/spreadsheet-char-function/">スプレッドシートのCHAR関数の使い方</a> を使って <code>=REPT(CHAR(9608), B2/10)</code> と書いても同じ結果になります。</p>



<p class="wp-block-paragraph">TIP: B2 がマイナスになる可能性がある場合は、<a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a> で0以上に制限しましょう。<code>=REPT("█", MAX(B2/10, 0))</code> と書けば #VALUE! エラーを防げます。</p>



<h4 class="wp-block-heading">実データで作る売上一覧の簡易グラフ</h4>



<p class="wp-block-paragraph">例として、月別売上の一覧表に簡易グラフを並べてみましょう。次のような表を想定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>月</th><th>売上（万円）</th><th>簡易グラフ</th></tr></thead><tbody><tr><td>1月</td><td>120</td><td>████████████</td></tr><tr><td>2月</td><td>80</td><td>████████</td></tr><tr><td>3月</td><td>150</td><td>███████████████</td></tr><tr><td>4月</td><td>95</td><td>█████████</td></tr><tr><td>5月</td><td>200</td><td>████████████████████</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C2 セルに <code>=REPT("█", B2/10)</code> と入力し、下方向にコピーすれば一覧の右側に簡易棒グラフが並びます。最大値（5月の200）を基準に、<code>B2/10</code> で10ブロック単位に圧縮しているのがポイントです。データが「最大1000」のような大きい値なら <code>B2/50</code> のように除数を上げて、棒が画面からはみ出さないように調整しましょう。</p>



<p class="wp-block-paragraph">慣れてきたら、棒の色をフォント色で変えて「目標未達は赤、達成は青」のように見せることもできます。条件付き書式で「C列の文字色を売上値に応じて変える」設定にすれば、印刷でもPDFでもそのまま色付きで保存できます。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2：評価を星で表示する</span></h3>



<p class="wp-block-paragraph">5段階評価を星マークで表示すると、数字よりもひと目で印象が伝わります。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, C2) &amp; REPT(&quot;☆&quot;, 5-C2)</code></pre>



<p class="wp-block-paragraph">C2 が <code>3</code> なら <code>★★★☆☆</code> と表示されます。塗りつぶしの星と白抜きの星を組み合わせるのが、見栄えよくするコツです。<code>&</code> で2つのREPTを連結している点に注目してください。</p>



<p class="wp-block-paragraph">商品レビューの一覧、社員のスキル評価マトリクス、研修受講者の習熟度シートなど、「5段階で見せたい場面」全般で使えます。</p>



<p class="wp-block-paragraph">10段階で表示したい場合は、上限の数字を <code>5</code> から <code>10</code> に変えるだけで対応できます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, C2) &amp; REPT(&quot;☆&quot;, 10-C2)</code></pre>



<h3 class="wp-block-heading"><span id="toc11">パターン3：区切り線を作る</span></h3>



<p class="wp-block-paragraph">セクションの区切りとして、ハイフンやイコールを繰り返した線も作れます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;-&quot;, 30)</code></pre>



<p class="wp-block-paragraph">結果は <code>——————————</code> のような長い区切り線です。帳票や印刷用レイアウトで「セル内に水平線を引きたい」「タイトル下に罫線を引かずに線を出したい」というときに使えます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;=&quot;, 30)</code></pre>



<p class="wp-block-paragraph">イコールにすれば二重線風になります。Markdown 慣れしている人なら、見出し下の <code>===</code> を思い出してもらえれば近い使い方です。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4：LEN関数と組み合わせて固定長テキストを作る</span></h3>



<p class="wp-block-paragraph">文字列を一定の長さに揃えたいときは、<a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方</a> と組み合わせます。</p>



<pre class="wp-block-code"><code>=A2 &amp; REPT(&quot; &quot;, 20-LEN(A2))</code></pre>



<p class="wp-block-paragraph">A2 が「Excel」（5文字）なら、末尾にスペースが15個ついて合計20文字になります。CSV出力やテキストファイルへのエクスポートで、<strong>列幅をスペースで揃えた固定長フォーマット</strong> を作りたいときに便利です。</p>



<p class="wp-block-paragraph">左側をスペースで埋めて右揃えにしたいときは、順番を入れ替えるだけです。</p>



<pre class="wp-block-code"><code>=REPT(&quot; &quot;, 20-LEN(A2)) &amp; A2</code></pre>



<p class="wp-block-paragraph">NOTE: LEN関数は文字数をカウントする関数です。REPT関数と組み合わせると「目標文字数 − 現在の文字数」分のスペースを自動で補えます。詳しくは <a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方</a> をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5：進捗バーを作る</span></h3>



<p class="wp-block-paragraph">タスク管理シートで「完了率を一目で見せたい」というときは、完了部分と未完了部分を分けて表示する進捗バーが便利です。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, D2/10) &amp; REPT(&quot;░&quot;, 10-D2/10)</code></pre>



<p class="wp-block-paragraph">D2 が <code>70</code>（％）なら <code>███████░░░</code> のように表示されます。10刻みで全体を10ブロックに分割しているので、進捗が10％進むごとにブロックが1つずつ埋まっていく仕組みです。</p>



<p class="wp-block-paragraph">入力値が0〜100の範囲を外れる可能性があるなら、MAX関数とMIN関数で安全に制限しておきましょう。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, MIN(MAX(D2,0),100)/10) &amp; REPT(&quot;░&quot;, 10-MIN(MAX(D2,0),100)/10)</code></pre>



<p class="wp-block-paragraph">プロジェクト管理シート、目標達成率のダッシュボード、学習進捗の自己管理表など、「進捗を一覧で見たい」場面で使えます。</p>



<h2 class="wp-block-heading"><span id="toc14">一歩進んだ使い方：IF関数・MIN関数と組み合わせる</span></h2>



<p class="wp-block-paragraph">基本パターンを押さえたら、条件分岐と組み合わせて「賢いREPT」にしていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">IF関数で「条件によって表示／非表示」を切り替える</span></h3>



<p class="wp-block-paragraph">REPT は繰り返し回数が0だと何も表示しない、という性質があります。これを IF と組み合わせると、<strong>条件付きの可視化</strong> ができます。</p>



<pre class="wp-block-code"><code>=IF(B2&gt;=100, REPT(&quot;★&quot;, 3), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">B2 が100以上のときだけ <code>★★★</code> を表示し、それ以外は空欄、という挙動になります。「目標達成した行だけハイライトしたい」「閾値を超えた異常値に印を付けたい」ようなケースで重宝します。</p>



<h3 class="wp-block-heading"><span id="toc16">上限と下限をMIN/MAXで安全に固定する</span></h3>



<p class="wp-block-paragraph">ユーザー入力や外部データを使う場合、想定外の値（マイナスや極端に大きな数）が混じることがあります。次の式は、<strong>0〜100の範囲に常に丸めてから</strong> バーを描くテンプレートです。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, MIN(MAX(B2,0),100)/10)</code></pre>



<ul class="wp-block-list"><li><code>MAX(B2, 0)</code> でマイナス値を0に引き上げる</li><li><code>MIN(..., 100)</code> で上限を100に抑える</li><li>最後に <code>/10</code> で10ブロックスケールに変換する</li></ul>



<p class="wp-block-paragraph">この3点セットを覚えておけば、想定外データで #VALUE! エラーが出る事故を防げます。</p>



<h3 class="wp-block-heading"><span id="toc17">ROUND関数と組み合わせて目盛りを揃える</span></h3>



<p class="wp-block-paragraph">小数点を含む値をそのまま回数に渡すと、小数点以下が切り捨てられるため、見た目が荒くなることがあります。ROUND関数で四捨五入してから渡すと、見え方が安定します。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, ROUND(B2/10, 0))</code></pre>



<p class="wp-block-paragraph">ROUND の代わりに ROUNDUP（切り上げ）や ROUNDDOWN（切り捨て）を使えば、「常に多めに見せる」「常に少なめに見せる」といった調整もできます。</p>



<h2 class="wp-block-heading"><span id="toc18">REPT関数のよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">REPT関数はシンプルな関数ですが、特有のつまずきポイントがいくつかあります。実際に困りやすい症状をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>繰り返し結果が32,767文字を超えた</td><td>繰り返し回数を減らすか、繰り返す文字列を1文字にする</td></tr><tr><td>#VALUE!</td><td>繰り返し回数に負の数を指定した</td><td>0以上の数値を指定する。<code>MAX(値, 0)</code> で安全側に丸める</td></tr><tr><td>#VALUE!</td><td>繰り返し回数が文字列になっている</td><td>数値型の値を渡す。VALUE関数で数値化することも検討する</td></tr><tr><td>セルが空白</td><td>繰り返し回数が0</td><td>正常な動作です。0回繰り返しは空文字を返します</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>「REPT」のスペルを確認。「REPEAT」や「REPET」になっていないかチェック</td></tr><tr><td>数値がそのまま繰り返される</td><td>数値を文字列引数に渡した</td><td>正常な動作です。数値も文字列として扱われ、そのまま繰り返されます</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最もよく遭遇するのが、<strong>計算結果がマイナスになって #VALUE! エラーが出る</strong> ケースです。</p>



<p class="wp-block-paragraph">たとえば <code>=REPT("█", B2-A2)</code> という式で、B2 が A2 より小さくなった瞬間にエラーになります。差分が正の値であることが保証できない場合は、MAX関数で 0 以上に制限しましょう。</p>



<pre class="wp-block-code"><code>=REPT(&quot;█&quot;, MAX(B2-A2, 0))</code></pre>



<p class="wp-block-paragraph">これだけで、想定外データによるエラー表示を防げます。</p>



<h3 class="wp-block-heading"><span id="toc19">棒の長さが揃わない・崩れて見える場合</span></h3>



<p class="wp-block-paragraph">棒グラフ風に並べたのに「文字幅が揃わなくて見栄えが悪い」というケースもあります。原因は主に2つです。</p>



<ul class="wp-block-list"><li><strong>フォントがプロポーショナルになっている</strong>：等幅フォント（例：Roboto Mono、メイリオ）に変更すると揃いやすくなります</li><li><strong>使っている文字が半角と全角で混ざっている</strong>：「|」（半角縦線）と「│」（全角縦線）など、見た目が似ていても幅が違う文字を混在させない</li></ul>



<p class="wp-block-paragraph">整列を厳密に揃えたい場合は、<strong>全角ブロック「█」で統一する</strong> のが最も簡単で確実です。</p>



<h2 class="wp-block-heading"><span id="toc20">REPT関数と似た関数・機能との使い分け</span></h2>



<p class="wp-block-paragraph">REPT関数と混同しやすい関数や、似た目的で使える機能を整理しておきましょう。「いつREPTを選ぶか」の判断材料になります。</p>



<h3 class="wp-block-heading"><span id="toc21">文字列を扱う関数との違い</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>使用例</th><th>主な用途</th></tr></thead><tbody><tr><td>REPT</td><td>文字列を指定回数繰り返す</td><td><code>=REPT("★",3)</code> → <code>★★★</code></td><td>簡易グラフ・区切り線</td></tr><tr><td>CONCATENATE</td><td>複数の文字列を結合</td><td><code>=CONCATENATE(A1,B1)</code></td><td>セル同士の結合</td></tr><tr><td>JOIN</td><td>区切り文字で配列を結合</td><td><code>=JOIN(",",A1:A5)</code></td><td>カンマ区切りの生成</td></tr><tr><td><code>&</code> 演算子</td><td>文字列の結合</td><td><code>=A1&B1</code></td><td>シンプルな結合</td></tr><tr><td>SUBSTITUTE</td><td>文字列の一部を置換</td><td><code>=SUBSTITUTE(A1,"旧","新")</code></td><td>文字置換</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けの判断軸は次のとおりです。</p>



<ul class="wp-block-list"><li>同じ文字列を何度も繰り返したい → <strong>REPT関数</strong></li><li>異なる文字列をつなげたい → <strong>CONCATENATE 関数 / <code>&</code> 演算子</strong></li><li>配列を区切り文字付きで結合したい → <strong>JOIN 関数</strong></li><li>文字列の一部を別の文字に置き換えたい → <strong>SUBSTITUTE 関数</strong></li></ul>



<h3 class="wp-block-heading"><span id="toc22">データバー（条件付き書式）との使い分け</span></h3>



<p class="wp-block-paragraph">「セルの中で値の大きさを可視化する」目的なら、REPT以外にも <strong>条件付き書式のカラースケール</strong> という選択肢があります。両者の特徴を比較するとこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>REPT関数</th><th>条件付き書式（カラースケール／データバー的表現）</th></tr></thead><tbody><tr><td>見た目</td><td>文字を並べた階段状のバー</td><td>背景色のグラデーションやベタ塗り</td></tr><tr><td>値が空欄のとき</td><td>空文字を返せる（IF と組み合わせ）</td><td>書式が適用されない</td></tr><tr><td>印刷との相性</td><td>文字なので印刷でも崩れない</td><td>背景色が薄いと印刷時に消えがち</td></tr><tr><td>数式と組み合わせ</td><td>自由に分岐・スケール調整できる</td><td>範囲指定とルールでの設定が中心</td></tr><tr><td>他のセルで再利用</td><td>文字列としてコピーできる</td><td>書式設定なので持ち運びにくい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり選び方をまとめると、こうなります。</p>



<ul class="wp-block-list"><li><strong>印刷を前提とした帳票・配布資料</strong> → REPT</li><li><strong>画面上のダッシュボードで色のグラデーションを見せたい</strong> → 条件付き書式</li><li><strong>進捗率や評価の段階表示</strong> → REPT</li><li><strong>数値そのものの「ヒートマップ」表示</strong> → 条件付き書式</li></ul>



<p class="wp-block-paragraph">REPTのよさは「文字列なので、コピペで他のシートにそのまま持っていける」「印刷しても消えない」点にあります。配布資料やPDF化を想定するなら、REPTを選ぶ価値は大きいですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">スプレッドシートの文字列関数</span></h3>



<p class="wp-block-paragraph">REPT関数は「文字列の生成・加工」グループに分類されます。あわせて覚えておくと、テキスト処理の幅が一気に広がります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>記事リンク</th></tr></thead><tbody><tr><td>REPT</td><td>文字列を繰り返す</td><td>この記事</td></tr><tr><td>LEN</td><td>文字数をカウント</td><td><a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方</a></td></tr><tr><td>CHAR</td><td>文字コードから文字を返す</td><td><a href="https://mashukabu.com/spreadsheet-char-function/">スプレッドシートのCHAR関数の使い方</a></td></tr><tr><td>CONCATENATE</td><td>複数の文字列を連結</td><td><a href="https://mashukabu.com/spreadsheet-concatenate-function/">スプレッドシートのCONCATENATE関数の使い方</a></td></tr><tr><td>SUBSTITUTE</td><td>文字列を置換</td><td><a href="https://mashukabu.com/spreadsheet-substitute-function/">スプレッドシートのSUBSTITUTE関数の使い方</a></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">条件分岐や数値処理と組み合わせる関数</span></h3>



<p class="wp-block-paragraph">REPTを「賢く動かす」には、条件分岐や数値処理の関数とセットで使うのが定番です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th><th>記事リンク</th></tr></thead><tbody><tr><td>IF</td><td>条件分岐で表示／非表示を切り替える</td><td><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></td></tr><tr><td>MAX</td><td>下限を制限する（マイナス値の防御）</td><td><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a></td></tr><tr><td>MIN</td><td>上限を制限する（過大値の防御）</td><td><a href="https://mashukabu.com/spreadsheet-min-function/">スプレッドシートのMIN関数の使い方</a></td></tr><tr><td>ROUND</td><td>小数を四捨五入してから回数に渡す</td><td><a href="https://mashukabu.com/spreadsheet-round-function/">スプレッドシートのROUND関数の使い方</a></td></tr><tr><td>IFERROR</td><td>エラーの代わりに空欄や別文字を返す</td><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc25">REPT関数のよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc26">REPTで繰り返した文字列を、後から1文字ずつに分解できますか？</span></h3>



<p class="wp-block-paragraph">はい、<code>SPLIT</code> 関数や <code>MID</code> 関数で分解できます。たとえば <code>=REPT("★", 3)</code> で返した <code>★★★</code> を <code>=SPLIT(REPT("★", 3), "")</code> のように渡せば、別々のセルに展開できます。ただし、REPTで生成した文字列は本質的に「1つの文字列」なので、用途が決まっている場合は配列展開系の <code>SEQUENCE</code> や <code>MAP</code> を使った方が見通しがよくなります。</p>



<h3 class="wp-block-heading"><span id="toc27">REPT関数の結果に色を付けることはできますか？</span></h3>



<p class="wp-block-paragraph">セル単位でフォント色を変えるか、条件付き書式で文字色を切り替える方法が現実的です。1セルの中で「█」だけ赤、「░」だけ薄いグレー、のように色分けする場合は、Apps Script で <code>RichTextValue</code> を使うか、<code>█</code>（U+2588）と <code>▒</code>（U+2592）など見た目の濃度が違う文字を組み合わせて擬似的にコントラストを出します。詳しくは <a href="https://mashukabu.com/spreadsheet-conditional-formatting/">スプレッドシートの条件付き書式の使い方</a> もあわせて参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc28">グラフを挿入するのと比べてどちらが軽いですか？</span></h3>



<p class="wp-block-paragraph">REPT関数で作る簡易グラフの方が圧倒的に軽量です。グラフオブジェクトはレンダリングや再描画のコストがありますが、REPTは単なる文字列なので、数百行レベルの一覧表に並べてもファイルサイズや動作にほぼ影響しません。「100行以上の表に1つずつバーを並べたい」「印刷PDFのファイルサイズを軽くしたい」場合はREPTを選ぶと快適です。</p>



<h3 class="wp-block-heading"><span id="toc29">iPhoneやスマホのスプレッドシートアプリでも使えますか？</span></h3>



<p class="wp-block-paragraph">はい、モバイル版のGoogleスプレッドシートアプリでも問題なく動作します。ただし、画面幅が狭いため、長い棒グラフを表示するとセルの幅で切れて見えることがあります。スマホ閲覧を想定するなら、繰り返し回数を10程度に抑える（<code>B2/10</code> のように除算する）と見やすく収まります。</p>



<h3 class="wp-block-heading"><span id="toc30">REPTで作った棒グラフをコピペすると数式ではなく文字だけを貼り付けたいです</span></h3>



<p class="wp-block-paragraph">コピーした後、貼り付け先で「形式を選択して貼り付け」→「値のみ貼り付け」（ショートカット: Ctrl + Shift + V）を選ぶと、<code>=REPT(...)</code> の数式ではなく、生成された文字列だけを貼り付けられます。レポートやメール本文への貼り付けで重宝するワザです。</p>



<h3 class="wp-block-heading"><span id="toc31">同じREPT式が大量にあるとスプレッドシートが重くなりますか？</span></h3>



<p class="wp-block-paragraph">REPTは単純な文字列関数なので、数千件レベルでも実用上の影響はほぼありません。重さの原因になりやすいのは、<code>ARRAYFORMULA</code> や <code>VLOOKUP</code> を多用したシートと組み合わせた場合です。動作が重いと感じたら、REPTではなく <code>ARRAYFORMULA(REPT(...))</code> で1つの式にまとめると、計算負荷を抑えられます。</p>



<h3 class="wp-block-heading"><span id="toc32">Excel関数版のREPTと挙動は同じですか？</span></h3>



<p class="wp-block-paragraph">基本的にまったく同じです。引数の順序、小数点以下の切り捨て、結果の32,767文字上限、繰り返し回数0で空文字を返す挙動も共通です。詳しいExcel版の解説は <a href="https://mashukabu.com/excel-function-howto-use-rept/">ExcelのREPT関数の使い方</a> をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc33">まとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートのREPT関数について、構文・基本・実務パターン・エラー対処・他機能との使い分けを通して解説しました。要点を表で振り返っておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>機能</td><td>指定した文字列を決まった回数だけ繰り返す</td></tr><tr><td>構文</td><td><code>=REPT(文字列, 繰り返し回数)</code></td></tr><tr><td>回数が0</td><td>空文字を返す（エラーにはならない）</td></tr><tr><td>回数がマイナス</td><td>#VALUE! エラー</td></tr><tr><td>文字数上限</td><td>結果が32,767文字まで</td></tr><tr><td>小数の扱い</td><td>小数点以下は切り捨て</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最後に、実務で押さえておきたいポイントを5つにまとめます。</p>



<ul class="wp-block-list"><li>「█」や「|」を繰り返せば、グラフを挿入しなくても <strong>セル内に簡易棒グラフ</strong> が作れる</li><li>「★」と「☆」を <code>&</code> で連結すれば、5段階の <strong>星評価</strong> をひと目で見せられる</li><li>LEN関数と組み合わせれば <strong>固定長テキスト</strong> にも応用できる</li><li>マイナスや想定外データへの備えは <code>MAX(値, 0)</code> と <code>MIN(値, 100)</code> の組み合わせで安全に</li><li>「印刷でも崩れない可視化が欲しい」ときは、条件付き書式よりREPTの方が向いている</li></ul>



<p class="wp-block-paragraph">地味な関数ですが、データの可視化やテキスト整形でじわじわ効いてくる存在です。一覧表の見栄えに困ったときは、ぜひREPT関数を思い出してみてください。</p>



<h2 class="wp-block-heading"><span id="toc34">関連記事</span></h2>



<p class="wp-block-paragraph">REPT関数とあわせて使うと便利な、文字列処理・条件分岐・検索系の関数をまとめました。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方</a> — 固定長フォーマットを作るときの相棒</li><li><a href="https://mashukabu.com/spreadsheet-char-function/">スプレッドシートのCHAR関数の使い方</a> — 入力しにくい記号を文字コードで呼び出す</li><li><a href="https://mashukabu.com/spreadsheet-concatenate-function/">スプレッドシートのCONCATENATE関数の使い方</a> — 異なる文字列を連結する</li><li><a href="https://mashukabu.com/spreadsheet-substitute-function/">スプレッドシートのSUBSTITUTE関数の使い方</a> — 文字列の一部を置換する</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a> — REPTと組み合わせて条件付き可視化を実現</li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a> — エラー時のフォールバック表示</li><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a> — マイナス値の防御</li><li><a href="https://mashukabu.com/spreadsheet-min-function/">スプレッドシートのMIN関数の使い方</a> — 上限を制限してエラー回避</li><li><a href="https://mashukabu.com/spreadsheet-round-function/">スプレッドシートのROUND関数の使い方</a> — 小数を整数化してバーの目盛りを揃える</li><li><a href="https://mashukabu.com/spreadsheet-lookup-function/">スプレッドシートのLOOKUP関数の使い方｜VLOOKUPとの違いも解説</a> — 検索系の基本関数</li><li><a href="https://mashukabu.com/excel-function-howto-use-rept/">ExcelのREPT関数の使い方</a> — Excel版の解説（書き方は共通）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-rept-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excel REPT関数｜セル内グラフの作り方とデータバー比較</title>
		<link>https://mashukabu.com/excel-function-howto-use-rept/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-rept/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 08 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[MAX関数]]></category>
		<category><![CDATA[REPT関数]]></category>
		<category><![CDATA[セル内グラフ]]></category>
		<category><![CDATA[データバー]]></category>
		<category><![CDATA[文字列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1861</guid>

					<description><![CDATA[ExcelのREPT関数でセル内グラフを作る方法を実務目線で解説。MAX関数による相対スケール正規化、IF関数との組み合わせで空白・0値を制御するテク、データバーとの使い分け早見表まで網羅。グラフ不要の手軽な可視化をマスターしましょう。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「売上データを一覧にしたけど、数字がズラっと並んでいるだけで比較しづらい…」。Excelで報告資料を作っていると、こんな悩みにぶつかることがありますよね。</p>



<p class="wp-block-paragraph">グラフを別シートに作ると手間が増えるし、データバーだと印刷や共有時に書式が崩れることがある。もっと手軽に、セルの中だけで視覚的にデータを比較できたら便利だと思いませんか？</p>



<p class="wp-block-paragraph"><strong>ExcelのREPT関数を使えば、セルの中に棒グラフ風の表示をかんたんに作れます。</strong> この記事ではREPT関数の基本からセル内グラフの作り方、データバーとの使い分けまでまるっと解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">REPT関数とは｜基本の書式と引数</a><ol><li><a href="#toc2" tabindex="0">書式：=REPT(文字列, 繰り返し回数)</a></li><li><a href="#toc3" tabindex="0">引数の注意点（繰り返し回数が0・小数のとき）</a></li></ol></li><li><a href="#toc4" tabindex="0">セル内グラフの作り方｜ステップで解説</a><ol><li><a href="#toc5" tabindex="0">使うフォントで見た目が変わる（等幅フォント推奨）</a></li><li><a href="#toc6" tabindex="0">MAX関数で相対スケールを正規化する</a></li><li><a href="#toc7" tabindex="0">IF関数で空白・0値を制御する</a></li></ol></li><li><a href="#toc8" tabindex="0">REPTセル内グラフ vs データバー｜使い分け早見表</a><ol><li><a href="#toc9" tabindex="0">データバーが向いているケース</a></li><li><a href="#toc10" tabindex="0">REPT関数が向いているケース</a></li></ol></li><li><a href="#toc11" tabindex="0">実務活用パターン集</a><ol><li><a href="#toc12" tabindex="0">売上・進捗の横バーグラフ</a></li><li><a href="#toc13" tabindex="0">星評価・5段階スコアの可視化</a></li><li><a href="#toc14" tabindex="0">区切り線・レポートデザイン用途</a></li></ol></li><li><a href="#toc15" tabindex="0">よくある質問・トラブルシューティング</a></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">REPT関数とは｜基本の書式と引数</span></h2>



<p class="wp-block-paragraph">REPT関数は、指定した文字列を決まった回数だけ繰り返して表示する関数です。</p>



<p class="wp-block-paragraph">読み方は「<strong>リピート関数</strong>」です。英語の「Repeat（リピート＝繰り返す）」がそのまま名前の由来になっています。Excelの基本関数なので、バージョンを問わず使えますよ。</p>



<p class="wp-block-paragraph">たとえば「■」を5回繰り返せば「■■■■■」が返ってきます。この仕組みを応用すると、数値の大きさに応じた横棒グラフをセル内に描けるわけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力</th><th>出力</th></tr></thead><tbody><tr><td>文字列と繰り返し回数</td><td>文字列を指定回数だけ連結した結果</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc2">書式：=REPT(文字列, 繰り返し回数)</span></h3>



<p class="wp-block-paragraph">基本の書き方はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=REPT(文字列, 繰り返し回数)</code></pre>



<p class="wp-block-paragraph">引数は2つだけです。どちらも必須なので省略はできません。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td>文字列（text）</td><td>必須</td><td>繰り返したい文字列を指定する</td></tr><tr><td>繰り返し回数（number_times）</td><td>必須</td><td>繰り返す回数を正の数値で指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実際に入力してみましょう。次の数式をセルに入れると、「★★★」と表示されます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, 3)</code></pre>



<p class="wp-block-paragraph">文字列は「■」「|」「★」など、何でも使えます。セル参照で文字列を渡すこともできますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">引数の注意点（繰り返し回数が0・小数のとき）</span></h3>



<p class="wp-block-paragraph">繰り返し回数の扱いには、いくつか知っておきたいルールがあります。</p>



<ul class="wp-block-list"><li><strong>0を指定すると空文字</strong>が返ります。エラーにはなりません</li><li><strong>小数を指定すると切り捨て</strong>されます。<code>REPT("■", 3.7)</code> は3回繰り返しです</li><li><strong>負の数を指定すると<code>#VALUE!</code>エラー</strong>になります</li><li><strong>結果が32,767文字を超えると<code>#VALUE!</code>エラー</strong>になります</li></ul>



<p class="wp-block-paragraph">実務でエラーになるのは、ほぼ「負の数」か「文字数オーバー」のどちらかです。セル内グラフで使う場合は20文字程度なので、文字数上限を気にする必要はまずありません。小数が切り捨てになる点だけ覚えておけば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">セル内グラフの作り方｜ステップで解説</span></h2>



<p class="wp-block-paragraph">ここからが本題です。REPT関数を使ったセル内グラフの作り方を、3つのステップで解説していきます。</p>



<p class="wp-block-paragraph">この記事では、次の売上データをサンプルとして使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th></tr></thead><tbody><tr><td><strong>1</strong></td><td>店舗名</td><td>売上</td></tr><tr><td><strong>2</strong></td><td>新宿店</td><td>800,000</td></tr><tr><td><strong>3</strong></td><td>渋谷店</td><td>650,000</td></tr><tr><td><strong>4</strong></td><td>池袋店</td><td>500,000</td></tr><tr><td><strong>5</strong></td><td>横浜店</td><td>400,000</td></tr><tr><td><strong>6</strong></td><td>大宮店</td><td>300,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C列にセル内グラフを作っていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">使うフォントで見た目が変わる（等幅フォント推奨）</span></h3>



<p class="wp-block-paragraph">まず大切なのがフォント選びです。セル内グラフを表示するセル（C列）には<strong>等幅フォント</strong>を設定してください。</p>



<p class="wp-block-paragraph">おすすめは「MSゴシック」か「Courier New」です。等幅フォントなら「■」1文字あたりの幅が一定になるので、棒の長さが正確に数値を反映します。</p>



<p class="wp-block-paragraph">プロポーショナルフォント（MS Pゴシックなど）を使うと、文字ごとに幅がバラバラになります。すると数値が同じでも棒の長さが微妙にずれてしまうんです。見た目の正確さを保つために、等幅フォントを選んでおきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">MAX関数で相対スケールを正規化する</span></h3>



<p class="wp-block-paragraph">単純に <code>=REPT("■", B2)</code> と書くと、売上800,000に対して■が80万個並ぶことになります。当然セルに収まりませんよね。</p>



<p class="wp-block-paragraph">そこで使うのが<a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a>による<strong>正規化</strong>です。最大値を基準にして、全データを相対的なスケールに変換します。</p>



<pre class="wp-block-code"><code>=REPT(&quot;■&quot;, INT(B2/MAX($B$2:$B$6)*20))</code></pre>



<p class="wp-block-paragraph">この数式がやっていることを分解してみましょう。</p>



<ol class="wp-block-list"><li><code>B2/MAX($B$2:$B$6)</code> で、最大値に対する比率を計算する（0〜1の範囲）</li><li><code>*20</code> で、最大20文字になるようにスケーリングする</li><li><code>INT()</code> で小数を切り捨てて整数にする</li><li><code>REPT("■", ...)</code> で、その回数だけ■を繰り返す</li></ol>



<p class="wp-block-paragraph"><code>MAX($B$2:$B$6)</code> は<strong>絶対参照</strong>にしてください。相対参照のままだと、数式をコピーしたときにズレてしまいます。</p>



<p class="wp-block-paragraph">上のサンプルデータで計算すると、次のような結果になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>店舗名</th><th>売上</th><th>セル内グラフ</th><th>■の数</th></tr></thead><tbody><tr><td>新宿店</td><td>800,000</td><td>■■■■■■■■■■■■■■■■■■■■</td><td>20</td></tr><tr><td>渋谷店</td><td>650,000</td><td>■■■■■■■■■■■■■■■■</td><td>16</td></tr><tr><td>池袋店</td><td>500,000</td><td>■■■■■■■■■■■■</td><td>12</td></tr><tr><td>横浜店</td><td>400,000</td><td>■■■■■■■■■■</td><td>10</td></tr><tr><td>大宮店</td><td>300,000</td><td>■■■■■■■</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最大値の新宿店が20個、他は比率に応じた長さになっていますね。これでデータの大小がひと目でわかるようになりました。</p>



<h3 class="wp-block-heading"><span id="toc7">IF関数で空白・0値を制御する</span></h3>



<p class="wp-block-paragraph">実務のデータには空白セルやゼロが含まれることがあります。売上が空欄のまま上の数式を使うと、<code>0/MAX(...)</code> の計算でREPT関数に0が渡されます。結果は空文字になるので見た目は問題ありませんが、「未入力」と「売上ゼロ」の区別がつきません。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>を組み合わせて、空白セルを明示的に制御しましょう。</p>



<pre class="wp-block-code"><code>=IF(B2=&quot;&quot;, &quot;&quot;, REPT(&quot;■&quot;, INT(B2/MAX($B$2:$B$6)*20)))</code></pre>



<p class="wp-block-paragraph">この数式なら、B2が空白のときは何も表示しません。売上が0のときは■が0個（空文字）になるので、空白と0を見分けたい場合は次のように書き換えてみてください。</p>



<pre class="wp-block-code"><code>=IF(B2=&quot;&quot;, &quot;（未入力）&quot;, IF(B2=0, &quot;（0件）&quot;, REPT(&quot;■&quot;, INT(B2/MAX($B$2:$B$6)*20))))</code></pre>



<p class="wp-block-paragraph">エラー防止と可読性の両方を考えると、IF関数との組み合わせは必須テクニックですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">REPTセル内グラフ vs データバー｜使い分け早見表</span></h2>



<p class="wp-block-paragraph">Excelにはセル内にバーを表示する「条件付き書式 > データバー」機能もあります。REPT関数と何が違うのか、迷う方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">結論から言うと、<strong>手軽さならデータバー、柔軟さならREPT関数</strong>です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>データバー</th><th>REPT関数</th></tr></thead><tbody><tr><td>設定の手軽さ</td><td>数クリックで完了</td><td>数式を組む必要あり</td></tr><tr><td>スケール調整</td><td>自動</td><td>MAX関数で手動設定</td></tr><tr><td>印刷時の再現性</td><td>環境によって崩れる</td><td>文字として印刷される</td></tr><tr><td>メール貼り付け</td><td>書式が消えることがある</td><td>テキストなので保持される</td></tr><tr><td>条件分岐</td><td>不可</td><td>IF関数で自由に制御可能</td></tr><tr><td>CSV出力</td><td>消える</td><td>文字列として保持される</td></tr><tr><td>数値とバーの配置</td><td>同じセル内</td><td>別セルに分離可能</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">データバーが向いているケース</span></h3>



<p class="wp-block-paragraph">データバーは「素早くざっくり可視化したい」ときに最適です。</p>



<ul class="wp-block-list"><li>自分用の確認・分析で使う一時的なシート</li><li>フィルターや並べ替えと組み合わせて使うデータ</li><li>スケールの自動調整が欲しい大規模データ</li></ul>



<p class="wp-block-paragraph">設定はホームタブの「条件付き書式」から「データバー」を選ぶだけ。数式を書く必要がないので、関数に慣れていない方でもすぐに使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">REPT関数が向いているケース</span></h3>



<p class="wp-block-paragraph">REPT関数は「他の人に共有する資料」で力を発揮します。</p>



<ul class="wp-block-list"><li>印刷して配布する報告書やレポート</li><li>メールに表を貼り付けて送る場面</li><li>CSVやテキスト形式で書き出す必要がある場面</li><li>特定の条件で棒の色や記号を変えたい場面</li></ul>



<p class="wp-block-paragraph">データバーは条件付き書式なので、コピー&#038;ペーストやCSV出力で消えてしまいます。一方、REPT関数の結果は純粋な文字列です。どんな形式にエクスポートしても残るのが大きな強みですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">実務活用パターン集</span></h2>



<p class="wp-block-paragraph">REPT関数はセル内グラフ以外にも、さまざまな場面で使えます。ここでは実務でよく使う3つのパターンを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc12">売上・進捗の横バーグラフ</span></h3>



<p class="wp-block-paragraph">最もよく使うのが進捗の可視化です。目標に対する達成率をバーで表示すると、進捗状況がひと目でわかります。</p>



<pre class="wp-block-code"><code>=REPT(&quot;■&quot;, INT(B2/C2*20))</code></pre>



<p class="wp-block-paragraph">B2が実績、C2が目標です。達成率が100%を超える場合にバーが長くなりすぎないよう、MIN関数で上限を設定するのがコツです。</p>



<pre class="wp-block-code"><code>=REPT(&quot;■&quot;, MIN(INT(B2/C2*20), 20))</code></pre>



<p class="wp-block-paragraph">これなら達成率が100%を超えても、バーの長さは最大20文字に収まります。</p>



<h3 class="wp-block-heading"><span id="toc13">星評価・5段階スコアの可視化</span></h3>



<p class="wp-block-paragraph">アンケート結果や商品レビューの星評価にもREPT関数は便利です。</p>



<pre class="wp-block-code"><code>=REPT(&quot;★&quot;, B2) &amp; REPT(&quot;☆&quot;, 5-B2)</code></pre>



<p class="wp-block-paragraph">B2にスコア（1〜5）が入っていれば、「★★★☆☆」のように表示されます。<a href="https://mashukabu.com/excel-function-howto-use-concatenate/">CONCATENATE関数</a>や<code>&</code>演算子で、塗りつぶしの★と空の☆を組み合わせるのがポイントです。</p>



<p class="wp-block-paragraph">スコアが0〜5の範囲外になるとエラーが出るので、IF関数でガードしておくと安心ですよ。</p>



<pre class="wp-block-code"><code>=IF(AND(B2&gt;=0, B2&lt;=5), REPT(&quot;★&quot;, B2) &amp; REPT(&quot;☆&quot;, 5-B2), &quot;エラー&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">区切り線・レポートデザイン用途</span></h3>



<p class="wp-block-paragraph">REPT関数はグラフだけでなく、レポートの見た目を整えるのにも使えます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;-&quot;, 30)</code></pre>



<p class="wp-block-paragraph">セクションの区切り線として「&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;」を表示できます。「=」を繰り返せば二重線も作れますよ。<a href="https://mashukabu.com/excel-function-howto-use-len/">LEN関数</a>と組み合わせれば、文字列の長さに応じた可変長の区切り線も作れます。</p>



<pre class="wp-block-code"><code>=REPT(&quot;-&quot;, LEN(A2))</code></pre>



<p class="wp-block-paragraph">A2のテキストと同じ長さの線が引けるので、見出しの下線として使うとレポートの見栄えがぐっと良くなります。</p>



<h2 class="wp-block-heading"><span id="toc15">よくある質問・トラブルシューティング</span></h2>



<p class="wp-block-paragraph">REPT関数を使っていて起こりやすいトラブルをまとめました。</p>



<p class="wp-block-paragraph"><strong>Q. <code>#VALUE!</code>エラーが出る</strong></p>



<p class="wp-block-paragraph">繰り返し回数に負の数が入っていないか確認してください。また、結果が32,767文字を超えている場合もこのエラーになります。MAX正規化を使っていれば文字数上限に引っかかることはまずありません。</p>



<p class="wp-block-paragraph"><strong>Q. セル内グラフの棒の長さがバラバラに見える</strong></p>



<p class="wp-block-paragraph">フォントが等幅フォントになっているか確認してください。プロポーショナルフォント（MS Pゴシックなど）だと文字幅が不均一になり、棒の長さが正しく反映されません。C列だけでも「MSゴシック」や「Courier New」に変更すれば解決します。</p>



<p class="wp-block-paragraph"><strong>Q. 数式をコピーしたらグラフの比率がおかしくなった</strong></p>



<p class="wp-block-paragraph">MAX関数の範囲が相対参照になっている可能性があります。<code>MAX($B$2:$B$6)</code> のように<strong>$をつけて絶対参照</strong>にしてください。数式をコピーしても参照範囲がズレなくなります。</p>



<p class="wp-block-paragraph"><strong>Q. 空白セルにも■が表示されてしまう</strong></p>



<p class="wp-block-paragraph">IF関数で空白チェックを追加しましょう。<code>=IF(B2="", "", REPT(...))</code> の形にすれば、空白セルには何も表示されません。詳しくは「IF関数で空白・0値を制御する」のセクションを確認してみてください。</p>



<p class="wp-block-paragraph"><strong>Q. Googleスプレッドシートでも使える？</strong></p>



<p class="wp-block-paragraph">はい、REPT関数はGoogleスプレッドシートでもまったく同じ書式で使えます。フォント設定の方法がExcelと異なりますが、等幅フォントを選べばセル内グラフも問題なく表示されますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのREPT関数を使ったセル内グラフの作り方を解説しました。</p>



<p class="wp-block-paragraph">ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>REPT関数は<strong>文字列を指定回数繰り返す</strong>シンプルな関数</li><li>セル内グラフには<strong>等幅フォント</strong>と<strong>MAX関数による正規化</strong>が必須</li><li>空白・0値の制御には<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>を組み合わせる</li><li><strong>印刷やメール共有にはREPT関数</strong>、素早い可視化には<strong>データバー</strong>と使い分ける</li><li>星評価や区切り線など、グラフ以外の活用パターンも豊富</li></ul>



<p class="wp-block-paragraph">REPT関数は地味な関数ですが、使いこなすと報告書やダッシュボードの表現力がぐっと上がります。まずはサンプルの売上データで試してみてください。一度作ってしまえば、他のシートにもすぐ展開できますよ。</p>



<p class="wp-block-paragraph">文字列操作の関数をもっと知りたい方は、<a href="https://mashukabu.com/excel-string-functions-guide/">文字列関数まとめ</a>もあわせてチェックしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-rept/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
