「Excelで平均を出したのに、どうもピンとこない」……そんな経験はありませんか。
たとえば5人の月収の平均が47万円。でも実際に見ると、ほとんどの人は30万円前後で、1人だけ120万円の高額所得者がいる。平均値が実態とかけ離れてしまうのは、外れ値に引っ張られるからです。
こんなときに頼れるのが MEDIAN関数 です。この記事では、ExcelのMEDIAN関数の使い方を基本から解説します。平均値との違いや、条件付き中央値、フィルター後の中央値まで、実務で役立つテクニックをまるごと紹介しますよ。
MEDIAN関数とは?
MEDIAN関数(読み方: メジアン)は、数値の中央値を返す関数です。英語の「Median(中央値)」がそのまま関数名になっています。
中央値とは、データを小さい順に並べたときにちょうど真ん中にくる値のこと。AVERAGE関数の平均値とは計算方法がまったく異なります。
中央値の最大の特長は 外れ値の影響をほとんど受けない ことです。給与データや不動産価格など、一部に極端な値が含まれるデータでは、平均値より実態に近い「代表値」を出せます。
すべてのExcelバージョンとMicrosoft 365に対応しています。
MEDIAN関数の書き方(構文と引数)
基本構文
=MEDIAN(数値1, [数値2], ...)
カッコの中に中央値を求めたい数値やセル範囲を指定します。引数はカンマ区切りで最大255個まで追加できます。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 数値1 | 必須 | 中央値を求める数値・セル参照・セル範囲 |
| 数値2, … | 任意 | 追加の数値やセル範囲(最大255個) |
引数にはセル範囲(例: B2:B6)を指定するのが一般的です。テキスト・論理値(TRUE/FALSE)・空白セルは自動的に無視され、数値だけが計算対象になります。
ただしエラー値が1つでも含まれるとエラーを返すので注意してください。エラーの対処法はこの記事の後半で解説します。
MEDIAN関数の基本的な使い方
ここからは実際の数式を見ていきましょう。サンプルデータとして、5人の月収(万円)がB2:B6に入っているとします。
| セル | 社員 | 月収(万円) |
|---|---|---|
| B2 | Aさん | 25 |
| B3 | Bさん | 28 |
| B4 | Cさん | 30 |
| B5 | Dさん | 32 |
| B6 | Eさん | 120 |
昇順に並べると 25, 28, 30, 32, 120 です。この順番を頭に入れておくと結果を確認しやすくなりますよ。
データが奇数個の場合
=MEDIAN(B2:B6)
結果は 30 です。データが5個(奇数)なので、ちょうど真ん中の3番目の値がそのまま返ります。
小さい順に並べて確認してみましょう。
25, 28, 30, 32, 120
3番目の30が中央値です。120という外れ値があっても、結果は引っ張られていません。ここがMEDIAN関数の強みですね。
データが偶数個の場合
Eさん(120万)を除いた4人分のデータで試してみます。
=MEDIAN(B2:B5)
結果は 29 です。データが4個(偶数)の場合、真ん中の2つの値の平均が返ります。
25, 28, 30, 32
中央の2つは28と30。(28+30)÷2 = 29 が中央値になるわけです。
複数の離れた範囲を指定する
1月と3月のデータだけで中央値を出したい、という場面もありますよね。離れた範囲はカンマで区切って指定できます。
=MEDIAN(B2:B6, D2:D6)
この式はB2:B6とD2:D6のすべての数値をまとめて中央値を計算します。間の列は無視されるので、必要なデータだけを選べます。
個別のセルを混ぜることもできます。
=MEDIAN(B2:B6, D3, F5)
中央値と平均値の違い|どちらを使うか判断フロー
MEDIAN関数とAVERAGE関数、どちらを使うべきか迷う場面は多いですよね。ここでは、同じデータで両者を比較しながら違いを確認していきましょう。
計算方法の違いを具体例で確認
先ほどの5人の月収データで比較します。
| 関数 | 数式 | 結果 | 計算方法 |
|---|---|---|---|
| 中央値 | =MEDIAN(B2:B6) | 30 | データを並べて真ん中の値 |
| 平均値 | =AVERAGE(B2:B6) | 47 | 合計(235)÷個数(5) |
平均値は47万円ですが、実際に47万円以上もらっている人はEさん(120万円)だけ。残り4人は全員47万円を下回っています。
一方、中央値の30万円は5人のちょうど真ん中。大多数の実感に近い値が出ていますよね。
このズレが起きるのは、AVERAGE関数がすべての値を合計して割るため、120万円という外れ値に大きく引っ張られるからです。MEDIAN関数は並び順の真ん中を取るだけなので、外れ値の影響をほとんど受けません。
「平均か中央値か」判断フロー
どちらを使うか迷ったら、次の3ステップで判断できます。
ステップ1: 外れ値はあるか?
データの中に極端に大きい(または小さい)値がないか確認します。MAX関数とMIN関数で最大値・最小値を見るだけでも判断できます。
ステップ2: 外れ値がなければ → AVERAGE関数
データがおおむね均等に分布しているなら、平均値のほうが情報量が多く適しています。テストの平均点や日別アクセス数の集計などが典型例です。
ステップ3: 外れ値があれば → MEDIAN関数
給与・年収、不動産価格、顧客単価など、一部に極端な値が含まれやすいデータでは中央値が向いています。「典型的な値」を知りたい場面ではMEDIAN関数を選びましょう。
両方出しておくのがベスト
実務ではAVERAGEとMEDIANの両方を併記するのがおすすめです。2つの差が大きいほどデータの偏りが大きいと判断でき、分析の精度が上がります。
MEDIAN関数の実務活用パターン
基本の使い方がわかったところで、一歩進んだテクニックを見ていきましょう。
条件付き中央値(IF+配列数式)
「部署ごとの中央値を出したい」など、条件を付けて中央値を計算する場面があります。MEDIAN関数にはAVERAGEIF関数のような条件付き版がありません。代わりにIF関数を組み合わせた配列数式を使います。
A列に部署名、B列に月収が入っている場合の例です。
=MEDIAN(IF(A2:A100="営業部", B2:B100))
この数式は、A列が「営業部」の行だけを抽出して中央値を計算します。
Excel 2019以前をお使いの方は、Enterではなく Ctrl+Shift+Enter で確定してください。数式バーに {=MEDIAN(IF(...))} と波カッコが付けばOKです。Microsoft 365やExcel 2021以降なら、通常のEnterで動作します。
0を除く中央値の注意点
アンケートの未回答を0で入力している場合など、0を除いて中央値を出したい場面があります。MEDIAN関数はゼロ値を計算に含めるため、そのまま使うと結果がズレてしまいます。
0を除くには、先ほどと同じIF関数との組み合わせが使えます。
=MEDIAN(IF(B2:B100>0, B2:B100))
条件を B2:B100>0 にすることで、0より大きい値だけが対象になります。こちらもExcel 2019以前ではCtrl+Shift+Enterが必要です。
0を除くべきかは慎重に判断
0が「未回答」や「欠損」を意味するなら除外が正解です。しかし0が実際の計測値(例: 売上0円の日)であれば、除外すると分析が偏ります。データの意味を確認してから判断しましょう。
フィルター後の中央値はAGGREGATE関数で
オートフィルターで絞り込んだ後に中央値を出したい場面もよくあります。しかし、MEDIAN関数はフィルターで非表示にした行も含めて計算してしまいます。
SUBTOTAL関数で解決したくなりますが、残念ながらSUBTOTALにはMEDIANの機能番号がありません。ここで使うのがAGGREGATE関数です。
=AGGREGATE(12, 5, B2:B100)
| 引数 | 値 | 意味 |
|---|---|---|
| 第1引数 | 12 | 集計関数の種類(12 = MEDIAN) |
| 第2引数 | 5 | オプション(5 = 非表示行を無視) |
| 第3引数 | B2:B100 | 対象のセル範囲 |
第2引数のオプションを変えると、動作を細かく制御できます。
| オプション値 | 動作 |
|---|---|
| 5 | 非表示行を無視(フィルター向き) |
| 6 | エラー値を無視 |
| 7 | 非表示行+エラー値を両方無視 |
フィルター後の中央値ならオプション 5 がおすすめです。エラー値も混在している場合は 7 を使ってください。
ROUND関数で小数点を丸める
MEDIAN関数の結果に小数点が出ることがあります。偶数個のデータで中央2値の平均を計算するときです。
小数点以下を丸めたい場合はROUND関数で囲みましょう。
=ROUND(MEDIAN(B2:B100), 0)
第2引数の 0 は小数点以下を四捨五入する指定です。小数第1位まで残したい場合は 1 に変えてください。
よくあるエラーと対処法
MEDIAN関数を使っていて遭遇しやすいエラーをまとめました。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 範囲内にテキストを直接入力している | セル参照に切り替える。テキストが混在するセルを確認して修正する |
| #NUM! | 数値がひとつもない範囲を指定している | 対象範囲にデータが入っているか確認する |
| #NAME? | 関数名のスペルミス(例: MEADIAN) | MEDIAN と正しく入力する |
| エラー値伝播 | 範囲内に#N/Aや#REF!がある | エラーセルを修正するか、AGGREGATE(12, 6, 範囲) で回避 |
エラー値が混在する場合は、IFERROR関数で個別にケアするか、先述のAGGREGATE関数(オプション6)で丸ごと無視するのが実用的です。
=AGGREGATE(12, 6, B2:B100)
テキストが数値に見えるのに計算されない場合は、文字列として保存されている可能性があります。VALUE関数で数値に変換すると解決できます。
似た関数との違い・使い分け
MEDIAN関数と混同しやすい関数を整理しておきましょう。
| 関数 | 何を返すか | 使いどころ |
|---|---|---|
| AVERAGE | 算術平均 | データが均等に分布しているとき |
| MEDIAN | 中央値 | 外れ値や偏りがあるとき |
| MODE | 最頻値(最も多く出現する値) | アンケートの回答分布などを見るとき |
| QUARTILE | 四分位数 | データの散らばり具合を把握するとき |
| RANK | 順位 | 個々の値の順位を知りたいとき |
| SMALL / LARGE | N番目に小さい/大きい値 | 特定の順位の値を取り出したいとき |
ちなみに、QUARTILE関数の第2引数に2を指定すると中央値が返ります。=QUARTILE(B2:B6, 2) と =MEDIAN(B2:B6) は同じ結果です。ただし可読性ではMEDIAN関数を使うほうが意図が伝わりやすいでしょう。
条件付きの平均を出したい場合はAVERAGEIF関数、最大値・最小値の条件付き集計ならMAXIFS関数やMINIFS関数が用意されています。
まとめ
ExcelのMEDIAN関数は、データの中央値を求める関数です。外れ値に強く、「典型的な値」を知りたいときに役立ちます。
この記事のポイントをおさらいしましょう。
- MEDIAN関数はデータを並べて真ん中の値を返す
- 偶数個のデータでは中央2値の平均になる
- 外れ値があるデータでは平均値より実態に近い結果を出せる
- 条件付き中央値はIF関数との配列数式で対応
- フィルター後の中央値はAGGREGATE関数(12, 5)を使う
日常の集計でAVERAGE関数だけに頼っていた方は、ぜひMEDIAN関数も併用してみてください。2つの差を見るだけで、データの偏りが一目で分かるようになりますよ。
