【Excel】エクセルで中央値を求める方法(MEDIAN関数・0を除く・条件付き)
エクセルでデータの中心に近い値を確認したいときは、平均値ではなく中央値を使うと判断しやすい場面があります。
中央値は、数値を小さい順に並べたときに中央に来る値です。
極端に大きい数値や小さい数値が混ざる売上、評価、作業時間などでは、平均値より実態に近い代表値になることがあります。
この記事ではMEDIAN関数の基本式から、0を除外する方法、条件付きで中央値を求める式までを、サンプルデータと操作イメージを交えて解説します。
中央値の基本式は MEDIAN(数値1, 数値2, …) です。
対象が奇数個なら中央の値、偶数個なら中央にある2つの値の平均を返します。
データの並べ替えをしなくても、関数だけで中央値を計算できる点が便利です。
MEDIAN関数で中央値を求める方法
それではまずMEDIAN関数を使って中央値を求める基本操作について解説していきます。
| 商品 | 売上個数 | 中央値 |
|---|---|---|
| 商品A | 12 | |
| 商品B | 18 | |
| 商品C | 25 | |
| 商品D | 31 | |
| 商品E | 44 |
この例では、B列の数値を対象にしてC2セルへ中央値を表示します。
MEDIAN関数の入力手順
中央値を表示したいC2セルを選択し、数式バーまたはセルに式を入力します。

=MEDIAN(B2:B6)
Enterキーを押すと、B2からB6までの5個の数値の中央である25が表示されます。
範囲指定は見出し行を含めず、実際の数値が入っているB2から指定することが基本です。
MEDIAN関数は対象セルを小さい順に並べ替えなくても、内部で順位を判定して結果を返します。
元データの表示順を変えたくない集計表でも、そのまま利用できます。
奇数個と偶数個で異なる計算結果
対象となる数値が5個、7個のような奇数個なら、並べたときに真ん中になる値が中央値です。
たとえば12、18、25、31、44の中央値は25になります。
一方で12、18、25、31の4個を対象にすると、中央にある18と25の平均である21.5が返されます。

奇数個の中央値は中央の1値です。
偶数個の中央値は中央2値の平均です。
偶数個だからエラーになるわけではなく、自動的に2つの中央値を平均します。
小数点以下の値が結果として表示される可能性もあるため、表示形式を整数にするか小数にするかは用途に応じて決めましょう。
文字列と空白セルを含む範囲の扱い
MEDIAN関数でセル範囲を指定した場合、空白セルや文字列が入ったセルは通常は計算対象から除外されます。
たとえばB2からB6に数値、B7に「未入力」と入力されていても、=MEDIAN(B2:B7)では数値だけが計算されます。
ただし、数値に見える文字列やエラー値が混在すると意図しない結果やエラーにつながることがあります。
集計前には数値が文字列として保存されていないか確認することが大切です。
セル左上の緑色三角や、左寄せで表示された数字がある場合は、数値へ変換してから計算すると安心です。
【操作のポイント】最初の行がヘッダーの場合、MEDIAN関数の範囲は2行目から指定します。
0を除く中央値の計算式
続いては0を除外して中央値を求める方法を確認していきます。
| 担当者 | 対応件数 | 0を除く中央値 |
|---|---|---|
| 田中 | 8 | |
| 佐藤 | 0 | |
| 鈴木 | 15 | |
| 高橋 | 0 | |
| 伊藤 | 22 |
未入力や対象外を0で記録している表では、通常のMEDIAN関数では0も中央順位の判定に入ります。
FILTER関数で0以外を抽出する式
Microsoft 365やExcel 2021以降では、FILTER関数とMEDIAN関数を組み合わせる方法が分かりやすいでしょう。

=MEDIAN(FILTER(B2:B6,B2:B6<>0))
FILTER(B2:B6,B2:B6<>0)の部分は、B2からB6のうち0ではない値だけを取り出します。
その抽出結果である8、15、22をMEDIAN関数に渡すため、結果は15です。
不等号と等号を組み合わせた<>0は、0ではないという条件を表します。
0を実績なしとして入力しているときに、実績がある人だけの標準的な値を確認したい場合に役立ちます。
配列数式で0以外を判定する方法
FILTER関数が使えないExcelでは、IF関数を組み合わせた配列数式を利用できます。

=MEDIAN(IF(B2:B6<>0,B2:B6))
古いExcelでは、式を入力したあとにCtrlキーとShiftキーを押しながらEnterキーで確定する必要がある場合があります。
Microsoft 365では通常のEnterキーだけで計算できます。
利用しているExcelのバージョンによって確定方法が異なる点に注意しましょう。
0以外のデータがまったくない場合は中央値を計算できないため、エラー処理も検討する必要があります。
0と空白の意味を区別する考え方
0を除外する式を使う前に、その0が本当に計算から外すべき値かを確認します。
売上が0円だったという実績なら、0も重要なデータであり、除外すると実態を歪めるかもしれません。
一方、未報告、休業、集計対象外の意味で0を使っているなら、中央値から外す判断が自然です。
数式を決める前に、セルの0が何を意味するのかを定義することが集計精度につながります。
0を実績値として扱うなら =MEDIAN(B2:B6) を使います。
0を未集計値として除外するなら =MEDIAN(FILTER(B2:B6,B2:B6<>0)) を使います。
【操作のポイント】0を削除してから集計するのではなく、元データを残したまま数式側で除外すると管理しやすくなります。
条件付き中央値の求め方
続いては、特定の条件に一致するデータだけから中央値を出す方法を確認していきます。
| 担当者 | 部門 | 売上額 | 営業部の中央値 |
|---|---|---|---|
| 田中 | 営業部 | 120000 | |
| 佐藤 | 管理部 | 80000 | |
| 鈴木 | 営業部 | 155000 | |
| 高橋 | 営業部 | 180000 | |
| 伊藤 | 管理部 | 95000 |
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 担当者 | 部門 | 売上額 | 中央値 |
| 2 | 田中 | 営業部 | 120000 | 155000 |
| 3 | 佐藤 | 管理部 | 80000 | |
| 4 | 鈴木 | 営業部 | 155000 |
1つの条件で中央値を抽出する式
営業部だけの売上額を対象にする場合は、D2セルへ次の数式を入力します。
=MEDIAN(FILTER(C2:C6,B2:B6=”営業部”))
FILTER関数は、B列が営業部である行だけに絞って、対応するC列の売上額を返します。
営業部の売上額は120000、155000、180000となり、中央値は155000です。
条件範囲の行数と、抽出する数値範囲の行数は必ずそろえます。
片方だけB2からB5、もう片方だけC2からC6のように指定すると、正しく計算できません。
複数条件を指定する数式
たとえば営業部かつ売上額が0より大きいデータだけを対象にしたい場合は、条件を掛け算でつなげます。
=MEDIAN(FILTER(C2:C6,(B2:B6=”営業部”)*(C2:C6>0)))
掛け算記号は、両方の条件を満たすというAND条件の役割を持ちます。
部門が営業部であり、なおかつ売上額が0より大きい行だけが残ります。
複数条件では各条件を丸かっこで囲むと、数式の構造を見失いにくくなります。
月別、担当者別、商品分類別など、集計軸を増やす場合にも同じ考え方を使えます。
条件に該当するデータがない場合の対処
条件に一致する数値が1件もないと、FILTER関数は計算できずエラーを返します。
見た目を整えたい場合はIFERROR関数で全体を包みます。
=IFERROR(MEDIAN(FILTER(C2:C6,B2:B6=”営業部”)),”該当データなし”)
該当データがあるときは中央値を表示し、ないときは該当データなしと表示できます。
エラーを隠すだけでなく、条件そのものが正しいかを確認することも重要です。
【操作のポイント】条件文字列は表記ゆれに弱いため、営業部と営業部門のような入力の違いを統一します。
中央値と平均値の使い分け
続いては、中央値と平均値をどのように使い分けるかを確認していきます。
| 担当者 | 対応時間 | 中央値 | 平均値 |
|---|---|---|---|
| A | 10 | ||
| B | 12 | ||
| C | 14 | ||
| D | 15 | ||
| E | 120 |
外れ値の影響を受けにくい中央値
上の例では、120分という極端に長い対応時間が1件あります。
中央値は14分ですが、平均値は34.2分になります。
一部の極端な値で全体の印象が大きく変わるデータでは、中央値が有効です。
顧客対応時間、年収、住宅価格、作業日数などは、外れ値を含みやすい代表例です。
標準的なケースを知りたいなら、中央値を確認するとよいでしょう。
全体量を把握しやすい平均値
平均値はすべての数値を合計して件数で割るため、全データの量を反映します。
予算、コスト、総作業量のように、外れ値も含めた全体の負担を把握したい場合には平均値が向いています。
中央値だけを見ると、少数の大きな案件が持つ影響を見落とす可能性があります。
中央値とAVERAGE関数の結果を並べて比較すると、データの偏りを発見しやすくなります。
【操作のポイント】報告書では中央値と平均値を併記すると、標準的な状況と全体の状況を両方伝えられます。
MEDIAN関数で起こりやすいエラー
続いては、中央値の計算時に起こりやすいエラーと確認箇所を解説していきます。
| 確認項目 | 例 | 対応 |
|---|---|---|
| 数値範囲 | 文字列が混在 | 数値へ変換 |
| エラー値 | #DIV/0! | 元の式を確認 |
| 条件範囲 | 行数が不一致 | 範囲を統一 |
エラー値が範囲に含まれるケース
MEDIAN関数の参照範囲に#N/Aや#DIV/0!などのエラー値があると、中央値もエラーになることがあります。
その場合は、まずエラーが出ている元のセルを修正することが基本です。
集計用にエラーを除外する必要がある場合は、IFERROR関数などで数値へ置き換える方法もあります。
計算結果だけを直すのではなく、エラーの発生原因を確認する姿勢が重要です。
数値が文字列として保存されているケース
CSVファイルの取り込み後などでは、見た目は数字でも文字列として保存される場合があります。
そのままではMEDIAN関数が正しく対象として認識しないことがあります。
警告マークから数値に変換するか、データタブの区切り位置機能を使って数値化しましょう。
VALUE関数を補助列に使う方法もあります。
条件式の入力ミスを確認する方法
条件付き中央値で結果が出ないときは、まずFILTER関数だけを別セルに入力して抽出結果を確認します。
抽出された数値が想定どおりなら、その式をMEDIAN関数で包むだけです。
段階ごとに数式を確認すると、部門名の誤記や範囲のずれを見つけやすくなります。
【操作のポイント】複雑な式は一度に完成させず、FILTER関数の抽出結果を先に確認してから中央値を追加します。
まとめ エクセルで中央値を求める方法
エクセルで中央値を求める基本の式は、=MEDIAN(B2:B6)です。
対象データが奇数個なら中央の値を、偶数個なら中央2値の平均を返します。
0を除外する場合は、=MEDIAN(FILTER(B2:B6,B2:B6<>0))のようにFILTER関数を組み合わせます。
部門や担当者などの条件を付ける場合も、FILTER関数で必要な行だけを抽出してからMEDIAN関数へ渡す流れです。
外れ値の影響を抑えて標準的な数値を知りたいときは中央値、全体の量を反映したいときは平均値を使い分けましょう。
データの意味、0の扱い、範囲の行数を確認しながら、目的に合った中央値の計算式を活用してください。