- 公開日:
- 更新日:
ExcelのFREQUENCY関数の使い方|データの度数分布を垂直配列で返す
この記事では、ExcelのFREQUENCY関数の使い方についてご説明します。
FREQUENCY関数は、条件に合うセルの個数を数える関数で、度数分布表やヒストグラムを作成する際に役立ちます。
その他FREQUENCY関数の引数を複数設定する方法や、FREQUENCY関数の設定がうまくいかない時の対処法等についてもご紹介していますので、参考にしてみてください。
FREQUENCY関数とは?
FREQUENCY(フリークエンシー)関数とは、対象の範囲で値が何度発生するかを計算しその結果を縦方向の配列として返す関数です。
FREQUENCY関数を使うと、度数分布表を作成することが出来ます。
度数分布表とは、データをいくつかの階級に分けて、その階級に当てはまるデータの数をカウントした表のことです。
例えば上の画像では、国語の点数の分布を表した度数分布表を作成しています。
FREQUENCY関数を使って、C列の点数を参照し「どの点数を何人がとったのか」という数値をF列に表示しています。
あらかじめ「階級表(例:E列)」を作成しておく必要があり、ここでの分け方にそって数値が割り振られます。
階級表について
FREQUENCY関数では、データの分布を割り出すための「階級表」をあらかじめ作成する必要があります。
また、上の画像の階級表は点数を10点ずつに分けてそれぞれの点数を何人の人がとったのかを調べています。
例えば階級表に「70」と入力した場合は、「61点以上70点以下」の人数がカウントされます。「70点以上80点未満」の人数ではないため注意しましょう。
FREQUENCY関数の用法
FREQUENCY関数の用法については、以下のような例があります。
- 点数表から、10点ごとに獲得点数の分布を調べる
- 売り上げ表から、その商品をどの年代の人がよく買っているかを調べる
- 学年別に生徒をリスト化して、学年ごとの身長の割合を調べる
FREQUENCY関数の書式
まずは、FREQUENCY関数の書式を確認していきましょう。
FREQUENCY関数は、「=FREQUENCY(データ配列,区間配列)」のように記述します。
引数を1つずつ確認していきましょう。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
第1引数(データ配列)
1番目の引数は「データ配列」です。この引数は必須です。分布を調べたいデータリストを「データ配列」の引数として指定します。
例えば、上の画像ではC列の点数表をもとにF列に度数分布の結果を表示しているので、赤枠で囲ったC列の点数リストをデータ配列として設定しています。
第2引数(区間配列)
2番目の引数は「区間配列」です。この引数は必須です。度数分布の基準となる数値を入力します。
例えば、上の画像ではC列の点数をE列の階級表に当てはめてそれぞれの点数を取った人数をカウントしているため、E列の階級表を区間配列の引数として設定しています。
FREQUENCY関数の使い方
FREQUENCY関数の様々な使い方について、ご紹介します。
基本操作を行う
FREQUENCY関数を使って、国語の点数についての度数分布表を作成する方法をご説明します。
まずは、階級表を準備します。上の画像のような表を準備し、E列に「階級表」を作成しておきましょう。今回は国語の点数の10点ごとの分布が知りたいので、10点ごとに作成しました。
【データ分布を入力したい任意のセル範囲(例:F3からF12セル)】を範囲選択します。
FREQUENCY関数を入力します。「範囲選択した一番上のセル(例:F3)」に『=FREQUENCY(』と入力します。
データ配列の引数を設定します。C列の国語の点数リストをもとに度数分布表を作成したいので「=FREQUENCY(」に続いて『$C$3:$C$17,』と入力します。
区間配列の引数を設定します。E列の階級表にそった分布を調べたいので「$C$3:$C$17,」に続いて『$E$3:$E$12)』と入力し、【Shift】+【Ctrl】+【Enter】キーを押します。
表が完成し、度数分布表にそれぞれの数値が表示されました。これでFREQUENCY関数を使って、国語の点数についての度数分布表を作成することが出来ました。
複数範囲を指定する
FREQUENCY関数では、データ配列の引数として複数セルを設定することも出来ます。
方法の詳細は、以下の通りです。
エクセルファイルを開き、上の画像のような表を準備します。
【データ分布を入力したい任意のセル範囲(例:F3からF12セル)】を範囲選択します。
FREQUENCY関数を入力します。
「範囲選択した一番上のセル(例:F3)」に『=FREQUENCY(』と入力します。
データ配列の引数を設定します。
今回は複数セルをデータ配列の引数として設定したいので、「=FREQUENCY(」に続いて『($C$3:$C$17,$C$21:$C$23),』と入力します。
FREQUENCY関数では、セル範囲を括弧で囲むことによって複数セルを引数として設定することが出来ます。
次に、区間配列の引数を設定します。
「($C$3:$C$17,$C$21:$C$23),」に続いて『$E$3:$E$12)』と入力し、Shift+Ctrl+Enterを押します。
これでFREQUENCY関数を使って、複数セルを対象に度数分布表を作成することが出来ました。
以上/未満の階級を定める
FREQUENCY関数では、度数分布表の階級として「以上/未満」を定めることが出来ません。
「以上/未満」でデータを分けて度数分布表を作成したい場合は、FREQUENCY関数ではなくCOUNTIFS関数を使ってセルの数を数えましょう。
COUNTIFS関数の詳細については、以下の記事をご参照ください。
ExcelのCOUNTIFS関数の使い方|複数条件に一致するデータを数える
COUNTIFS関数を使って度数分布表の階級として「以上/未満」を定める方法は以下の通りです。
上の画像のような表を作成し、まずは「0点以上10点未満」の点数を数えるための数式をCOUNTIFS関数で作成します。
COUNTIFS関数の書式は「=COUNTIFS(範囲1,検索条件1,[範囲2,検索条件2],…)」です。
【任意のセル(例:F4)】を選択し、『=COUNTIFS(C3:C17,">=0",C3:C17,"<10")』と入力します。
次に「10点以上20点未満」の点数を数えるための数式を入力します。
【任意のセル(例:F4)】を選択し、『=COUNTIFS(C3:C17,">=10",C3:C17,"<20")』と入力します。
同様にそれぞれの階級についても、COUNTIFS関数を入力していきます。
入力の際は「=COUNTIFS(C3:C17,">=1つ前の階級の数字",C3:C17,"<階級の数字")」という形で入力していきましょう。
F列のすべてのセルにCOUNTIFS関数を入力したら、完成です。
これで、COUNTIS関数を使って度数分布表の階級として「以上/未満」を定めることが出来ました。
時間帯別に来客者の集計を算出する
FREQUENCY関数を使って、Excelで時間帯別に来客者の集計を算出する表を作成することが出来ます。
エクセルファイルを開き、上の画像のような表を準備します。
今回は、B列とC列に入力した来店表をもとに、時間帯ごとの来客者数を表した度数分布表を作成します。
【データ分布を入力したい任意のセル範囲(例:F3からF12セル)】を範囲選択します。
FREQUENCY関数を入力します。
「範囲選択した一番上のセル(例:F3)」に『=FREQUENCY(』と入力します。
データ配列の引数を設定します。
今回は複数セルをデータ配列の引数として設定したいので、「=FREQUENCY(」に続いて『$C$3:$C$17,』と入力します。
次に、区間配列の引数を設定します。
「$C$3:$C$17」に続いて『$E$3:$E$12)』と入力し、Shift+Ctrl+Enterを押します。
これで、FREQUENCY関数を使って、時間帯別に来客者の集計を算出する表を作成することが出来ました。
ヒストグラムを作成する
ヒストグラムとは度数分布表をグラフ化したものです。
FREQUENCY関数を使って度数分布表を作成すれば、簡単にヒストグラムが作成できます。
ヒストグラムの詳細については、以下の記事をご参照ください。
ヒストグラムとは?エクセルによるヒストグラムの作り方(書き方)
FREQUENCY関数で作成した度数分布表を使って、ヒストグラムを作成する方法は以下の通りです。
まずは、上記「基本操作を行う」セクションを参考に、FREQUENCY関数を使って度数分布表を作成しておきましょう。
【ファイル】タブを選択します。
画面左下の【オプション】を選択します。
「Excel のオプション」ダイアログボックスが表示されます。
①【アドイン】タブ、②【分析ツール】の順に選択し、③【OK】ボタンを押します。
Excelの画面に戻ります。
①【開発】タブ、②【Excelアドイン】の順に選択します。
開発タブはExcelの初期設定では表示されていないため、以下の記事を参考に表示の設定を行ってください。
「アドイン」ダイアログボックスが表示されます。
①「分析ツール」に【チェックマーク】を入れ、②【OK】ボタンを押します。
Excelの画面に戻ります。
①【データ】タブ、②【データ分析】の順に選択します。
「データ分析」ダイアログボックスが表示されます。
①【ヒストグラム】、②【OK】ボタンの順に選択します。
「ヒストグラム」ダイアログボックスが表示されます。
①「入力範囲」に『$C$3:$C$17』、②「データ区間」に『$E$3:$E$12』と入力します。
「入力範囲」はデータ配列の引数、「データ区間」は区間配列の引数にそれぞれ対応しています。
③「グラフ作成」に【チェックマーク】を入れて、④【OK】ボタンを押します。
これで、FREQUENCY関数で作成した度数分布表を使ってヒストグラムを作成することが出来ました。
FREQUENCY関数とCOUNTIF関数の違いとは?
FREQUENCY関数とCOUNTIF関数は、どちらも条件に合ったセルの数を数える関数です。
FREQUENCY関数は「○○から○○までに当てはまるデータ」といったように条件の範囲を決めてセルをカウントするのに対し、COUNTIF関数は1つの条件に当てはまるセルをカウントするという違いがあります。
COUNTIF関数の詳細については、以下の記事をご参照ください。
ExcelのCOUNTIF関数の使い方|条件に一致するデータの個数表示
COUNTIF関数を使うことでも、FREQUENCY関数と同じような度数分布表を作成することが出来ます。
上の画像は、FREQUENCY関数とCOUNTIF関数の両方で同じ結果が出る度数分布表を作成した例です。
今回は、COUNTIF関数を使った度数分布表を作成方法をご紹介します。
まずは、上の画像のような表を準備しましょう。
今回は、COUNTIF関数を使って点数の度数分布表を作成します。
あらかじめ階級表を作成し、10点刻みで点数を入力しておきます。
まずは、「10点以下」をカウントするための数式を入力します。
【任意のセル(例:F4)】を選択し、『=COUNTIF($C$3:$C$17,"<=10")』と入力します。
「=COUNTIF($C$3:$C$17,"<=10")」は、「C3セルからC17セルに入力した点数表から10点以下のセルをカウントする」という意味の数式です。
次に「11点以上20点以下」をカウントするための数式を入力します。
【任意のセル(例:F5)】を選択し、『=COUNTIF($C$3:$C$17,"<=20")-COUNTIF($C$3:$C$17,"<=10")』と入力します。
「=COUNTIF($C$3:$C$17,"<=20")-COUNTIF($C$3:$C$17,"<=10")」は、「20点以下のセルの数をカウントした結果から、10点以下のセルの数を引く」という意味の数式です。
「30」以上の階級にも同様の数式を入力します。
【任意のセル(例:F6)】を選択し、『=COUNTIF($C$3:$C$17,"<=30")-COUNTIF($C$3:$C$17,"<=20")』と入力します。
同様に、全ての階級に対するCOUNTIF関数を入力していきましょう。
階級表のF列すべてのセルに数式を入力すると、COUNTIF関数を使った度数分布表の完成です。
FREQUENCY関数でうまくいかない時の対処法
FREQUENCY関数でうまくいかない時の対処法についてご紹介します。
配列の一部を変更できませんと表示される
FREQUENCY関数を使用した表では、「配列の一部を変更することは変更できません。」というダイアログボックスが表示されることがあります。
試しに、すでに完成させたFREQUENCY関数の区間配列の引数を変更してみましょう。
【任意のFREQUENCY関数の数式】を選択し、区間配列を『E3:E7』に変更し、Enterを押します。
「Microsoft Excel」ダイアログボックスが表示され、「配列の一部を変更することはできません。」というエラーメッセージが出ました。
このように、配列形式として縦方向に同じ数式を入力するFREQUENCY関数では、そのうちの1つの数式の引数を変更することはできません。
引数のセルを変更したい場合は、上記「基本操作を行う」セクションを参考にFREQUENCY関数の数式を作り直しましょう。