Introduction
Ver. 2016 2019 2021 365
エクセルでのヒストグラム(度数分布図)の作り方です。
その意味から作り方まで順を追って説明します。
過去のバージョン(2013以前)ではここで説明する方法は使用できません。こちらのページを参考にしてください。
バージョン2016からExcelでも簡単にヒストグラムが作成できるようになりましたよ。
データの分布やばらつきがすぐに分かるにゃ
ヒストグラムとは
ヒストグラムとは頻度を表示する棒グラフです。
ある程度の区分で分けて、データをカウントすることで、データの散らばり具合を見ることができます。
「この辺りの数値では、どれぐらいのデータが存在するのかな?」
というのが分かるということ。
最近のExcelでは、途中に必要な「度数分布表」を準備しなくても直接作成できるようになりました。
しかし、ヒストグラムの意味を考える時には、度数分布から考えた方が理解しやすいと思いますので、先にそちらの説明をします。
まず、度数とは何でしょうか。その度数の意味を知るには、階級という言葉も知る必要があります。
下の表をご覧ください。
平成28年の都道府県別パソコンの保有状況です。
※総務省のデータ
これを一定のパーセントで区切って都道府県の数をまとめたのが下の度数分布表です。
こう見ると、71~77%の都道府県が1番多いのが分かりますね。
表の項目にもなっていますが、階級と度数の意味は下の通りです。
- 階級・・・区切られた各区間
- 度数・・・各階級に含まれる値の個数
また、区間の幅を階級の幅、各階級の中央の値を階級値と呼んだりします。
左の数字が階級で、右の数字が度数になります。
この度数分布表を見た目に分かり易くグラフにしたのが、ヒストグラム(度数分布図)です。
上の表から、普通に集合縦棒グラフを作成したのが下のグラフ。
通常の縦棒グラフは、系列の要素が独立しており、それぞれを比較します。しかし、ヒストグラムは系列の中にデータを複数含み、
それらを比較するので、棒の間隔を無くして階段状にします。
前のグラフから、タイトルと凡例を消し、各系列の間隔を無くしたのが下のグラフです。
ヒストグラムになりました。
先ほど書きましたが、最近のバージョンでは途中の度数分布表を作成しなくても、自動で作成できるようになりました。
しかし、細かい調整をしたい場合は、自分で度数分布表から作成した方が良い場合もあります。
順番に説明していきます。
ヒストグラムの作り方(簡単版)
では、Excelの「ヒストグラム」機能をそのまま利用して作成してみます。
横軸の目盛りにこだわりが無い場合にお勧めです。
今回使用するのは下のデータ。
※都道府県47か所のデータです。
データが入力されている範囲だけを選択して、
[挿入]タブ → [統計グラフの挿入] →
一覧から[ヒストグラム]を選びます。
Excelがデータを適切な範囲で自動で区切って作成されます。
あとはタイトルを入力し直せば完成ですね。
気になるのは、横軸の部分でしょう。
Excel任せになるため、自分が思った数値で区切られているとは限りませんし、
ピンの数も自動で設定されます。
ちなみに、「ピン」とは「棒」のこと。
これらを調整したい場合は、グラフの[横軸]をダブルクリック。
すると、右側に[軸の書式設定]作業ウィンドウが表示されます。
この場所の赤枠の場所で「ピン」(棒部分)の細かい設定ができます。
この作業ウィンドウの幅が狭い場合は、作業ウィンドウ左端にマウスを移動して左に引っ張りましょう。
では、ピン(棒部分)の調整方法です。
最初に、横軸の数値の値幅(区切りの間隔)を自分で決めたい場合です。
[ピンの幅]にチェックを入れ、右側で数値の幅を指定します。
「10」に設定したのが下の画像です。
それぞれのピンが「10」区切りでまとめられているのが分かります。
次に、ピンの数を重視して区切りたい場合は、
[ピンの数]にチェックを入れて、右側にピンを幾つにしたいか入力します。
「10」に指定したのが下の画像です。
棒部分が「10」になるように、自動で集計する数値を区切ってグラフにしてくれます。
この2つを上手に使用すると、思い通りのグラフが作成できそうですね。
他に気になるのは、
横軸の値(区切り部分)がスタートする数値ですね。
この場所を切りの良い数値にするには、[ピンのアンダーフロー]にチェックを入れて右側に数値を入力します。
今回のデータの最小値は「47.9」なので、「45」からスタートにするようにしました。
しかし、結果は下のように、最小値からスタートしてしまいます。
ということです。
もし好きな数値から始めたい場合は、次に説明する「度数分布表」を自分で作成してヒストグラムを作りましょう。
今回の場合で、キリの良い数値から始めたい場合は、あえて少し上の数値から始めます。
例えば、「50」と入力すると、
「<=50」と50以下がまとめて表示されるようになります。
ついでに[ピンの幅]や[ピンのオーバーフロー]もキリの良い数字を設定してみました。
結果が下のヒストグラムになります。
横軸の目盛りがスッキリしました。
横軸を自由に設定する作り方
前述したExcelの「ヒストグラム」を使用すると一瞬で完成するのですが、横軸を好きな数値で設定できないのが困ります。
自由に設定したい場合は、「度数分布表」から作成しましょう。
度数分布表の作り方
一定の数値で区切ってまとめたものが度数分布表です。
表を作成しておけば、グラフの[ヒストグラム]で簡単に作成できますし、通常の縦棒グラフからヒストグラムの形へ変更することもできます。
最初に説明したように、左の数字が階級で、右の数字が度数になります。
今回使用するのは、ここまでの説明でも使用した、下のデータです。
この表の右側に、下画像のような度数分布表を作成してみます。
最初に「階級の幅」を決めて手入力しましょう。
※1行目の見出しは、グラフ作成時には使用しないので入力しなくても構いません。
この場所がヒストグラム作成時の横軸部分になります。
準備ができたら、右側に「度数」を関数を使用して入力します。
使用する関数は「COUNTIF関数」。
COUNTIF関数は、条件に合ったデータの個数を数えてくれる関数です。
この関数を2回使用します。
COUNTIF関数・・・指定した範囲の中で、条件に合ったデータをカウントする。
COUNTIF(範囲,検索条件)
- 範囲・・・検索する範囲を指定
- 検索条件・・・検索する条件を指定
イメージとしては、下図のようになります。
例えば「30~40」の階級の個数を知りたい場合、30以上の個数を数え(中央の棒部分)、そこから40以上の個数(右端の棒部分)を引き算します
(中央の棒部分 - 右端の棒部分 = 30以上40未満)
「E2」に関数を入力したのが下の画像です。
=COUNTIF($B$2:$B$48,">=45")-COUNTIF($B$2:$B$48,">=50")
言葉にすると、「45以上のデータの個数から、50以上のデータの個数を引いた結果を表示してね」という感じ。
注意点は下の2つです。
- 元データ全体のセル範囲を$記号を付けて絶対参照にする
- 「>=45」などの条件はダブルクォーテーション「”」で囲む
これで度数分布表が完成しました。
【おまけ】
この場所を算出するもう一つの方法として、FREQUENCY関数を使用する方法もあります、
FREQUENCY関数は、選択したデータ範囲内で、値が発生する頻度を計算して垂直方向の配列として返してくれる関数です。
言葉で説明しても何を言っているのかよく分かりませんね。
実際に使ってみましょう。
準備として、各階級の最大値を入力しておきます。
FREQUENCY関数は各区間の最大値が必要となります。
準備ができたら、FREQUENCY関数の引数[データ配列]の場所には全体のデータ。[区間配列]の場所に今作成したデータ範囲を指定します。
=FREQUENCY(B2:B48,F2:F10)
※配列数式を使用するので、バージョン2019以前を使用している場合は、 最初に結果を表示するセル範囲全体を選択 → 数式バーに直接式を入力 → 「Ctrl」+「Shift」+「Enter」で確定 という手順が必要になります。
バージョン2021以降を使用している場合は、結果が下のようにスピルされて表示されます。
最初に説明したCOUNTIF関数の引き算よりこちらの方が、式が単純で良い気もするのですが、注意したい点があります。
先ほどのCOUNTIF関数を使用した結果と、FREQUENCY関数を並べたものが下の画像です。
結果が異なる場所がありますね。
その原因は階級の区切る位置ピッタリのデータです。
FREQUENCY関数は、指定した数値までの個数を数えます。
そのため「60~65」という階級の場合は、「65」ピッタリのデータも数えることになります。
今回の場合、階級は「〇以上~〇未満」という表記ですので、「65」のデータは次の「65~70」の場所でカウントしてくれないと困ってしまいます。
そのため、見出しを下のように変更する必要が出てきます。
ちょっと不自然な感じがします。
「〇以上~〇未満」の方が一般的ではないでしょうか。
ということで、今回の例ではFREQUENCY関数よりも、COUNTIF関数の引き算をお勧めしたいと思います。
FREQUENCY関数を使う場合、小数点以下が存在しないデータの場合は、下のように数値を1ずらした階級を指定する方法もありますね。
度数分布表からヒストグラムを作る
さて、作成した度数分布表からヒストグラムを作ってみましょう。
通常のグラフ作成と同じように作成すれば良いのですが、作成後に「分類項目別」の設定にする必要があります。
作成した度数分布表のデータ部分を選択して、
[挿入]タブ → [統計グラフの挿入] →
一覧から[ヒストグラム]を選びます。
完成!といきたいところですが、何かおかしいですね。
まとめる系列の変更が必要です。
横軸をダブルクリック。
画面右側に表示された作業ウィンドウの[軸のオプション]で、[分類項目別]にチェックを入れます。
これで、下画像のように階級別に表示されます。
度数分布表によって作成されるヒストグラムを自由に調整できます。
例えば、下のように度数分布表を作成すれば、
横軸を「0」からスタートすることもできますね。
注意点ですが、「分類項目別」に変更したことで、その下にあるピンの設定は使えなくなります。
度数分布表で調整すれば良いので、使う必要もありませんね。
まとめ
過去のバージョンでは、「分析ツール」のアドインを入れるなど面倒な点がありました。
それが手軽に作成できるようになり、とても便利になりました。
データの分布を知りたい場合は、気軽に作成したいですね。
ちらばり具合を知りたい場合は多いと思うにゃ