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

はじめに
エクセルには 個数をカウントする関数 が多くあります。
ここでは、以下について取り扱います:
- 関数の使用例
- 比較表
- 使い分けの目安
関数の使用例
COUNTIF, COUNTIFS, FREQUENCY の
COUNTIF, COUNTIFS関数は、各区間ごとに関数を使用しますが、
(以下の「計算値を表示」をOFFにするとわかりやすい)。
以降で、各関数ごとの手順の簡単な説明をします。
COUNTIF関数での手順
- 区間ごとの条件を定める。
- 各区間ごとに「Y以下」条件式の文字列を作成する(最後は「空でない」の条件式)。
- 例: ="<="&1, ="<="&2, ... , <>
- 記入値の構成: = "<=" (比較演算子の「以下」) & 最大値
- COUNTIF関数を用いて累積カウントを求める。
- 1の条件をCOUNTIF関数に入れ、それぞれのカウント数を取得する。
- 例: =COUNTIF($A$1:$A$8,F4), =COUNTIF($A$1:$A$8,F5), ..
- 記入値の構成: =COUNTIF( データ範囲 条件式 )
- 累積カウントの差からカウント数を算出する。
- 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についての理解しておく必要があるので注意)
- FREQUENCY関数
- 各区間ごとに1つの関数を使用して算出したい、スピル機能 / CSEを使用したくないとき
- COUNTIFS関数
- 単純な条件指定(「X以下」などの単一条件)でカウントしたいとき
- COUNTIF関数
関連記事











