【エクセル】MODE.SNGL関数で最頻値を求める方法。2番目、3番目の値を計算する方法も

エクセルのMODE.SNGL関数で最頻値を求める方法

Excel(エクセル)でアンケート結果などを表にまとめたとき、最頻値(最も結果が多い値)を表示させる方法をご存じですか?

最頻値を求めるときは、MODE.SNGL関数(もしくはMODE関数)を利用します。

また、最頻値が同数で複数存在する場合は、MODE.MULT関数を使用します。

この記事では、以下の内容をお届けします。

紹介する内容

1.MODE.SNGL関数とMODE関数とMODE.MULT関数の違い

2.MODE.SNGL関数で最頻値を求める方法

3.MODE.MULT関数で複数の最頻値を求める方法

4.最頻値の次に多い値を調べる方法(2番目、3番目・・・)

MODE.SNGL関数とは?

MODE.SNGL関数の読み方は、「モード・シングル関数」です。

MODE.SNGL関数は、最も頻繁に出現する数値 (=最頻値) を返す関数です。

最頻値(さいひんち)のことを英語では「モード」といい、シングルは「単独の」を意味します。

例えば、MODE.SNGL関数を使えば、下の図のD列の「1~5」の数値の中から最も多く出現する数値を調べることができます。

下の場合は、「5」が1回、「4」が3回、「3」が1回、「1」が1回現れるので、最頻値は「4」と求められます。

MODE.SGNL関数のイメージ図
MODE.SGNL関数のイメージ図

MODE.SNGL関数とMODE関数の違いは?

MODE.SNGL関数に似た関数にMODE関数がありますが、MODE関数はMODE.SNGL関数の旧関数です。

もともとMODE関数の1つが存在していましたが、MODE.SNGL関数とMODE.MULT関数に分かれました。

共に互換性があるのでどちらも使えますが、MODE関数はいずれ使えなくなるので、MODE.SNGL関数を使うようにしましょう。

また、MODE.MULT関数も、最も頻繁に出現する数値を返しますが、最頻値が複数ある場合に対応できる関数なので、機能は少し異なります。(使い方は後半の見出しを参照ください)

MODE関数の3種類

MODE関数:最頻値を求める ※旧関数

MODE.SNGL関数:最頻値を求める  

MODE.MULT関数:最頻値を求める (複数ある場合にも対応可能)

MODE.SNGL関数(MODE関数)の使い方

MODE.SNGL関数を使って、最頻値を求める方法を詳しく解説していきます。

MODE.SNGL関数の書式と引数

MODE.SNGL関数の書式と引数は以下の通りです。

=MODE.SNGL(値1,値2,値3,・・・)

引数「値」には、最頻値を求めたいセル範囲やセル番号を指定します。

例:「=MODE.SNGL(D3:D8)」「=MODE.SNGL(D3,D4,D5,D6,D7,D8)」

MODE.SNGL関数を使った事例

MODE.SNGL関数を使う手順と事例を紹介します。

まず、最頻値を表示したいセルにMODE.SNGL関数を挿入します。

=MODE.SNGL(

手順1.MODE.SNGL関数を挿入する
手順1.MODE.SNGL関数を挿入する

最頻値を求めたいセル範囲をドラッグで選択します。

=MODE.SNGL(D3:D8)

手順2.MODE.SNGL関数の引数「値」を指定する
手順2.MODE.SNGL関数の引数「値」を指定する

EnterキーでMODE.SNGL関数を確定すると、D列の値の中の最頻値が「4」であることが分かりました。

手順3.MODE.SNGL関数で最頻値を求める
手順3.MODE.SNGL関数で最頻値を求める

MODE.SNGL関数でエラーが表示される場合

MODE.SNGL関数の結果が、エラー値「#N/A」が表示されることがあります。

その一番の原因は、最頻値を求めるセル範囲が数値以外になっていることです。

例えば、下の表のC列の最頻値を求めたくても、C列の「A」「B」「C」は数値ではないため、最頻値を求めることができません。

MODE.SNGL関数でエラー値が表示される原因
MODE.SNGL関数でエラー値が表示される原因

数値以外の最頻値を求める方法

上記のとおり、MODE.SNGL関数は数値セル以外では最頻値を求めることができません。

数値以外の文字列で最頻値を求める場合は、COUNTIF関数とRANK関数を用います。

まず、表の枠外にCOUNTIF関数を挿入して、それぞれの文字列のセルの個数を求めます。

=COUNTIF($C$3:$C$8,"A")

数値以外の最頻値を求める方法(COUNTIF関数の挿入)
数値以外の最頻値を求める方法(COUNTIF関数の挿入)

次に、セルの個数の横にRANK関数を挿入して、セルの個数の多い順にランクをつけます。ランク”1”が最頻値です。

=RANK(G3,$G$3:$G$5,0)

数値以外の最頻値を求める方法(RANK関数の挿入)
数値以外の最頻値を求める方法(RANK関数の挿入)

MODE.MULT関数は「複数の最頻値」を求める

同数で最頻値が複数ある場合は、MODE.MULT関数を使用します。

MODE.MULT関数は、「モード・マルチ関数」と読みます。複数を意味する英語「multiple」が由来です。

MODE.MULT関数の書式と引数は以下の通りで、MODE.SNGL関数と同じです。

=MODE.SNGL(値1,値2,値3,・・・)

ただ、複数の最頻値を返す必要があるため、エクセルのバージョンがExcel2021以降かExcel2019以前かによって使い方が異なります。

MODE.MULT関数の使い方(Excel2021以降)

Excel2021以降のバージョンやMicrosoft365(サブスク)を利用しているのであれば、MODE.MULT関数の使い方は簡単です。

MODE.MULT関数を挿入して、Enterキーを押して確定してください。

=MODE.MULT(D3:D8)

MODE.MULT関数の使い方(Excel2019以降)
MODE.MULT関数の使い方(Excel2019以降)

そうすると、D列には「3」が2つ、「4」が2つと最頻値が2つあるので、MODE.MULT関数の結果が隣接セルに拡張されて、G3セルに「3」とG4セルに「4」と表示されます。

MODE.MULT関数の結果が隣接セルに拡張(スピル)
MODE.MULT関数の結果が隣接セルに拡張(スピル)

このように、「数式の結果がセルからあふれて、隣接したセルにも拡張されて出力される機能」のことをスピルといいます。

下の記事でスピルの基本操作を紹介しているので、興味のある方は参考にしてください。

MODE.MULT関数の使い方(Excel2019以前)

Excel2019以前のバージョンで、MODE.MULT関数を使う方法を紹介します。

MODE.MULT関数を挿入して、「Ctrl」キーと「Shift」キーを押しながら、「Enter」キーを押して確定してください。(「Ctrl+Shift+Enter」キー)

MODE.MULT関数の使い方(Excel2019以前)
MODE.MULT関数の使い方(Excel2019以前)

そうすると、数式が中括弧「{}」で囲われて、隣接したセルに最頻値が複数個表示されます。

{=MODE.MULT(D3:D8)}

MODE.MULT関数の使い方(配列数式)
MODE.MULT関数の使い方(配列数式)

このように、1つの数式で複数の答えを計算する機能を「配列数式」といいます。下の記事で配列数式の基本操作を紹介しているので、興味のある方は参考にしてください。

2番目、3番目に多い値を調べる場合

最頻値の次に多い2番目、3番目の値を求める方法を紹介します。

1つは関数を使用する方法で、2つ目はピボットテーブルを使用する方法です。

COUNTIF関数で2番目、3番目を求める

2ばね最頻値を求める場合は、COUNTIF関数とRANK関数を用います。

まず、表の枠外にCOUNTIF関数を挿入して、それぞれの値のセルの個数を求めます。

=COUNTIF($D$3:$D$10,F3)

値のセル数をCOUNTIF関数で求める
値のセル数をCOUNTIF関数で求める

次に、セルの個数の隣の列にRANK関数を挿入して、セルの個数の多い順にランクをつけます。そうすると、ランクの数値が数字の大きい順を表しているので、2番目、3番目の数値を確認することができます。

=RANK(G3,$G$3:$G$7,0)

RANK関数で順位付けして2番目以降に多い値を調べる
RANK関数で順位付けして2番目以降に多い値を調べる

ピボットテーブルで2番目、3番目を求める

関数を使わなくても、ピボットテーブルを使えばどの項目がどれだけ多いか調べることができます。

まず、表を選択し、「挿入」タブの「ピボットテーブル」を選択します。

2番目以降の数を調べるためピボットテーブルを挿入
2番目以降の数を調べるためピボットテーブルを挿入

「ピボットテーブルのフィールド」画面で数値の多さを調べたい項目を、「行」と「値」フィールドにドラッグ&ドロップします。

ピボットテーブルを設定
ピボットテーブルを設定

ピボットテーブルの結果が表示されるので、右クリックメニューから値の集計方法を「データの個数」に変更します。

ピボットテーブルの値の集計方法を「データの個数」に変更
ピボットテーブルの値の集計方法を「データの個数」に変更

そうすると、値ごとのセルの個数が表示されます。個数が最も多いものが最頻値で、次に多いものが2番目に多い値となります。

ピボットテーブルで2番目以降に多いものを調べる
ピボットテーブルで2番目以降に多いものを調べる

ピボットテーブルの使い方を詳しく知りたい方は、以下の記事を参考にしてください。

-Excel(エクセル), 数式・関数