見出し画像

[Excel]エクセル御法度 REPT関数で棒グラフをつくってはいけない

Instagramのリール(動画)で「REPT関数を使ってグラフを表示する」というものを、一時期、結構な回数見かけました(違うアカウント)。
中には「オブジェクトで棒グラフは作らない! REPT関数を使う!」なんてものもありましたが、「オブジェクトで棒グラフを作る人なんていないよ」と思わず呟いてしまいました。
というわけで、インスタを真(ま)に受けないで、という意味も込めての記事です(インスタは、インパクト重視なので、それはそれでアリですし、役立つ情報も色々あります。)。


REPT(リピート)関数は、その名のとおり、繰り返す関数。
=REPT(”繰り返す文字”,繰り返す回数)
で記述し、
「繰り返す文字」も「繰り返す回数」も、計算式内に直接記述しても、
セルを指定しても、どちらもできます。
例えば、

=REPT(”★”,G7) は「★」をG7の値、つまり2回繰り返して表示します。

この機能を使って「棒グラフ」を作りましょう、というのがインスタ動画の主張。

例えば下の表。

繰り返す文字は「|」(Shift+¥)です(と動画では主張)。
繰り返す回数は、人数。

計算結果を表示してみると・・

こんな感じになります。
棒グラフとはいえないけれど、それっぽいといえば、それっぽい。

「REPT関数 棒グラフ フォント」で検索したところ、
[REPT関数]を使って縦棒を繰り返して棒グラフのように見せる」では、「Britannic Bold」を、
エクセルのセルに棒グラフ(っぽいもの)を表示する」では「Playbill」を勧めています。
動画では、確か、Pencil を勧めていたものもあった気がします。

問題1 フォントがない

しかし、私の環境では、勧められたフォントが出てきません。
結果、ちゃんとした棒グラフにはならず・・・。
せいぜい、こんな感じ。

フォントは「HGP創英ゴシックUB」。いまいちです。
フォントをも見つけるのも面倒だし、わざわざフォントをインストールするのも結構面倒です。

問題2 数字が大きいと場所を取る/はみ出す

もっと問題なのは、数値が大きいと、場所を取ることです。
上で紹介したサイトは、数字が2桁か、せいぜい100(テストの点数表)。
しかし、数字が大きくなると・・・

2桁でも、棒グラフ(もどき)がはみ出してしまいました。
数値が大きいとセルの横幅を変える必要が出てきますが、一度出来上がった表の幅を変えると、色々と不具合が生じますので、避けた方がいいでしょう。

フォントを小さく(5pt)にしてみると・・・

枠内に収まりましたが、細くなって、心許ない印象です。
(それでも、まだはみ出しています。)

「セルの書式設定」で「縮小して全体を表示する」とぃう機能もありますが・・・

数字によって縮小度合いが変わってしまうので、グラフとして意味をなさなくなります。

REPT関数は使わず、「データバー」を使う

というわけで、REPT関数を使った棒グラフは御法度です。
「こんなこともできるんだよ」という「ネタ」としては面白いのですが、実用的ではありません(「面白い」から動画化されやすい?)。

表の中に棒グラフを入れたいなら、素直に「データバー」を使うべきです。

これで十分、というか、この方が、早くてわかりやすい。

ただし、冒頭のように一定数の文字(例:★5つが最大値)のようなものを表示するには、REPT関数は有益です。
5つ星中の3つ星なら「★★★☆☆」と表示する方法もありますが、これについては、いずれということで。

なお、データバーについては、こちらの記事をご覧ください。
[Excel]データーバー数値と重ならない方法「その他の書式」から & 別解(力技))
有料ゾーン手前までの内容で十分対応できます。

この記事が気に入ったらサポートをしてみませんか?