Excelでヒストグラムを作成すると、データ区間(横軸)の表示がおかしくて困った経験はありませんか。
48.5から65.3のように中途半端な数値で区切られてしまったり、100点満点なのに106点まで表示されたり、希望する区間幅とは全く違う設定になったりします。
これらのヒストグラムの区間の問題は、ビンの設定方法を理解し、適切な方法で作成すれば解決できます。
区間がおかしくなる原因は、Excelが自動で設定した区間を使っている、ビンの幅や数の設定が適切でない、オーバーフローとアンダーフローを設定していない、あるいは度数分布表を使わずに直接作成しているなど様々です。
本記事では、Excelでヒストグラムの区間がおかしい時の症状別に、具体的な解決方法を詳しく解説します。
きれいで分かりやすいヒストグラムを作成したい方は、ぜひ参考にしてください。
ポイントは
・ビンの幅を指定して区間を整数にする
・オーバーフローとアンダーフローで開始点を調整する
・度数分布表を先に作成してから挿入する方法が確実
です。
それでは詳しく見ていきましょう。
ヒストグラムの区間(ビン)の基本を理解する
まず、ヒストグラムの区間設定の仕組みを理解しておきましょう。
ビンとは何か
ヒストグラムの横軸に表示される区間のことを、Excelでは「ビン」と呼びます。
ビンは統計学で階級とも呼ばれ、データを一定の範囲で区切ったものです。例えば、テストの点数を「0〜10点」「10〜20点」「20〜30点」のように区切った場合、それぞれの区間が1つのビンになります。
Excel 2016以降では、挿入タブからヒストグラムを選択すると、自動的にビンが設定されます。しかし、この自動設定は必ずしも見やすい区間にはなりません。
[48,65]や(65,82]のような表記が表示されますが、これは数学的な区間の表記法です。[48,65]は「48以上65以下」、(65,82]は「65より大きく82以下」を意味します。
ビンの表記方法:
[48,65] → 48以上65以下(両端を含む)
(65,82] → 65より大きく82以下(左端は含まない)
[70,80) → 70以上80未満(右端は含まない)
Excelのヒストグラムでは基本的に「以上〜以下」の形式で区間が設定されます。
自動設定でおかしくなる理由
Excelがヒストグラムを自動作成する際、データの最小値と最大値から適切な区間を計算しようとしますが、人間にとって分かりやすい数値にはならないことがよくあります。
例えば、テストの点数が46点から98点までの場合、Excelは[46,67]、(67,88]、(88,109]のような区間を自動生成します。
67点で区切る必然性はなく、100点満点のテストで109点まで表示されるのも不自然です。
このような自動設定は、統計的には正しくても、実用的には使いにくいヒストグラムになってしまいます。
| 自動設定の例 | 問題点 | 望ましい設定 |
|---|---|---|
| [46,67] (67,88] (88,109] | 中途半端な数値、最大値超過 | 40-50, 50-60, 60-70… |
| [48.5,63.2] (63.2,77.9] | 小数点が含まれる | 40-50, 50-60, 60-70… |
| 3つの区間だけ | 区間が少なすぎる | 10個前後の区間 |
| 15個以上の細かい区間 | 区間が多すぎる | 5-10個程度の区間 |
軸の書式設定でビンを調整する方法
既に作成したヒストグラムの区間を修正する基本的な方法を確認します。
ビンの幅を指定する
区間を整数で区切りたい場合、ビンの幅を指定する方法が最も簡単です。
ヒストグラムの横軸(項目軸)を右クリックし、「軸の書式設定」を選択します。
画面右側に「軸の書式設定」作業ウィンドウが表示されたら、「軸のオプション」アイコン(棒グラフのようなアイコン)をクリックします。
「ビン」という設定項目があるので、ここで「ビンの幅」を選択します。
例えば、10点刻みにしたい場合はテキストボックスに「10」と入力します。これで区間の幅が10に設定されます。
ビンの幅設定手順:
1. 横軸を右クリック→「軸の書式設定」
2. 「軸のオプション」を選択
3. 「ビン」セクションで「ビンの幅」を選択
4. 希望する幅(例:10)を入力
区間の幅が指定した値に変更されます。
ただし、ビンの幅を指定しただけでは、開始点が中途半端になることがあります。例えば[48,58]、(58,68]のように始まってしまいます。
オーバーフローとアンダーフローで調整する
区間の開始点を整数にするには、ビンのオーバーフローとアンダーフローを組み合わせて設定します。
同じ「軸の書式設定」の中に「ビンのオーバーフロー」と「ビンのアンダーフロー」という設定があります。
「ビンのアンダーフロー」は、指定した数値以下のデータを1つの区間にまとめる機能です。例えば50と設定すると、50以下のデータが1つの区間になります。
「ビンのオーバーフロー」は、指定した数値より大きいデータを1つの区間にまとめる機能です。例えば90と設定すると、90より大きいデータが1つの区間になります。
テストの点数で40点から100点のデータがある場合、「ビンの幅」を10、「ビンのアンダーフロー」を40、「ビンのオーバーフロー」を100と設定すれば、40以下、40-50、50-60、60-70、70-80、80-90、90-100、100以上というきれいな区間になります。
| 設定項目 | 設定値 | 効果 | 表示例 |
|---|---|---|---|
| ビンの幅 | 10 | 区間の幅を10に | 10点刻み |
| ビンのアンダーフロー | 40 | 40以下を1つの区間に | ≤40 |
| ビンのオーバーフロー | 100 | 100より大きいを1つの区間に | >100 |
| 組み合わせ結果 | – | 整数区間になる | 40-50, 50-60… |
ビンの数で指定する方法
区間の幅ではなく、区間の数を指定することもできます。
「ビン」の設定で「ビンの数」を選択し、希望する区間の数を入力します。
例えば、6と入力すれば、データ全体が6つの区間に分割されます。
ただし、この方法では区間の境界が小数点を含む数値になることが多くあります。整数の区間にしたい場合は、やはりオーバーフローとアンダーフローを併用する必要があります。
一般的には、ヒストグラムの区間数は5個から15個程度が見やすいとされています。区間が少なすぎるとデータの分布が分からず、多すぎると細かくなりすぎて傾向が掴みにくくなります。
度数分布表から作成する確実な方法
軸の書式設定で調整しても思い通りにならない場合は、度数分布表を先に作成する方法が確実です。
度数分布表とは
度数分布表とは、データを一定の区間で区切り、各区間に含まれるデータの個数を集計した表のことです。
例えば、テストの点数データから「40-50点」「50-60点」「60-70点」といった区間を作り、それぞれの区間に何人いるかを数えたものが度数分布表です。
この度数分布表を先に作成しておけば、Excelの自動設定に振り回されることなく、希望通りの区間でヒストグラムを作成できます。
度数分布表は、COUNTIFS関数やFREQUENCY関数を使って作成できます。
度数分布表を作成してからヒストグラムを作る方法は、一見手間がかかるように見えますが、実際には最も確実で分かりやすい方法です。
特に、同じ形式のヒストグラムを繰り返し作成する必要がある場合は、度数分布表のテンプレートを作っておくと効率的です。
元データが変わっても、度数分布表の数式が自動的に再計算されるため、グラフも自動更新されます。
COUNTIFS関数で度数分布表を作成する
度数分布表を作成する最も分かりやすい方法は、COUNTIFS関数を使う方法です。
まず、階級の区間を手動で入力します。例えば、A列に「40」「50」「60」「70」「80」「90」「100」と入力します。
B列に各区間の度数(個数)を計算する数式を入力します。B2セルに「=COUNTIFS($D$2:$D$100,”>=A2″,$D$2:$D$100,”
この度数分布表ができたら、A列とB列を選択して、挿入タブから「ヒストグラム」を選択します。
| 階級(A列) | 数式(B列) | 結果例 |
|---|---|---|
| 40 | =COUNTIFS($D$2:$D$100,”>=40″,$D$2:$D$100,”<50") | 3 |
| 50 | =COUNTIFS($D$2:$D$100,”>=50″,$D$2:$D$100,”<60") | 5 |
| 60 | =COUNTIFS($D$2:$D$100,”>=60″,$D$2:$D$100,”<70") | 8 |
| 70 | =COUNTIFS($D$2:$D$100,”>=70″,$D$2:$D$100,”<80") | 6 |
ヒストグラムを分類項目別に設定する
度数分布表からヒストグラムを作成した後、横軸を「分類項目別」に設定する必要があります。
ヒストグラムが表示されたら、横軸を右クリックして「軸の書式設定」を開きます。
「軸のオプション」の「ビン」セクションで、「分類項目別」を選択します。
これで、度数分布表で設定した階級がそのまま横軸に表示されます。
この方法なら、「ビンの幅」や「オーバーフロー」の設定を気にせず、最初から希望通りの区間でヒストグラムが作成できます。
FREQUENCY関数を使う方法
もう一つの方法として、FREQUENCY関数を使って度数を計算する方法もあります。
FREQUENCY関数は配列数式として動作し、一度に全ての区間の度数を計算できます。
ただし、FREQUENCY関数は区間の右端を含む方式で計算するため、COUNTIFS関数とは微妙に結果が異なることがあります。
また、Excel 2019以前では配列数式の入力にCtrl+Shift+Enterが必要など、やや扱いが難しい面があります。
初心者には、COUNTIFS関数を使う方法の方が分かりやすくおすすめです。
分析ツールのヒストグラムとの違い
Excelには、もう一つヒストグラムを作成する方法があります。
分析ツールのヒストグラム
データタブの「データ分析」から選択できる「ヒストグラム」は、分析ツールアドインの機能です。
この方法では、データ区間を別のセルに事前に入力しておき、その区間に基づいてヒストグラムが作成されます。
分析ツールのヒストグラムは、度数分布表とグラフが同時に出力される便利な機能ですが、作成後にビンの設定を変更することができません。
区間を変更したい場合は、最初から作り直す必要があります。
また、分析ツールを使用する場合は、事前にアドインを有効にする必要があります。「ファイル」→「オプション」→「アドイン」から「分析ツール」にチェックを入れます。
分析ツールのヒストグラムと挿入タブから作成するヒストグラムは別物です。
挿入タブのヒストグラムは、作成後にビンの設定を自由に変更できる柔軟性がありますが、分析ツールのヒストグラムは一度作成すると固定されます。
用途に応じて使い分けることが重要ですが、一般的には挿入タブからのヒストグラム作成の方が便利です。
どちらの方法を選ぶべきか
柔軟性を重視するなら挿入タブのヒストグラム、一度作成したら変更しない場合は分析ツールという使い分けができます。
ただし、どちらの方法でも、度数分布表を先に作成してからグラフ化する方が、区間の設定で悩むことが少なくなります。
特に、決まった形式のヒストグラムを定期的に作成する必要がある場合は、度数分布表のテンプレートを用意しておく方法が最も効率的です。
まとめ エクセルでヒストグラムの区間がおかしい時の直し方
エクセルでヒストグラムの区間がおかしい時の対処法をまとめると
・ビンの幅を指定する方法は、横軸を右クリック→軸の書式設定→ビンの幅を選択して希望する値を入力、例えば10と入力すれば10刻みの区間になる
・オーバーフローとアンダーフローを併用すると、区間の開始点を整数に調整できる、アンダーフローで下限を設定しオーバーフローで上限を設定する
・度数分布表を先に作成してからヒストグラムを挿入する方法が最も確実、COUNTIFS関数で各区間の度数を計算し、分類項目別に設定する
・ビンの数で指定する方法もあるが、小数点を含む区間になりやすい、オーバーフローとアンダーフローの併用が必要
・分析ツールのヒストグラムは作成後の変更ができない、挿入タブからのヒストグラムの方が柔軟性が高い
これらの方法を使い分ければ、希望通りの区間でヒストグラムを作成できます。
特に重要なのは、Excelの自動設定に頼らず、自分で区間を設定することです。
軸の書式設定で調整する方法は簡単ですが、細かい制御が難しい場合もあります。その場合は、手間はかかりますが度数分布表を先に作成する方法を選択しましょう。
一度作成方法をマスターすれば、同じ形式のヒストグラムを繰り返し作成するのも簡単になります。
きれいで分かりやすいヒストグラムを作成して、データ分析を効果的に行っていきましょう!