「データのばらつきを把握したいけど、平均だけだとよくわからない」。こんな場面に遭遇したことはありませんか?
平均値だけでは、上位・下位の散らばりが見えません。データを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) | 0 | 85 | 最小値 |
=QUARTILE(B2:B11, 1) | 1 | 112.5 | 第1四分位数(下位25%ライン) |
=QUARTILE(B2:B11, 2) | 2 | 135 | 第2四分位数(中央値) |
=QUARTILE(B2:B11, 3) | 3 | 157.5 | 第3四分位数(上位25%ライン) |
=QUARTILE(B2:B11, 4) | 4 | 200 | 最大値 |
第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")
結果は以下のとおりです。
| 担当者 | 売上 | ランク |
|---|---|---|
| 田中 | 120 | C |
| 鈴木 | 85 | D |
| 佐藤 | 200 | A |
| 山田 | 150 | B |
| 高橋 | 95 | D |
| 伊藤 | 180 | A |
| 渡辺 | 110 | D |
| 中村 | 130 | C |
| 小林 | 160 | A |
| 加藤 | 140 | B |
範囲を絶対参照($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」より大きい値を外れ値とみなします。
条件付き書式で四分位ごとに色分けする
データの分布を視覚的に把握したいときは条件付き書式が便利です。セルを四分位ごとに色分けしてみましょう。
- B2:B11を選択する
- 「表示形式」→「条件付き書式」を開く
- 「カスタム数式」を選び、以下の数式を入力する
上位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 |
| D3 | Q1 | =QUARTILE(B2:B11, 1) | 112.5 |
| D4 | 中央値 | =QUARTILE(B2:B11, 2) | 135 |
| D5 | Q3 | =QUARTILE(B2:B11, 3) | 157.5 |
| D6 | 最大値 | =QUARTILE(B2:B11, 4) | 200 |
Googleスプレッドシートには箱ひげ図の専用チャートがありません。ただし、ローソク足チャートで代替できます。
ローソク足チャートで箱ひげ図を再現する手順は次のとおりです。
- 元データを「最小値・Q1・Q3・最大値」の順に1行に並べる
- データを選択して「挿入」→「グラフ」を開く
- グラフの種類で「ローソク足チャート」を選ぶ
ローソク足の「始値=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引数の範囲 | 計算方法 |
|---|---|---|
| QUARTILE | 0〜4 | 標準版(QUARTILE.INCと同じ) |
| QUARTILE.INC関数 | 0〜4 | 0%と100%を含む(包括的) |
| QUARTILE.EXC関数 | 1〜3 | 0%と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関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
