度数の算出関数の違い(COUNTIF,COUNTIFS,FREQUENCY)【エクセル】

はじめに
エクセルには 個数をカウントする関数 が多くあります。 COUNTIF
, COUNTIFS
, FREQUENCY
) の違いについてまとめました。
ここでは、以下について取り扱います:
- 関数の使用例
- 比較表
- 使い分けの目安
関数の使用例
COUNTIF
, COUNTIFS
, FREQUENCY
の
COUNTIF
, COUNTIFS
関数は、各区間ごとに関数を使用しますが、 FREQUENCY
関数は、1セルのみ に関数を記入するだけですべてのカウント数が得られます
(以下の「計算値を表示」をOFFにするとわかりやすい)。
以降で、各関数ごとの手順の簡単な説明をします。
COUNTIF
関数での手順
- 区間ごとの条件を定める。
- 各区間ごとに「Y以下」条件式の文字列を作成する(最後は「空でない」の条件式)。
- 例:
="<="&1
,="<="&2
, ... ,<>
- 記入値の構成:
=
"<=" (比較演算子の「以下」)
&
最大値
COUNTIF
関数を用いて累積カウントを求める。- 1の条件を
COUNTIF
関数に入れ、それぞれのカウント数を取得する。 - 例:
=COUNTIF($A$1:$A$8,F4)
,=COUNTIF($A$1:$A$8,F5)
, .. - 記入値の構成:
=COUNTIF
(データ範囲
条件式
)
- 1の条件を
- 累積カウントの差からカウント数を算出する。
- 2の値を使って、差を算出する。2の値は「Y以下のカウント数」、2の差の値は「 X越え Y以下のカウント数」。
- 例:
=G4
,=G5-G4
,=G6-G5
, ... - 記入値の構成:
=
累積カウント2
-累積カウント1
配列
, 検索条件
)指定した 配列
データ中で、 検索条件
に合致する個数をカウント する。
配列
検索条件
COUNTIFS
関数での手順
- 区間ごとの条件式1「X越え」を定める。
- 各区間ごとに「X越え」条件式の文字列を作成する(最初は「空でない」の条件式)。
- 例:
<>
,=">"&P4
,=">"&P5
, ... - 記入値の構成:
=
">" (比較演算子の「越え」)
&
閾値(最小)
- 区間ごとの条件式2「Y以下」を定める。
- 各区間ごとに「Y以下」条件式の文字列を作成する(最後は「空でない」の条件式)。
- 例:
="<="&P4
,="<="&P5
, ...,<>
- 記入値の構成:
=
"<=" (比較演算子の「以下」)
&
最大値
COUNTIFS
関数を用いて区間ごとのカウント数を算出する。- 1と2の条件を満たすカウント数(区間のカウント数)をそれぞれ算出する。
- 例:
=COUNTIFS($A$1:$A$8,K4,$A$1:$A$8,L4)
,=COUNTIFS($A$1:$A$8,K5,$A$1:$A$8,L5)
, ... - 記入値の構成:
=COUNTIFS
(データ範囲
,条件式1
,データ範囲
,条件式2
)
配列1
, 検索条件1
, 配列2
, 検索条件2
, ... )指定した 配列1
データ中で、 検索条件1
に合致する個数をカウント する。
配列とその条件のセット(例:配列2
と検索条件2
)を追加することで、
複数条件を追加設定できる(最大127セット)。
配列1
検索条件1
配列2
検索条件2
FREQUENCY
関数での手順
- 区間を定める数値配列を作成する。
- 各区間の最大値(「Y以下」のY)の数値配列を作成する。
- 例:
1
,2
, ...
FREQUENCY
関数を用いて各カウント数を算出する。- 2の数値配列を使い、各区間のカウント数を一気に※ 算出する。
- 例:
=FREQUENCY(A1:A9,P4:P6)
- 記入値の構成:
FREQUENCY
(データ範囲
,区間の数値配列
)
※スピル機能 / CSEを使用する
FREQUENCY
関数の結果は、複数セルに出力 されます。スピル機能を有するバージョンのエクセルでは、スピル機能が使用されます。
スピル機能のない旧バージョンのエクセルでは、関数の決定時にCtrl + Shift + Enter (CSE) を押す必要があります
(Enterのみでは、結果の出力が1つのみになる)。
データ配列
, 区間配列
)データ配列
について、区間配列
の階級の値を使い度数分布表を作成する。
結果は、区間配列
のサイズに応じて下のセルまで広がって表示される
(スピル機能使用。旧バージョンのエクセルの場合は、CSEが必要)。
データ配列
区間配列
比較表
COUNTIF
, COUNTIFS
, FREQUENCY
の比較表は以下の通りです。
関数 | 主な用途 | 条件の設定方法 | 出力形式 | 例 | 備考 | 対応バージョン |
---|---|---|---|---|---|---|
COUNTIF | 単一条件でカウント | 範囲と1つの条件を指定 | 1つの数値 | =COUNTIF(A2:A10, ">10") | 区間のカウントは、一度 累積値を求め、その差から求める必要がある | 2007~ |
COUNTIFS | 複数条件でカウント | 範囲と条件をペアで複数指定(AND条件) | =COUNTIFS(A2:A10, ">10", B2:B10, "<=5") | |||
FREQUENCY | 数値配列の区間ごとにカウント | データ配列と区間の数値配列を指定 | 数値の配列 | =FREQUENCY(A2:A10, {10, 20, 30}) | スピル機能 / CSE使用 |
使い分けの目安
区間ごとにカウントする関数の使い分けの目安は、
- 全区間の配列から一度に度数を算出したいとき
-
FREQUENCY
関数
(旧バージョンエクセルの使用、他人が編集する場合は、使用者がCSEについての理解しておく必要があるので注意)
-
- 各区間ごとに1つの関数を使用して算出したい、スピル機能 / CSEを使用したくないとき
-
COUNTIFS
関数
-
- 単純な条件指定(「X以下」などの単一条件)でカウントしたいとき
-
COUNTIF
関数
-