表計算ソフトでセル内にシンプルなグラフを表示する

Excel 2007では、セル内にグラフを表示する機能がありますが、時には、ただ単に、シンプルなグラフを表示したい、という場合もあると思います。いろいろと見ていたら、Lightweight data exploration in Excelという記事を見つけました。数年前の古い記事ですが、その分、古いバージョンのExcelなどでも応用できます。(OpenOffice.orgでも可能です。今回はこちらで実験しています。Excelで実験する場合は式の「;」を「,」に置き換えてください。)

1 Dataset

まず用意したのは前に作成したデータセットのうち、身長データを取り出したものです。

2 Using REPT

この時点で、あるのは身長データのみですが、ここで、REPT関数を使った構文を新しいセルに表記します。

内容はB1のデータに対してREPT(“|”;B1)になります。これは、「|」をB1の値だけ繰り返す関数になります。

3 Resulting graph

この場合、最初のデータの場合は、「|」が169回繰り返される形となります。

4 Populated Data

すべてを描画するとこういう形で比較しやすい表示にはなるのですが、この場合、数が大きいため、グラフが非常に長くなってしまいます。

そこでこの数式を少し改造してみます。

5 Setting up absolute

数式はREPT(“|”;B1/MAX($B$1;$B$65)*100)です。

これにより、全てのデータセットの最大値で現在値を割り、それを掛けています。(データセットの最大値の範囲はデータの量によって変わります。尚、データの繰り返しを設定する際の利便性のために、この部分は$を使用し、絶対参照にしてください。)100の部分を変更することにより、グラフの最大値(データセットの中の最大値において表示される長さ)を指定できます。

最大値の範囲に関しては、この部分に絶対値を入れることも可能ですが、その場合はグラフがセルより溢れる可能性を考慮してください。(異なる系統を比較する場合にはこれが有効。)

6 Normalized

尚、グラフ部分は文字列であるため、数値範囲によって色を変えるなども容易に可能なのがこの手法の特徴です。