「平均値を出したのに、なんだか実態と合わない気がする……」
そんな経験はありませんか? 飛び抜けた値が1件でも混ざると、AVERAGE関数の結果が引っ張られます。かといって手作業で除くのは面倒ですよね。
TRIMMEAN関数なら、上下の極端な値を自動で除外して平均を出せます。基本の書き方から割合の設定目安、実務での活用例まで解説します。
スプレッドシートのTRIMMEAN関数とは?外れ値を除いた平均を求める関数
TRIMMEAN関数(読み方: トリムミーン関数)は、データの上端と下端を切り落とす統計関数です。残ったデータの平均を返します。「TRIMMEAN」は「Trimmed Mean(トリム平均)」の略です。
たとえば10個のデータに対して割合を0.2と指定します。すると上位1個・下位1個を除いた8個で平均を計算します。
TRIMMEAN関数にできることをまとめると、次のとおりです。
- 外れ値を含むデータから、信頼性の高い平均値を自動で計算できる
- 切り落とす割合を自分で調整できるので、データの特性に合わせた分析ができる
- AVERAGE関数では極端な値に引っ張られる場面で正確な結果を得られる
- アンケート集計やスコア分析など、実務で幅広く活用できる
NOTE
TRIMMEAN関数はGoogleスプレッドシートの全バージョンで使えます。ExcelのTRIMMEAN関数と互換性があるので、同じ数式をそのまま使えますよ。
TRIMMEAN関数の書き方(構文と引数)
基本構文
=TRIMMEAN(データ, 割合)
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| データ | 必須 | 平均を求めたいセル範囲または配列 |
| 割合 | 必須 | 切り落とすデータの割合。0以上1未満の小数で指定 |
割合の指定がポイントです。0.2にするとデータ全体の20%を切り落とします。上位10%と下位10%をそれぞれ除外する仕組みです。
切り落とすデータの個数は「データ数 x 割合」で求めます。結果が奇数なら、最も近い偶数に切り捨てます。上下で同じ個数ずつ除外するためです。
WARNING
割合に0を指定するとAVERAGE関数と同じ結果になります。1以上を指定すると
#NUM!エラーになるので、0以上1未満の範囲で指定してください。
基本的な使い方
実際にTRIMMEAN関数を使ってみましょう。
10人の社員のテストスコアが記録されたデータがあるとします。
| A列(社員) | B列(スコア) | |
|---|---|---|
| 2行目 | 社員A | 72 |
| 3行目 | 社員B | 65 |
| 4行目 | 社員C | 80 |
| 5行目 | 社員D | 78 |
| 6行目 | 社員E | 15 |
| 7行目 | 社員F | 70 |
| 8行目 | 社員G | 75 |
| 9行目 | 社員H | 68 |
| 10行目 | 社員I | 98 |
| 11行目 | 社員J | 74 |
社員Eの15点と社員Iの98点が極端な値です。まずはAVERAGE関数で普通の平均を確認してみます。
=AVERAGE(B2:B11)
結果は 69.5 です。社員Eの15点に引っ張られて、多くの社員の実力より低い数値になっています。
次にTRIMMEAN関数で上下20%を除外してみましょう。
=TRIMMEAN(B2:B11, 0.2)
結果は 72.67 です。上位1個(98点)と下位1個(15点)を除いた8個の平均になっています。
こちらのほうが、大多数の社員のスコアをよく反映していますよね。
TIP
割合をどのくらいにすればいいか迷ったら、0.1〜0.2(10%〜20%) を目安にしてみてください。アンケート調査や統計分析では、この範囲がよく使われます。
実践的な使い方・応用例
顧客アンケートの満足度スコアを集計する
顧客満足度アンケートで、1〜10の評価スコアを集めたとします。いたずら回答のような極端な評価を除外して、信頼性の高い平均を出してみましょう。
A列にアンケートの回答番号、B列にスコアが50件入っているとします。
=TRIMMEAN(B2:B51, 0.1)
割合を0.1にすると、50件のうち上下あわせて約4件を除外します。外れ値の影響を抑えた、実態に近い満足度スコアが得られます。
AVERAGEとTRIMMEANを並べて比較する
外れ値の影響がどのくらいあるかを確認したいときは、AVERAGEとTRIMMEANを並べて表示すると便利です。
=AVERAGE(B2:B51)
=TRIMMEAN(B2:B51, 0.2)
2つの結果を比較して差が大きいなら、外れ値の影響がある証拠です。逆に差が小さければ、外れ値はほとんどないとわかります。
この「2つの平均を比べる」テクニックは、データの偏り具合を素早くチェックするのに役立ちます。
売上データで異常値を除外した平均単価を求める
月別の売上単価データから、セール月やキャンペーン月の異常値を除外して「通常月の平均単価」を把握したいケースです。
| A列(月) | B列(平均単価) | |
|---|---|---|
| 2行目 | 1月 | 3,200 |
| 3行目 | 2月 | 3,100 |
| 4行目 | 3月 | 800 |
| 5行目 | 4月 | 3,300 |
| 6行目 | 5月 | 3,150 |
| 7行目 | 6月 | 3,050 |
| 8行目 | 7月 | 8,500 |
| 9行目 | 8月 | 3,200 |
| 10行目 | 9月 | 3,100 |
| 11行目 | 10月 | 3,250 |
| 12行目 | 11月 | 3,400 |
| 13行目 | 12月 | 6,800 |
3月のセール(800円)と7月の高額キャンペーン(8,500円)が外れ値です。
=TRIMMEAN(B2:B13, 0.2)
上位1個(8,500円)と下位1個(800円)を除外した平均が出ます。結果は約 3,275円 です。
AVERAGE関数だと約 3,738円 です。キャンペーン月の8,500円に引き上げられています。通常月の実態を把握するなら、TRIMMEANが適していますね。
よくあるエラーと対処法
TRIMMEAN関数で遭遇しやすいエラーをまとめます。
| エラー | 原因 | 対処法 |
|---|---|---|
#NUM! | 割合が0未満または1以上 | 0以上1未満の値を指定する(例: 0.2) |
#VALUE! | データにテキストが含まれている | 数値のみのセル範囲を指定する。テキストセルがある場合は範囲を見直す |
特に多いのが #NUM! エラーです。割合に1を指定すると「データを100%切り落とす」意味になります。計算できる値がなくなるためエラーになるのです。
もう1つ注意したいのが、テキストが混ざるケースです。空白セルは無視されますが、テキストがあると #VALUE! エラーです。数値だけのセル範囲を指定してください。
エラーが表示されると困る場合は、IFERROR関数で囲んでおくと安心です。
=IFERROR(TRIMMEAN(B2:B11, 0.2), "データを確認してください")
AVERAGEやMEDIANとの違い・使い分け
TRIMMEAN関数と関連する関数の違いを整理しておきましょう。
| 関数 | 返す値 | 外れ値への強さ | 向いている場面 |
|---|---|---|---|
| AVERAGE | 算術平均 | 弱い(影響を受けやすい) | 外れ値がないデータ |
| TRIMMEAN | トリム平均 | 強い(指定割合を除外) | 外れ値が含まれるデータ |
| MEDIAN | 中央値 | 非常に強い | 分布が偏ったデータ |
| GEOMEAN | 幾何平均 | やや強い | 成長率・倍率のデータ |
| HARMEAN | 調和平均 | やや強い | 速度・レートのデータ |
使い分けの判断基準はシンプルです。
TRIMMEANは「AVERAGEとMEDIANの中間」です。AVERAGEほど外れ値に影響されません。かといってMEDIANほど絞り込まない。ちょうどいいバランスで平均値を出してくれます。
TIP
外れ値があるかどうかの判断には、STDEV関数が使えます。標準偏差が大きいデータは外れ値が含まれている可能性が高いので、TRIMMEANの使用を検討してみてください。
まとめ
TRIMMEAN関数は、データの上端と下端を切り落として外れ値の影響を排除した平均を求める関数です。
この記事のポイント
- 構文は
=TRIMMEAN(データ, 割合)で、割合は0以上1未満の小数 - 割合0.2なら上位10%と下位10%を除外して平均を計算する
- 割合の目安は 0.1〜0.2(10%〜20%) が一般的
- AVERAGEで外れ値に引っ張られる場面で、実態に近い平均を得られる
- AVERAGEとTRIMMEANを並べて比較すると、外れ値の影響度がわかる
関連する関数
TRIMMEAN関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
- AVERAGE関数の使い方 — 算術平均を求める
- MEDIAN関数の使い方 — 中央値を求める
- STDEV関数の使い方 — 標準偏差を求める
- PERCENTILE関数の使い方 — パーセンタイル値を求める
- GEOMEAN関数の使い方 — 幾何平均を求める
- HARMEAN関数の使い方 — 調和平均を求める
