Excel - 統計関数

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

Excelの統計関数は、データの分析や傾向の把握において不可欠な機能である。
基本統計量の算出、分散や標準偏差の計算、データの順位付け、相関分析等、幅広い統計処理機能を提供している。

主な機能として、基本統計量 (平均、中央値、最頻値)、散らばりの指標 (分散、標準偏差)、順位・パーセンタイル、頻度分布、相関・回帰分析等がある。

これらの関数は、データ分析、品質管理、市場調査、学術研究、ビジネスインテリジェンス等、様々な分野で活用される。


基本統計量

AVERAGE関数

数値の算術平均を計算する基本的な関数である。

構文:

=AVERAGE(数値1, [数値2], ...)


使用例:

  • =AVERAGE(A1:A10)
    A1からA10までの平均
  • =AVERAGE(A1:A10, C1:C10)
    複数範囲の平均


※注意

  • 空白セルや文字列は無視される。
  • 0は計算に含まれる。
  • 論理値と文字列表現の数値は無視される。


MEDIAN関数

データの中央値を返す関数である。

構文:

=MEDIAN(数値1, [数値2], ...)


使用例:

  • =MEDIAN(A1:A10)
    A1からA10までの中央値
  • =MEDIAN(1, 2, 3, 4, 5)
    3 (奇数個のデータ)
  • =MEDIAN(1, 2, 3, 4)
    2.5 (偶数個の場合は中央2つの平均)


※中央値とは
データを大きさ順に並べたときの中央の値である。
外れ値の影響を受けにくい統計量として利用される。

MODE / MODE.SNGL / MODE.MULT関数

データの最頻値 (モード) を返す関数である。

構文:

=MODE.SNGL(数値1, [数値2], ...)
=MODE.MULT(数値1, [数値2], ...)
=MODE(数値1, [数値2], ...)    ※互換性のため残存


MODE.SNGL関数 / MODE.MULT関数の違い:

  • MODE.SNGL
    最頻値を1つ返す
  • MODE.MULT
    最頻値が複数ある場合、全て返す。(配列数式)


使用例:

  • =MODE.SNGL(A1:A10)
    最も頻繁に出現する値
  • =MODE.SNGL(1, 2, 2, 3, 3, 3, 4)
    3


※注意
最頻値が存在しない場合は #N/A エラーを返す。


分散・標準偏差

VAR.S / VAR.P関数

データの分散を計算する関数である。

構文:

標本分散
=VAR.S(数値1, [数値2], ...)

母集団の分散
=VAR.P(数値1, [数値2], ...)


使用例:

  • =VAR.S(A1:A10)
    標本分散 ( で除算)
  • =VAR.P(A1:A10)
    母分散 ( で除算)


※標本分散と母分散の違い

  • 標本分散 (VAR.S)
    データが母集団の一部である場合に使用する。
    不偏分散。
  • 母分散 (VAR.P)
    データが母集団全体である場合に使用する。


STDEV.S / STDEV.P関数

データの標準偏差を計算する関数である。

構文:

標本標準偏差
=STDEV.S(数値1, [数値2], ...)

母標準偏差
=STDEV.P(数値1, [数値2], ...)


使用例:

  • =STDEV.S(A1:A10)
    標本標準偏差
  • =STDEV.P(A1:A10)
    母標準偏差


※標準偏差とは
データのばらつきを示す指標で、分散の平方根である。
単位が元のデータと同じなので解釈しやすい。

VARA / VARPA関数

論理値と文字列も含めて分散を計算する関数である。

構文:

=VARA(値1, [値2], ...)
=VARPA(値1, [値2], ...)


VAR.S / VAR.Pとの違い:

  • VARA / VARPA
    論理値TRUE=1、FALSE=0、文字列=0として計算に含む
  • VAR.S / VAR.P
    論理値と文字列は無視する。


使用例:

  • =VARA(A1:A10)
    論理値・文字列を含む標本分散


STDEVA / STDEVPA関数

論理値と文字列も含めて標準偏差を計算する関数である。

構文:

=STDEVA(値1, [値2], ...)
=STDEVPA(値1, [値2], ...)


使用例:

  • =STDEVA(A1:A10)
    論理値・文字列を含む標本標準偏差



順位・パーセンタイル

RANK.EQ / RANK.AVG関数

データの順位を求める関数である。

構文:

=RANK.EQ(数値, 範囲, [順序])
=RANK.AVG(数値, 範囲, [順序])


引数:

  • 数値
    順位を調べる値
  • 範囲
    順位の母集団となる範囲
  • 順序
    0または省略で降順、1で昇順


RANK.EQ関数 / RANK.AVG関数の違い:

  • RANK.EQ
    同順位がある場合、最上位の順位を返す。
  • RANK.AVG
    同順位がある場合、平均順位を返す。


使用例:

  • =RANK.EQ(A1, $A$1:$A$10, 0)
    A1の降順での順位
  • =RANK.AVG(85, A1:A10)
    85点の平均順位


応用例:

  • 成績表での順位付け
  • 売上ランキングの作成


PERCENTILE.INC / PERCENTILE.EXC関数

指定したパーセンタイル値を返す関数である。

構文:

=PERCENTILE.INC(配列, k)
=PERCENTILE.EXC(配列, k)


引数:

  • 配列
    データの範囲
  • k
    パーセンタイル値 (0~1の小数)


PERCENTILE.INC関数 / PERCENTILE.EXC関数の違い:

  • PERCENTILE.INC
    0と1を含む
  • PERCENTILE.EXC
    0と1を除く


使用例:

  • =PERCENTILE.INC(A1:A100, 0.9)
    90パーセンタイル値
  • =PERCENTILE.INC(A1:A100, 0.25)
    第1四分位数
  • =PERCENTILE.INC(A1:A100, 0.5)
    第2四分位数(中央値)


QUARTILE.INC / QUARTILE.EXC関数

四分位数を返す関数である。

構文:

=QUARTILE.INC(配列, 戻り値)
=QUARTILE.EXC(配列, 戻り値)


戻り値の指定:

  • 0
    最小値
  • 1
    第1四分位数 (25パーセンタイル)
  • 2
    第2四分位数 (中央値、50パーセンタイル)
  • 3
    第3四分位数 (75パーセンタイル)
  • 4
    最大値


使用例:

  • =QUARTILE.INC(A1:A100, 1)
    第1四分位数
  • =QUARTILE.INC(A1:A100, 3)
    第3四分位数


応用例:

  • 箱ひげ図の作成に使用
  • データの分布の把握


PERCENTRANK.INC / PERCENTRANK.EXC関数

特定の値がデータセット内で何パーセンタイルに位置するかを返す関数である。

構文:

=PERCENTRANK.INC(配列, 値, [有効桁数])
=PERCENTRANK.EXC(配列, 値, [有効桁数])


使用例:

  • =PERCENTRANK.INC(A1:A100, 85)
    85点が何パーセンタイルかを返す。
  • =PERCENTRANK.INC(A1:A100, B1, 3)
    B1セルの値が何パーセンタイルか、小数第3位まで表示して返す。



最大値・最小値・範囲

LARGE / SMALL関数

k番目に大きい値、小さい値を返す関数である。

構文:

=LARGE(配列, k)
=SMALL(配列, k)


使用例:

  • =LARGE(A1:A10, 1)
    最大値 (MAX関数と同じ)
  • =LARGE(A1:A10, 2)
    2番目に大きい値
  • =SMALL(A1:A10, 1)
    最小値 (MIN関数と同じ)
  • =SMALL(A1:A10, 3)
    3番目に小さい値


応用例:

  • 上位3位までの平均
    =AVERAGE(LARGE(A1:A10, 1), LARGE(A1:A10, 2), LARGE(A1:A10, 3))
  • 最高点と最低点を除いた平均
    =(SUM(A1:A10)-LARGE(A1:A10,1)-SMALL(A1:A10,1))/(COUNT(A1:A10)-2)


MAXIFS / MINIFS関数

条件に一致する最大値・最小値を返す関数である。

構文:

=MAXIFS(最大範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
=MINIFS(最小範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)


使用例:

  • =MAXIFS(C1:C100, A1:A100, "東京")
    東京の最大値
  • =MINIFS(C1:C100, A1:A100, "東京", B1:B100, ">=2024/1/1")
    東京かつ2024年以降の最小値



頻度分布

FREQUENCY関数

度数分布表を作成する配列数式関数である。

構文:

=FREQUENCY(データ配列, 区間配列)


使用例:
データ範囲がA1:A50、区間が10, 20, 30, 40, 50とする場合:

  1. B1:B6を選択する。(区間数+1のセルを選択)
  2. =FREQUENCY(A1:A50, {10;20;30;40;50}) を入力する。
  3. [Ctrl] + [Shift] + [Enter] で配列数式として確定する。


結果:

  • B1
    10以下の個数
  • B2
    10超~20以下の個数
  • B3
    20超~30以下の個数
  • ...
  • B6: 50超の個数


応用例:

  • ヒストグラムの作成
  • 成績分布の集計


COUNTIFS関数

複数条件でのカウントに使用する関数である。

構文:

=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...)


使用例:

  • 成績が60点以上80点未満の人数
    =COUNTIFS(A1:A50, ">=60", A1:A50, "<80")


  • 東京支店で売上100万以上の件数
    =COUNTIFS(B1:B100, "東京", C1:C100, ">=1000000")



相関・回帰分析

CORREL関数

2つのデータセットの相関係数を計算する関数である。

構文:

=CORREL(配列1, 配列2)


使用例:

  • =CORREL(A1:A100, B1:B100)
    A列とB列の相関係数


※相関係数とは
-1から1の値をとり、以下に示すように解釈される。

  • 1に近い
    強い正の相関
  • 0に近い
    相関なし
  • -1に近い
    強い負の相関


応用例:

  • 広告費と売上の相関分析
  • 気温と来客数の関係分析


COVARIANCE.P / COVARIANCE.S関数

共分散を計算する関数である。

構文:

母共分散
=COVARIANCE.P(配列1, 配列2)

標本共分散
=COVARIANCE.S(配列1, 配列2)


使用例:

  • =COVARIANCE.P(A1:A100, B1:B100)
    母共分散
  • =COVARIANCE.S(A1:A100, B1:B100)
    標本共分散


※共分散とは
2つの変数の関係性を示す指標である。
相関係数の分子に相当する値。

SLOPE / INTERCEPT関数

線形回帰の傾きと切片を求める関数である。

構文:

傾き
=SLOPE(y範囲, x範囲)

切片
=INTERCEPT(y範囲, x範囲)


使用例:

  • =SLOPE(B1:B100, A1:A100)
    回帰直線の傾き
  • =INTERCEPT(B1:B100, A1:A100)
    回帰直線のy切片


回帰直線の式:


予測値の計算例:
=SLOPE(B1:B100, A1:A100) * C1 + INTERCEPT(B1:B100, A1:A100)

応用例:

  • 売上予測
  • トレンド分析


FORECAST / FORECAST.LINEAR関数

線形回帰を使って将来の値を予測する関数である。

構文:

=FORECAST.LINEAR(x, y範囲, x範囲)


使用例:

  • =FORECAST.LINEAR(12, B1:B11, A1:A11)
    1~11月のデータから12月を予測


※注意

  • FORECAST関数は互換性のために残されている。
  • 新しいブックでは、FORECAST.LINEAR を使用することが推奨される。


RSQ関数

決定係数 (R2) を計算する関数である。

構文:

=RSQ(y範囲, x範囲)


使用例:

  • =RSQ(B1:B100, A1:A100)
    決定係数


※決定係数とは
回帰モデルの当てはまりの良さを示す指標で、0から1の値をとる。

  • 1に近い
    モデルの当てはまりが良い
  • 0に近い
    モデルの説明力が低い


決定係数は相関係数の2乗に等しい。

=RSQ(B1:B100, A1:A100) = CORREL(B1:B100, A1:A100)^2



正規分布・標準化

NORM.DIST関数

正規分布の確率密度または累積分布を返す関数である。

構文:

=NORM.DIST(x, 平均, 標準偏差, 関数形式)


引数:

  • x
    分布の値
  • 平均
    分布の平均値
  • 標準偏差
    分布の標準偏差
  • 関数形式
    TRUE=累積分布、FALSE=確率密度


使用例:

  • =NORM.DIST(100, 80, 10, TRUE)
    平均80、標準偏差10の正規分布で100以下になる確率
  • =NORM.DIST(100, 80, 10, FALSE)
    x=100での確率密度


NORM.S.DIST関数

標準正規分布(平均0、標準偏差1)の確率密度または累積分布を返す関数である。

構文:

=NORM.S.DIST(z, 関数形式)


使用例:

  • =NORM.S.DIST(1.96, TRUE)
    約0.975 (z≦1.96の確率)
  • =NORM.S.DIST(0, TRUE)
    0.5 (z≦0の確率)


NORM.INV / NORM.S.INV関数

正規分布の累積分布の逆関数である。

構文:

=NORM.INV(確率, 平均, 標準偏差)
=NORM.S.INV(確率)


使用例:

  • =NORM.INV(0.95, 100, 15)
    上位5%の境界値
  • =NORM.S.INV(0.975)
    約1.96 (片側2.5%点)


応用例:

  • 信頼区間の計算
  • 検査基準値の設定


STANDARDIZE関数

値を標準化 (zスコア化) する関数である。

構文:

=STANDARDIZE(x, 平均, 標準偏差)


使用例:

  • =STANDARDIZE(85, 70, 10)
    1.5 (平均から標準偏差1.5個分上)


zスコアの計算式:

z = (x - 平均) / 標準偏差


応用例:

  • 異なる尺度のテストスコアの比較
  • 外れ値の検出 (|z| > 3を異常値とする等)



その他の分布関数

T.DIST / T.INV関数

t分布に関する関数である。

構文:

=T.DIST(x, 自由度, 関数形式)
=T.DIST.RT(x, 自由度)
=T.DIST.2T(x, 自由度)
=T.INV(確率, 自由度)
=T.INV.2T(確率, 自由度)


使用例:

  • =T.DIST.2T(2.262, 9)
    自由度9のt分布で両側確率
  • =T.INV.2T(0.05, 9)
    自由度9で有意水準5%の臨界値


応用例:

  • t検定の実施
  • 少標本での信頼区間の計算


CHISQ.DIST / CHISQ.INV関数

カイ二乗分布に関する関数である。

構文:

=CHISQ.DIST(x, 自由度, 関数形式)
=CHISQ.DIST.RT(x, 自由度)
=CHISQ.INV(確率, 自由度)
=CHISQ.INV.RT(確率, 自由度)


使用例:

  • =CHISQ.DIST.RT(7.815, 3)
    カイ2乗値7.815の上側確率
  • =CHISQ.INV.RT(0.05, 3)
    有意水準5%の臨界値


応用例:

  • カイ2乗検定
  • 適合度検定


F.DIST / F.INV関数

F分布に関する関数である。

構文:

=F.DIST(x, 自由度1, 自由度2, 関数形式)
=F.DIST.RT(x, 自由度1, 自由度2)
=F.INV(確率, 自由度1, 自由度2)
=F.INV.RT(確率, 自由度1, 自由度2)


使用例:

  • =F.DIST.RT(3.86, 5, 10)
    F値3.86の上側確率


応用例:

  • 分散分析(ANOVA)
  • 等分散性の検定



偏差値・変動係数

偏差値の計算

標準化された得点を偏差値に変換する方法である。

計算式:

=ROUND(50 + 10 * (A1 - AVERAGE($A$1:$A$100)) / STDEV.S($A$1:$A$100), 1)


または、STANDARDIZE関数を使用:

=ROUND(50 + 10 * STANDARDIZE(A1, AVERAGE($A$1:$A$100), STDEV.S($A$1:$A$100)), 1)


A1のテストの偏差値を計算し、小数第1位に丸める。

※偏差値とは
平均を50、標準偏差を10とした標準得点である。
日本の教育現場で広く使用される。

変動係数の計算

データのばらつきを相対的に評価する指標である。

計算式:

=STDEV.S(A1:A100) / AVERAGE(A1:A100)


パーセント表示:

=STDEV.S(A1:A100) / AVERAGE(A1:A100) * 100 & "%"


※変動係数とは
標準偏差を平均で除した値で、単位の異なるデータのばらつきを比較できる。


実用的な使用例

成績分析

テストの基本統計量を一覧表示する例。

  • 平均点
    =AVERAGE(B2:B100)
  • 中央値
    =MEDIAN(B2:B100)
  • 最高点
    =MAX(B2:B100)
  • 最低点
    =MIN(B2:B100)
  • 標準偏差
    =STDEV.S(B2:B100)
  • 60点以上の人数
    =COUNTIF(B2:B100, ">=60")
  • 合格率(60点以上)
    =COUNTIF(B2:B100, ">=60") / COUNT(B2:B100) * 100 & "%"


売上データ分析

月別売上の傾向を分析する例。

  • 月平均売上
    =AVERAGE(B2:B13)
  • 売上の標準偏差
    =STDEV.S(B2:B13)
  • 変動係数
    =STDEV.S(B2:B13) / AVERAGE(B2:B13) * 100 & "%"
  • 最高売上月
    =INDEX(A2:A13, MATCH(MAX(B2:B13), B2:B13, 0))
  • 上位3ヶ月の平均
    =(LARGE(B2:B13, 1) + LARGE(B2:B13, 2) + LARGE(B2:B13, 3)) / 3


品質管理

製品の寸法データから管理限界を計算する例。

  • 平均値
    =AVERAGE(A2:A100)
  • 標準偏差
    =STDEV.S(A2:A100)
  • 上方管理限界 (UCL)
    =AVERAGE(A2:A100) + 3 * STDEV.S(A2:A100)
  • 下方管理限界 (LCL)
    =AVERAGE(A2:A100) - 3 * STDEV.S(A2:A100)
  • 規格外の個数
    =COUNTIFS(A2:A100, ">"&(AVERAGE(A2:A100)+3*STDEV.S(A2:A100))) + COUNTIFS(A2:A100, "<"&(AVERAGE(A2:A100)-3*STDEV.S(A2:A100)))


相関分析

広告費と売上の関係を分析する例。

  • 相関係数
    =CORREL(B2:B13, C2:C13)
  • 決定係数
    =RSQ(C2:C13, B2:B13)
  • 回帰直線の傾き
    =SLOPE(C2:C13, B2:B13)
  • 回帰直線の切片
    =INTERCEPT(C2:C13, B2:B13)
  • 予測売上 (広告費100万円の場合)
    =SLOPE(C2:C13, B2:B13) * 100 + INTERCEPT(C2:C13, B2:B13)
  • 予測売上 (広告費100万円の場合)
    FORECAST.LINEAR関数を使用
    =FORECAST.LINEAR(100, C2:C13, B2:B13)


データのランク付け

売上に基づいて営業担当者をランク付けする例。

  • 順位 (降順)
    =RANK.EQ(B2, $B$2:$B$20, 0)
  • 上位10%に入っているか判定
    =IF(B2>=PERCENTILE.INC($B$2:$B$20, 0.9), "A", "")
  • 四分位グループ分け
    =IF(B2>=QUARTILE.INC($B$2:$B$20,3),"上位",IF(B2>=MEDIAN($B$2:$B$20),"中上",IF(B2>=QUARTILE.INC($B$2:$B$20,1),"中下","下位")))


アンケート集計

5段階評価のアンケート結果を分析する例。

  • 平均評価
    =AVERAGE(B2:B100)
  • 最頻値 (最も多い回答)
    =MODE.SNGL(B2:B100)
  • 各評価の回答数
    評価1: =COUNTIF(B2:B100, 1)
    評価2: =COUNTIF(B2:B100, 2)
    評価3: =COUNTIF(B2:B100, 3)
    評価4: =COUNTIF(B2:B100, 4)
    評価5: =COUNTIF(B2:B100, 5)
  • 肯定的回答率 (4以上)
    =COUNTIF(B2:B100, ">=4") / COUNT(B2:B100) * 100 & "%"


外れ値の検出

データの中から統計的外れ値を検出する例。

  • zスコアによる判定 (C2セルに入力)
    =IF(ABS((B2-AVERAGE($B$2:$B$100))/STDEV.S($B$2:$B$100))>3,"外れ値","正常")
  • 四分位範囲 (IQR) 法による判定
    Q1: =QUARTILE.INC($B$2:$B$100, 1)
    Q3: =QUARTILE.INC($B$2:$B$100, 3)
    IQR: =QUARTILE.INC($B$2:$B$100, 3) - QUARTILE.INC($B$2:$B$100, 1)
    下限: =QUARTILE.INC($B$2:$B$100, 1) - 1.5 * (QUARTILE.INC($B$2:$B$100, 3) - QUARTILE.INC($B$2:$B$100, 1))
    上限: =QUARTILE.INC($B$2:$B$100, 3) + 1.5 * (QUARTILE.INC($B$2:$B$100, 3) - QUARTILE.INC($B$2:$B$100, 1))
  • 判定 (C2セルに入力)
    =IF(OR(B2<下限のセル, B2>上限のセル), "外れ値", "正常")


信頼区間の計算

標本データから母平均の95%信頼区間を計算する例。

  • 標本平均
    =AVERAGE(A2:A100)
  • 標本標準偏差
    =STDEV.S(A2:A100)
  • 標本サイズ
    =COUNT(A2:A100)
  • 標準誤差
    =STDEV.S(A2:A100) / SQRT(COUNT(A2:A100))
  • t値(自由度n-1、両側5%)
    =T.INV.2T(0.05, COUNT(A2:A100)-1)
  • 誤差範囲
    =T.INV.2T(0.05, COUNT(A2:A100)-1) * STDEV.S(A2:A100) / SQRT(COUNT(A2:A100))
  • 誤差範囲 (CONFIDENCE.T関数を使用する場合)
    =CONFIDENCE.T(0.05, STDEV.S(A2:A100), COUNT(A2:A100))
  • 信頼区間下限
    =AVERAGE(A2:A100) - <誤差範囲のセル>
  • 信頼区間下限 (CONFIDENCE.T関数を使用する場合)
    =AVERAGE(A2:A100) - CONFIDENCE.T(0.05, STDEV.S(A2:A100), COUNT(A2:A100))
  • 信頼区間上限
    =AVERAGE(A2:A100) + <誤差範囲のセル>
  • 信頼区間上限 (CONFIDENCE.T関数を使用する場合)
    =AVERAGE(A2:A100) + CONFIDENCE.T(0.05, STDEV.S(A2:A100), COUNT(A2:A100))
  • 信頼区間
    下限: =AVERAGE(A2:A100) - CONFIDENCE.T(0.05, STDEV.S(A2:A100), COUNT(A2:A100))
    上限: =AVERAGE(A2:A100) + CONFIDENCE.T(0.05, STDEV.S(A2:A100), COUNT(A2:A100))