![見出し画像](https://assets.st-note.com/production/uploads/images/133938878/rectangle_large_type_2_857a7b7192255e238efacafbf7c56ce7.png?width=1200)
[Excel]エクセル御法度 REPT関数で棒グラフをつくってはいけない
Instagramのリール(動画)で「REPT関数を使ってグラフを表示する」というものを、一時期、結構な回数見かけました(違うアカウント)。
中には「オブジェクトで棒グラフは作らない! REPT関数を使う!」なんてものもありましたが、「オブジェクトで棒グラフを作る人なんていないよ」と思わず呟いてしまいました。
というわけで、インスタを真(ま)に受けないで、という意味も込めての記事です(インスタは、インパクト重視なので、それはそれでアリですし、役立つ情報も色々あります。)。
REPT(リピート)関数は、その名のとおり、繰り返す関数。
=REPT(”繰り返す文字”,繰り返す回数)
で記述し、
「繰り返す文字」も「繰り返す回数」も、計算式内に直接記述しても、
セルを指定しても、どちらもできます。
例えば、
![](https://assets.st-note.com/img/1709450271268-GCjs9LDXwM.png)
=REPT(”★”,G7) は「★」をG7の値、つまり2回繰り返して表示します。
この機能を使って「棒グラフ」を作りましょう、というのがインスタ動画の主張。
例えば下の表。
![](https://assets.st-note.com/img/1710370823468-NXuqmgvLZo.png)
繰り返す文字は「|」(Shift+¥)です(と動画では主張)。
繰り返す回数は、人数。
![](https://assets.st-note.com/img/1710370874903-7EDt75LgPj.png)
計算結果を表示してみると・・
![](https://assets.st-note.com/img/1710370999968-GdnLADyFhR.png)
こんな感じになります。
棒グラフとはいえないけれど、それっぽいといえば、それっぽい。
「REPT関数 棒グラフ フォント」で検索したところ、
「[REPT関数]を使って縦棒を繰り返して棒グラフのように見せる」では、「Britannic Bold」を、
「エクセルのセルに棒グラフ(っぽいもの)を表示する」では「Playbill」を勧めています。
動画では、確か、Pencil を勧めていたものもあった気がします。
問題1 フォントがない
しかし、私の環境では、勧められたフォントが出てきません。
結果、ちゃんとした棒グラフにはならず・・・。
せいぜい、こんな感じ。
![](https://assets.st-note.com/img/1710371676583-BGN6TKFa0E.png)
フォントは「HGP創英ゴシックUB」。いまいちです。
フォントをも見つけるのも面倒だし、わざわざフォントをインストールするのも結構面倒です。
問題2 数字が大きいと場所を取る/はみ出す
もっと問題なのは、数値が大きいと、場所を取ることです。
上で紹介したサイトは、数字が2桁か、せいぜい100(テストの点数表)。
しかし、数字が大きくなると・・・
![](https://assets.st-note.com/img/1710371898393-4dANqeJpN5.png)
2桁でも、棒グラフ(もどき)がはみ出してしまいました。
数値が大きいとセルの横幅を変える必要が出てきますが、一度出来上がった表の幅を変えると、色々と不具合が生じますので、避けた方がいいでしょう。
フォントを小さく(5pt)にしてみると・・・
![](https://assets.st-note.com/img/1710372023682-BrrYkaKdfJ.png)
枠内に収まりましたが、細くなって、心許ない印象です。
(それでも、まだはみ出しています。)
「セルの書式設定」で「縮小して全体を表示する」とぃう機能もありますが・・・
![](https://assets.st-note.com/img/1710372109282-0OwqWPadTD.png)
数字によって縮小度合いが変わってしまうので、グラフとして意味をなさなくなります。
REPT関数は使わず、「データバー」を使う
というわけで、REPT関数を使った棒グラフは御法度です。
「こんなこともできるんだよ」という「ネタ」としては面白いのですが、実用的ではありません(「面白い」から動画化されやすい?)。
表の中に棒グラフを入れたいなら、素直に「データバー」を使うべきです。
![](https://assets.st-note.com/img/1710372395386-o6yZu7JNLZ.png)
これで十分、というか、この方が、早くてわかりやすい。
ただし、冒頭のように一定数の文字(例:★5つが最大値)のようなものを表示するには、REPT関数は有益です。
5つ星中の3つ星なら「★★★☆☆」と表示する方法もありますが、これについては、いずれということで。
なお、データバーについては、こちらの記事をご覧ください。
[Excel]データーバー数値と重ならない方法「その他の書式」から & 別解(力技))」
有料ゾーン手前までの内容で十分対応できます。