データの分布を可視化するための代表手段の1つはヒストグラムです。

ヒストグラムとは、データがとりうる区間(階級)ごとのデータの個数(度数)を分布として表現したグラフです。横軸は階級、縦軸は度数です。

ヒストグラムの作成にExcelが便利です。しかし、Excelでの作り方が意外とトリッキーなので、ここで一緒におさらいしましょう。

資料請求でデータサイエンスの基礎が学べる講義を無料プレゼント
  ・講座(G検定・機械学習・データ分析など) 約3時間分

現役プロ講師によるわかりやすい講義

1分で簡単!今すぐ見れます(会員登録→お申込み→講座視聴)

20日間無料で講義を体験!

度数分析

度数分析では、データの数値をいくつかの階層に分け、各階層に属するデータの個数を表示することでデータを整理します。これによって度数分布表が得られます。度数分布表を棒グラフ状にプロットしたものを「ヒストグラム」と呼びます。度数分析を活用すると、データ全体の分布状況、データが代表する集団の性質や傾向を視覚的に把握するのに有効です。

また、度数分析の階層(階級ともいう)の幅の取り方によって、見せ方や解釈の仕方が左右されることに注意してください。

度数分析の用途例としては、販促クーポンを一番来客数の多い時間帯に店頭で配布したいのですが、時間帯のヒストグラムを見ると、昼前後と夕方頃が一番多いことを知ることができます。

Excelでヒストグラムを作る2つの方法

早速、製品番号ごとの売り上げデータをヒストグラムにしてみましょう。

全部で47件ある売り上げデータ(上の一部のみ表示)です。

2通りのやり方をお伝えします。

①FREQUENCY関数で作成した度数分布表からグラフを挿入する方法

②Excelの分析ツールにあるグラフ機能を使う方法

大差はないですが、どちらかというと②の方がやや楽です。一方で①は自動化が少ない分度数分布表の基本に立ち返ることができます。両方の方法とも理解を深めるためにチャレンジしてみましょう。

どちらの手法でも(自動的にヒストグラムを挿入するとデータ区間が中途半端な数値になりがちので)データ区間(階級幅)を手動で用意する必要があります。

データ区間を以下のように設定することをおすすめします。図1 をご覧になってください。

1. 関数 max(), min(), count() を用いて、それぞれ最大値、最小値、データ数を出します。

2. 最小値から最大値まで全てカバーする範囲を設けて、全データ数を加味し各区間にそれなりにデータの個数が所属できるように階級幅を入れます。その際、データ区間列に入れるのは階級の代表値です。ここでは端の値を使います。

図1:データ区間を作るためにデータの最大値、最小値、総カウントを計算する

以上、準備が整えたので、まず手法①の方からやってみましょう。

Frequency関数を用いた手法

最初に、FREQUENCY関数を使って、各区間の頻度を計算します。図2 をご覧になってください。

1つ目のセルに以下の数式を入力しEnterを押します。

=FREQUENCY(B:B,C2:C10)

これをコピー → プールダウン→ペーストで残りの「頻度」列の値を埋めます。

(注)1800-2000 なので、C11までではなくC10までです。

図2: Frequency関数を用いて階級ごとの度数を表す「頻度」列を作成

同時に累積の折れ線も重ねて表示したい場合は、E列に「累積」を計算してもいいです。ここでは省略します。

次に、データ区間、頻度の2つの列でヒストグラムを作ります。

集計したい列とデータ区間を選択し、メニュー>挿入>棒グラフ を選びます(図3)。

(注)FREQUENCY関数を使って半手動で行うこの方法①では、グラフの種別として最初からヒストグラムを選びません。データ区間の間隔が自動で出てしまい修正しにくいです。これが裏技の1つです。

図3: (左)ツールバーから棒グラフを挿入 (右)メニューからプルダウンして棒グラフを挿入

最初に選んだC列とD列はデフォルトでヒストグラムに配置されてしまうので、ヒストグラムが現れてからは、グラフのデータを編集します(図4)

図4: プロットエリアを右クリックし、「グラフ データの選択」を選ぶ

X軸をC列(データ区間)、Y軸(度数)はD列になるように設定します。

図5: グラフデータの編集:X軸には「データ区間」を、Y軸には「頻度」を設定

これで、ヒストグラムが正しいデータを反映できるようになりました。しかし、棒と棒の間の間隔が広くて、データ分布を表すはずのヒストグラムらしさが足りませんね。

ということで、棒の間隔を縮ませましょう。

1つもしくは複数の棒を選択し、書式タブ>書式ウィンドウを開きます。要素の間隔を0もしくは(隙間線が少し欲しい場合)適当に5%前後に設定します(図6)。

これでヒストグラムっぽくなりましたね!

図6: データ系列の書式設定を行い、棒の間隔を小さくしヒストグラム形式に変換する

Excelの分析ツールを使う方法

Excelのアドインで分析ツールを追加します。

ツールバーで「データ」>「データ分析」を選び、出てくるメニュー・ウィンドウから「ヒストグラム」を選びます(図7)。

図7: Excelのデータ分析ツールからヒストグラムを選ぶ

そうすると、図8のような画面が出てきます。データ分析ツールを使ってヒストグラムを挿入した場合のグラフデータ設定画面です。

図8: データ分析ツールを使ってヒストグラムを挿入した場合のグラフデータ設定画面

ここに入力範囲とデータ区間を指定します。入力範囲は売り上げのB列、データ区間は手動で作成したC列です。

図9が行われるべき設定です。

ここで、ラベルにチェックを入れると、選んだ範囲にヘッダーが含まれても2行目から集計されます。また、累積の折れ線を作りたい場合、度数分布表だけではなく、ヒストグラムも描きたい場合は、該当するチェックを入れましょう

図9:分析ツールのヒストグラムのデータ設定画面

グラグのデータを設定し終えて、OKを押すと、図10のような結果が新しいシートに現れます。左側には自動的に作成された度数分布表(頻度の列、累積の列)、そして、右側には度数が棒状で、累積が折れ線で重ねてプロットされたヒストグラムがあります。

図10: 分析ツールによって作成された度数分布表とヒストグラム

最後に書式設定

以下は書式設定です。最初は棒グラフに見えることもあるので、ヒストグラムっぽく見えるように、ビンサイズを調整します。図6と同様なやり方です。

図11: ヒストグラムの棒の間隔を調整

さらに、累積の%表示が小数点以下2桁と表示形式が長すぎるので、図12、図13のように、%表示の軸をクリック>メニューから「軸の書式設定」>「表示形式」にて小数点以下の桁数を0にします。

図12: 小数点表示を調整したい軸の書式設定画面を出す
図13: 軸の書式設定にて、表示形式の「小数点以下の桁数」を0にする

皆さんも、数十件くらいのデータを持ってきて、ぜひ上記で説明した方法をお試しください。

最後に、著者はMac OS を使用しており、上で貼り付けた画像はMac OS版のExcelのものになっています。Windows OS用のExcel、もしくは無償のGoogle Spreadsheet を使っている場合も、似たような機能が見つかります。

データサイエンス(G検定・AI・機械学習・データ分析)

資料請求でデータサイエンスの基礎が学べる講義を無料プレゼント
  ・講座(G検定・機械学習・データ分析など) 約3時間分

現役プロ講師によるわかりやすい講義

1分で簡単!今すぐ見れます(会員登録→お申込み→講座視聴)

20日間無料で講義を体験!

実践的な
Python・データ分析スキル

を身に付けたい方へ

何から手をつけたら良いかわからない

独学で挫折したことがある

専門的な内容で身近に相談できる人がいない

このような悩みをお持ちでしたら
AI Academy Bootcampにご相談下さい!

「目的別学習コース」と「手厚いサポート」

AI Academy Bootcampに無料相談する>>

この記事の著者 ヤン ジャクリン

ヤン ジャクリン (講師紹介はこちら

2015年 東京大学大学院 理学系研究科物理学専攻 修了(理学博士)
2015年 高エネルギー加速器研究機構 素粒子原子核研究所(博士研究員)
2017年 株式会社GRI(現職) 講師 兼 分析官
2019年 Tableau Desktop Certified Associate 資格取得

・英検1級
・TOEFL IBT試験満点

北京生まれ、米国東海岸出身(米国籍)、小学高学年より茨城県育ち。

万物の質量の源となるヒッグス粒子の性質を解明し、加速器実験による新粒子発見に関する研究を行い、国際・国内学会発表20件以上、査読論文5件以上。
10年以上に渡り、幅広い年齢層の学習指導を学習塾や大学などで実施(5科目、英会話、受験指導、素粒子物理など)。
現在は、株式会社GRIにて、データ分析官(データ前処理、可視化分析、マーケティング施策の分析 他)
公開講座および法人研修を多数開設。

講座を見る