シンプル・スマートな画面録画ソフト EaseUS RecExperts
Excel最新版が使える「Microsoft 365」を最安で購入するなら

2024/04/27時点のExcelの最新バージョン2403 17425.20176はMicrosoft 365にて利用可能です。

Microsoft 365は、現在『Amazonのオンラインコード版』が最安購入値となっています。
(Microsoft公式より1,490円お得)

Excelについて詳しく解説します

    • 平均値や中央値との違いを含めて、最頻値について知りたい
    • Excelで最頻値を計算する方法があるなら知りたい
    • Excelにおける最頻値の活用方法を知りたい

この記事では上記のような質問にお答えします。

 

最頻値は、あるデータの集まりの中で最もよく出てくる数値です。

Excelでは最頻値を一瞬で算出する関数があり、複数のデータから目視で算出する必要がなくなります。

当記事では、最頻値とは何かを平均値や中央値との違いを含めて解説したうえで、Excelで最頻値を算出する関数やグラフでどのように使うのかも解説いたします。

この記事を読めば、最頻値を使ったワンランク上のデータ分析ができるようになりますので、ぜひ最後まで読んでみてください。

 

 当記事で使用している画像は、Excel 2021(Microsoft 365の最新バージョン)での操作画面になりますが、他のバージョンでも基本的な操作方法は同じとなります。

ただ、過去のExcelバージョンでも基本的に操作方法や関数は同じものが使えるので、過去のバージョンのExcelを利用されている方も、そのままお読みください。

 
【新機能】わからないことはAIに聞いてみよう
質問内容を入力すると、皆さんの疑問にAIがお答えします。

※当機能は現在ベータ版です。 予告なく公開終了する場合があります。

そもそも最頻値とは

最頻値は代表値と呼ばれる値の1つで、データ群の中で最もよく現れる値を表す際に使います。

代表値はデータの傾向や特徴を表す数値で、平均値や中央値も代表値の仲間です。

たとえば「1,3,2,2,5」とデータがあったとき、最頻値は2になります。

また「2,2,4,7,9,5,5」の場合は最頻値は2と5です。

平均値・中央値との違い

最頻値は中央値と同じく、異常値の影響を受けません。

あくまでも、データ群の中から最も多い数値を出すだけだからです。

データ内の最頻値が同じ数の場合は、複数の値が最頻値となります。

最頻値が使われるケースとして、下記のようなケースがあります。

  • 自社の販売製品の中から、もっともよく売れている商品の算出する
  • 商品を購入した年代の中で、もっともよく買っている年代を算出する
  • アンケートで最も回答の多かった年代や回答を算出する
  • ある地域で働いている人の年収の中で、もっとも多い年収を算出する

ピボットテーブルでも算出しようと思えば可能ですが、後述するMODE関数を使えばすぐに割り出せます。

逆に最頻値が使えないケースは、データの総数が少ないときです。

総数が少なく、どの値も2~3回しか出ないといったデータ量であれば使っても意味がありません。

平均値や中央値に比べて、使用頻度は少ないですが覚えておいて損はないでしょう。

 

なお、中央値については下記の記事で詳しく解説しているので、こちらも併せてお読みください。

最頻値の計算方法

最頻値を算出するには、膨大なデータの中から最も多い値を探す必要があります。

しかし、いちいち目視で計算していたら時間もかかる上、ミスも起こるのであまりオススメしません。

そこでExcelには、最頻値を算出する関数としてMODE関数が用意されています。

MODE関数には、MODE.SNGL関数、MODE.MULT関数の2種類があります。

厳密にはMODE関数も含めると3種類ですが、MODE関数は今後無くなる可能性があるので説明しません。

それぞれ、解説します。

MODE.SNGL関数

MODE.SNGL関数は1つの最頻値を算出するのに使います。

書き方は

=MODE.SNGL(数値の範囲)

です。

列だけではなく、B3からD14など範囲としても指定できます。

実際に、下記の表で使ってみましょう。

excel_mode_table

セルD3に最頻値を出したいので、セルD3に

=MODE.SNGL(B3:B13)

と、入力します。

すると、下記のようになります。

excel_mode_table2

ただし、MODE.SNGL関数では最頻値が2つ以上あった場合1つしか算出しません。

最頻値を2つ以上算出したい場合は、MODE.MULT関数を使います。

MODE.MULT関数

MODE.MULT関数は、最頻値が2つ以上ある場合に使います。

書き方は

=MODE.MULT(数値の範囲)

です。

前述の表を少し加工した表で試してみましょう。

excel_mode_mult_table

セルD3に下記のように入力します。

=MODE.MULT(B3:B13)

すると、下記画像のようになります。

excel_mode_mult_table2

2つ目以降の最頻値は関数を入力したセルの直下に表示されました。

 

ちなみに関数を入力したセルの直下に、別の値があると#SPILLと表示されるので注意してください。

excel_mode_mult_table3

なお、MODE.MULT関数で範囲を指定する場合、1列ずつでしか指定できない点も注意が必要です。

【応用①】IF関数を使って条件に一致したセルの最頻値を算出する

場合によっては、条件付きの最頻値を出したい場合もあるでしょう。

たとえば、性別ごとや場所ごとにとったアンケートでどの回答が最も多かったのかを調べたいときです。

単一の条件と2つ以上の条件で算出する場合に分けて解説します。

単一の条件で最頻値を算出する

単一の条件で最頻値を算出するには、

=MODE.SNGL(IF(条件範囲=条件,最頻値を出す範囲,""))

と、入力します。

下記画像を用いて、以下条件で最頻値を算出します。

条件

性別が男性

excel_mode_if_table

セルG2に、

=MODE.SNGL(IF(B3:B22="男性",D3:D22,""))

と、入力してみてください。

すると、下記画像のようになります。

excel_mode_if_table2

念のため、表にフィルターをかけてみて本当に合っているか確認します。

フィルタリングした結果、1が7個で2が5個なので合っていますね。

excel_mode_if_table3

2つ以上の条件で最頻値を出す

今度は複数条件で最頻値を出してみましょう。

条件

  • 性別:女性
  • 場所:渋谷

上記の場合、IF関数を入れ子にして1つずつ条件を入力します。

つまり、

=MODE.SNGL(IF(条件1,IF(条件2,最頻値を出す範囲,""),""))

となります。

実際に下記の表で入力してみましょう。

excel_mode_if_table4

セルG2に、

=MODE.SNGL(IF(B3:B22="女性",IF(C3:C22="渋谷",D3:D22,""),""))

と入力します。

すると、下記のように最頻値が1と表示されます。

excel_mode_if_table5

フィルターでの確認は省きますが、1しか回答がなかったので最頻値は1となりました。

このように、条件付きで最頻値を出す方法も覚えておいて損はありません。

【応用②】棒グラフの中に最頻値を表示する

最頻値を視覚的に強調したい場合は、棒グラフが使えます。

excel_mode_graph_complete

下記の表を使って解説します。

excel_mode_graph_table

まずは表にある値の右側全てに最頻値を出します。

数値の隣に

=MODE.SNGL($B$3:$B$13)

と入力してください。

範囲を絶対参照で入力しセルC3からセルC13までコピペすれば、全てのセルに最頻値が入力できます。

excel_mode_graph_table2

次に表全体(B2:C13)を選択したら、挿入グラフにある組み合わせ集合縦棒 - 折れ線の順にクリックします。

excel_mode_graph_select

グラフが表示されたら、あとは加工して見やすくすればOKです。

excel_mode_graph_sample

応用次第で折れ線グラフも使えます。

 
この記事で解決しなかった疑問は疑問はAIに聞いてみよう
質問内容を入力すると、皆さんの疑問にAIがお答えします。

※当機能は現在ベータ版です。 予告なく公開終了する場合があります。

まとめ

以上、最頻値について解説しました。

最頻値は、あるデータ群の中で最もよく出てくる数値です。

アンケートで性別ごとに最も多かった回答はどれだったのかを算出する際に利用します。

Excelで最頻値を出すときはMODE.SNGL関数やMODE.MULT関数が使えます。

IF関数と絡めて条件付きの最頻値を算出したり、グラフを使って視覚的にもアピールできたりするので、ぜひ最頻値を使ってみてください。