スプレッドシートのQUARTILE関数の使い方|四分位数・外れ値検出・箱ひげ図まで

スポンサーリンク

「データのばらつきを把握したいけど、平均だけだとよくわからない」。こんな場面に遭遇したことはありませんか?

平均値だけでは、上位・下位の散らばりが見えません。データを4グループに分けて分布を把握できたら便利ですよね。

そんなときに使うのがスプレッドシートのQUARTILE関数です。この記事では基本の書き方から実務での活用例まで解説します。箱ひげ図の作り方や、PERCENTILE関数MEDIAN関数との関係もあわせて整理しました。

QUARTILE関数とは?四分位数を求める関数

QUARTILE関数(読み方: クォータイル)は、データを4等分したときの区切りの値(四分位数)を返す関数です。「Quartile」は英語で「四分位」という意味があります。

四分位数とは、データを小さい順に並べたときの区切りです。下から25%の位置を「第1四分位数(Q1)」と呼びます。同様に50%がQ2、75%がQ3です。

身近な例でいえば、次のようなイメージです。テストの成績で「上位25%のラインは何点?」を求めるのがQUARTILE関数です。

QUARTILE関数にできることをまとめると、次のとおりです。

  • データの四分位数(Q1・Q2・Q3)を求める
  • 最小値(Q0)と最大値(Q4)も取得できる
  • データの分布(ばらつき)を4分割で把握する
  • 外れ値の検出に使うIQR(四分位範囲)を計算する
  • 箱ひげ図の元データを作成する

NOTE

QUARTILE関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も問題ありません。

QUARTILE関数の書き方(構文と引数)

基本構文

=QUARTILE(データ, 四分位値)

引数の説明

引数必須/任意説明
データ必須四分位数を求めたいセル範囲または配列
四分位値必須0〜4の整数。0=最小値、1=Q1、2=Q2、3=Q3、4=最大値

第2引数には0から4の整数を指定します。小数は使えません。

四分位値意味対応するパーセンタイル
0最小値0パーセンタイル
1第1四分位数(Q1)25パーセンタイル
2第2四分位数(Q2 = 中央値)50パーセンタイル
3第3四分位数(Q3)75パーセンタイル
4最大値100パーセンタイル

TIP

第2引数は「0〜4の整数」だけです。5段階しかないので覚えやすいですよね。もっと細かく分布を見たい場合は、PERCENTILE関数を使ってください。

スプレッドシートのQUARTILE関数の使い方(基本)

以下の売上データでQUARTILE関数を使ってみましょう。

B2からB11に10人分の売上データが入っているとします。

 A列(担当者)B列(売上)
2行目田中120
3行目鈴木85
4行目佐藤200
5行目山田150
6行目高橋95
7行目伊藤180
8行目渡辺110
9行目中村130
10行目小林160
11行目加藤140

第1四分位数(Q1)を求める

下位25%のラインを知りたいときは、第2引数に1を指定します。

=QUARTILE(B2:B11, 1)

結果は 112.5 です。売上が112.5以下なら下位25%に入ります。

すべての四分位数を求める

第2引数を0〜4に変えて、分布を一覧にしてみましょう。

数式四分位値結果意味
=QUARTILE(B2:B11, 0)085最小値
=QUARTILE(B2:B11, 1)1112.5第1四分位数(下位25%ライン)
=QUARTILE(B2:B11, 2)2135第2四分位数(中央値)
=QUARTILE(B2:B11, 3)3157.5第3四分位数(上位25%ライン)
=QUARTILE(B2:B11, 4)4200最大値

第2四分位数の「135」はMEDIAN関数の結果と一致します。最小値と最大値はMIN関数MAX関数と同じです。

TIP

5つの値(最小値・Q1・Q2・Q3・最大値)をまとめて五数要約と呼びます。データの分布をざっくり把握するのに便利なセットです。

計算のしくみ(線形補間)

QUARTILE関数は、四分位の位置にぴったり収まらないとき線形補間(前後の値を比率で按分する計算)で値を求めます。

たとえばデータが10個でQ1を求める場合を見てみましょう。小さい順で3.25番目の位置を計算します。3番目(110)と4番目(120)の間を補間して、112.5が求まります。

ちょっとむずかしく見えますが、QUARTILE関数が自動でやってくれます。計算方法は気にしなくて大丈夫ですよ。

QUARTILE関数の実践的な使い方・応用例

成績・売上のランク分けに使う

QUARTILE関数で四分位のボーダーラインを求めましょう。IFS関数と組み合わせてA〜Dランクに振り分けます。

まずボーダーラインを確認します。

=QUARTILE(B2:B11, 3)   → 157.5(Aランク基準)
=QUARTILE(B2:B11, 2)   → 135(Bランク基準)
=QUARTILE(B2:B11, 1)   → 112.5(Cランク基準)

次に、IFS関数で各担当者をランク分けします。

=IFS(B2>=QUARTILE($B$2:$B$11,3), "A",
     B2>=QUARTILE($B$2:$B$11,2), "B",
     B2>=QUARTILE($B$2:$B$11,1), "C",
     TRUE, "D")

結果は以下のとおりです。

担当者売上ランク
田中120C
鈴木85D
佐藤200A
山田150B
高橋95D
伊藤180A
渡辺110D
中村130C
小林160A
加藤140B

範囲を絶対参照($B$2:$B$11)にするのを忘れずに。これで数式を下にコピーしても範囲がずれませんよ。

外れ値の検出に使う(IQR法)

極端に大きい値や小さい値(外れ値)を見つけるにはIQR法が一般的です。

IQRとは、Q3からQ1を引いた値のことです。データの中央50%が収まる範囲を表します。

=QUARTILE(B2:B11, 3) - QUARTILE(B2:B11, 1)

この例ではIQR = 157.5 – 112.5 = 45 です。IQRの1.5倍を超える値を外れ値として検出できます。

具体的な判定基準は次のとおりです。

  • 下限: Q1 – 1.5 × IQR = 112.5 – 67.5 = 45
  • 上限: Q3 + 1.5 × IQR = 157.5 + 67.5 = 225

数式にすると次のようになります。

=IF(OR(B2 > QUARTILE($B$2:$B$11,3) + 1.5*(QUARTILE($B$2:$B$11,3)-QUARTILE($B$2:$B$11,1)),
       B2 < QUARTILE($B$2:$B$11,1) - 1.5*(QUARTILE($B$2:$B$11,3)-QUARTILE($B$2:$B$11,1))),
   "外れ値", "")

数式は長いですが、やっていることはシンプルです。Q3とQ1の差(IQR)の1.5倍を超えたデータに「外れ値」と表示しています。

TIP

IQR法はテューキー(Tukey)が提唱した外れ値検出の基本手法です。「Q1 – 1.5 × IQR」より小さい値と「Q3 + 1.5 × IQR」より大きい値を外れ値とみなします。

条件付き書式で四分位ごとに色分けする

データの分布を視覚的に把握したいときは条件付き書式が便利です。セルを四分位ごとに色分けしてみましょう。

  1. B2:B11を選択する
  2. 「表示形式」→「条件付き書式」を開く
  3. 「カスタム数式」を選び、以下の数式を入力する

上位25%(Aランク)を緑にする場合:

=B2>=QUARTILE($B$2:$B$11, 3)

下位25%(Dランク)を赤にする場合:

=B2<=QUARTILE($B$2:$B$11, 1)

4つの色分けルールを設定すれば、分布がひと目でわかります。

箱ひげ図の元データを作る

箱ひげ図は五数要約を視覚化したグラフです。QUARTILE関数で元データを作れます。

まず五数要約を計算しましょう。

セル項目数式結果
D2最小値=QUARTILE(B2:B11, 0)85
D3Q1=QUARTILE(B2:B11, 1)112.5
D4中央値=QUARTILE(B2:B11, 2)135
D5Q3=QUARTILE(B2:B11, 3)157.5
D6最大値=QUARTILE(B2:B11, 4)200

Googleスプレッドシートには箱ひげ図の専用チャートがありません。ただし、ローソク足チャートで代替できます。

ローソク足チャートで箱ひげ図を再現する手順は次のとおりです。

  1. 元データを「最小値・Q1・Q3・最大値」の順に1行に並べる
  2. データを選択して「挿入」→「グラフ」を開く
  3. グラフの種類で「ローソク足チャート」を選ぶ

ローソク足の「始値=Q1」「終値=Q3」「安値=最小値」「高値=最大値」に対応させます。中央値のラインは表示できませんが、箱の形でデータの散らばりを把握できます。

TIP

中央値を表示したい場合は、折れ線グラフを重ねる方法もあります。設定が複雑になるので、まずはローソク足チャートで試してみてください。

よくあるエラーと対処法

#NUM!エラー

QUARTILE関数で最もよく見るエラーです。

原因対策
第2引数が0未満または4超0〜4の整数で指定する
データ範囲が空(数値なし)数値が入った範囲を指定する

第2引数に「5」以上を入れてしまうケースが多いです。QUARTILE関数は0〜4の5段階しか指定できません。

#VALUE!エラー

第2引数に文字列(例: “1”)を指定すると発生します。数値を直接入力するか、数値セルを参照してください。

TIP

第2引数に小数(例: 1.5)を指定すると切り捨てられます。エラーにはなりませんが、意図しない結果になるので注意してください。

文字列・論理値の扱い

QUARTILE関数は、範囲内の文字列やTRUE/FALSEを自動的に無視します。エラーにはなりませんが、データ件数が想定より少なくなることがあるので、確認してみてください。

QUARTILE関数と関連関数の使い分け

PERCENTILE関数との関係

QUARTILE関数で求められる値は、すべてPERCENTILE関数でも求められます。

QUARTILE関数同じ結果のPERCENTILE意味
=QUARTILE(データ, 0)=PERCENTILE(データ, 0)最小値
=QUARTILE(データ, 1)=PERCENTILE(データ, 0.25)第1四分位数
=QUARTILE(データ, 2)=PERCENTILE(データ, 0.5)中央値
=QUARTILE(データ, 3)=PERCENTILE(データ, 0.75)第3四分位数
=QUARTILE(データ, 4)=PERCENTILE(データ, 1)最大値

PERCENTILE関数は0〜1の範囲で自由な位置を指定できます。QUARTILE関数は25%刻みの5段階に限定されます。

つまりPERCENTILE関数はQUARTILE関数の「上位互換」です。ただし四分位数だけが必要なら、QUARTILE関数のほうが引数がシンプルでわかりやすいですよ。

MIN・MEDIAN・MAXとの対応

QUARTILE関数の一部は、専用の関数と同じ結果を返します。

QUARTILE関数同じ結果の関数説明
=QUARTILE(データ, 0)=MIN(データ)最小値
=QUARTILE(データ, 2)=MEDIAN(データ)中央値
=QUARTILE(データ, 4)=MAX(データ)最大値

最小値だけならMIN関数、中央値だけならMEDIAN関数、最大値だけならMAX関数がシンプルです。五数要約をまとめて求めたいときにQUARTILE関数が活躍しますよ。

QUARTILE.INC / QUARTILE.EXCとの違い

スプレッドシートにはQUARTILE関数の派生版が2つあります。

関数第2引数の範囲計算方法
QUARTILE0〜4標準版(QUARTILE.INCと同じ)
QUARTILE.INC関数0〜40%と100%を含む(包括的)
QUARTILE.EXC関数1〜30%と100%を除外する(排他的)

QUARTILEとQUARTILE.INCは完全に同じ結果を返します。QUARTILE.INCは新しい正式名称です。

QUARTILE.EXCは境界値を除外して計算するため、結果が少し異なります。また第2引数に0と4を指定すると#NUM!エラーになります。最小値・最大値は返せません。

通常の業務ではQUARTILE関数(= QUARTILE.INC)で問題ありません。QUARTILE.EXCは統計的にはより厳密ですが、使い勝手が限られます。詳しい違いは各関数の記事で確認してみてください。

PERCENTRANK・RANK.EQとの使い分け

「データの位置を知りたい」という目的は同じでも、視点が異なります。

関数視点返す値
QUARTILEグループの区切りはどこか四分位の境界値(数値)
PERCENTRANK関数この値は全体の何%か0〜1のパーセント順位
RANK.EQ関数この値は何番目か順位(1, 2, 3…)

たとえば売上130の位置づけを知りたい場合を比べましょう。

=QUARTILE(B2:B11, 2)      → 135(Q2の境界値)
=PERCENTRANK(B2:B11, 130)  → 0.389(全体の約39%の位置)
=RANK.EQ(130, B2:B11)      → 6(上から6番目)

使い分けのポイントは次のとおりです。

  • グループ分けしたい → QUARTILE関数
  • 個々のデータの相対位置を知りたい → PERCENTRANK関数
  • 順位を付けたい → RANK.EQ関数

QUARTILE関数は「全体を4グループに分ける」のが得意です。個別データの位置づけが知りたいときは、PERCENTRANK関数やRANK.EQ関数を使いましょう。

よくある質問(QUARTILE関数)

Q1. データ件数が少ない(5件程度)でも正しく使えますか?

使えますが、結果の解釈に注意が必要です。データが少ないと四分位数の意味が薄れます。たとえばデータが4件の場合、各四分位に1件しか入らないため、グループとしての意味が弱くなります。

実務では最低でも10〜20件以上のデータで使うことをおすすめします。5件以下では中央値や最大・最小値で代用するほうが実態を反映しやすいですよ。

Q2. データに重複する値があると結果が変わりますか?

重複があっても計算自体はできます。ただし、Q1・Q2・Q3が同じ値になるケースがあります。

たとえば10件中8件が同じ値だと、Q1・Q2・Q3がすべてその値になります。こうなると四分位数でデータを分けることに意味がなくなります。

重複が多いデータでは、QUARTILE関数だけでなくCOUNTIF関数で値の出現回数を確認し、分布の特徴を把握してから使うのがおすすめです。

Q3. Q3〜最大値の範囲(上位25%)に入るデータだけを抽出するには?

FILTER関数とQUARTILE関数を組み合わせると、上位25%のデータだけを抽出できます。

=FILTER(A2:B11, B2:B11 >= QUARTILE(B2:B11, 3))

B列がQ3以上のデータを一覧で取り出せます。上位パフォーマーの分析や、高額商品の抽出などに使えますよ。

下位25%を抽出したい場合は、比較演算子を <= に変えてQ1を指定するだけです。

=FILTER(A2:B11, B2:B11 <= QUARTILE(B2:B11, 1))

まとめ

QUARTILE関数は、データを4等分したときの区切りの値(四分位数)を返す関数です。

この記事のポイント

  • 構文は =QUARTILE(データ, 四分位値) の2引数
  • 第2引数は0〜4の整数(0=最小値、1=Q1、2=中央値、3=Q3、4=最大値)
  • データの分布をざっくり4グループに分けて把握できる
  • IQR法(Q3 - Q1 の1.5倍)で外れ値の検出にも使える
  • 五数要約を使えば箱ひげ図の元データも作れる
  • QUARTILE = QUARTILE.INCで同じ結果を返す

次のステップ:関連する統計関数

QUARTILE関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。

タイトルとURLをコピーしました