Excelによるデータ分析

Excelのヒストグラム

このページは、Excelでグラフを作る時に、知っていると便利な豆知識です。

区切りの良い区間のヒストグラム

Excelで 区切りの良い区間のヒストグラム を作る方法ですが、 ROUNDDOWN関数と、IF関数と、「ビンの幅」の設定の、3つを組み合わせます。

まず、下のようなデータがあったとします。 これをこのままヒストグラムにすると、区切りが最大値と最小値で決まるヒストグラムになります。
ヒストグラム2     ヒストグラム2

次に、B2セルに
=ROUNDDOWN(A2,0)
と入れてから、B列の下のセルに関数を、コピーします。
(これは、小数点以下を切り捨てるための設定です。 少数第2位以下を切り捨てるのなら、「0」にしているところが「1」になります。 1の位以下を切り捨てるのなら、「0」にしているところが「-1」になります。)
これをこのままヒストグラムにします。 とりあえず、区切りが整数になりました。
ヒストグラム2   ヒストグラム2

上のグラフで、最小値が「82」になっていることがわかります。
C2セルに
=IF(B2=82,B2,B2+1)
と入れてから、C列の下のセルに関数をコピーします。 そして、C列のデータをヒストグラムにします。
この関数は、B列の数字が82なら、82をC列に書いて、82以外なら、C列の数字に1を足すための関数です。 「1」というのは、区間の幅にする数字です。
Excelのヒストグラムは、一番左の棒が「○○以上、××以下」の区間になっていて、 それ以外の棒は、「〇〇より大きい、××以下」となっています。 桁を加工したデータでヒストグラムを作る場合、 この関数を入れないと、一番左の棒に、本当は2本の棒に分かれて欲しいデータが混ざってしまいます。 また、例えば、ヒストグラムの横軸に[90,91]と書いてある棒には、 元のデータが「91以上92未満」で小数点以下を切り捨てたことによって「91」になったデータが入るのですが、 [90,91]と書いてあると「元のデータが90と91の間」と思えてしまうため、ややこしいことになります。 この関数を入れることで、この2つの問題を解決して、わかりやすいグラフにします。
ヒストグラム2   ヒストグラム2

X軸の書式設定を開いて、「ビンの幅」を「1」にします。 これでできあがりです。
ヒストグラム2   ヒストグラム2

上の作り方をすると、できあがったグラフの
[90,91]の棒は、元のデータで「90以上91未満
になっているものの頻度です。

そのため、Excelで、特にデータの加工をしないでヒストグラムを作った時に
[90,91]の棒は、元のデータで「90より大きい91以下
になっている事を知っている人は、混乱する可能性があります。

また、筆者の場合は、「以上未満」で区間が決まっていて欲しい経験しかないですが、 「より大きい以下」で区切りの良い区間が決まっていて欲しい場合は、上の作り方だと正しくないです。

[90,91]の棒が、元のデータで「90より大きい91以下」 になるようにするには、B列にROUNDUP関数を使います。 C列は、
=IF(B2=83,B2-1,B2)
になります。1番目の引数にB列の最小値を使うことは同じですが、2番目、3番目の引数が違ってきます。



Tweet データサイエンス教室