Excel 最頻値(現れる頻度が最も高い数値)を取得(MODE.SNGL関数、MODE.MULT関数)

2020年5月25日

MODE.SNGL関数とMODE.MULT関数は

最頻値(モード)を取得する関数でMODE関数の新しいバージョンです。

そちらは今後、使用できなくなる可能性があるため

MODE.SNGL関数とMODE.MULT関数を使用しましょう。

この記事では関数の仕様と使用例を紹介します。

仕様

MODE.SNGL関数

一つの最頻値を取得します。

最頻値が複数ある場合は最初に現れる値が結果になります。

最頻値がない場合は#N/Aエラーになります。

=MODE.SNGL(数値1~255)
引数省略時の値説明
数値1~255省略不可最頻値を求める数値を指定。
引数の詳細

MODE.MULT関数

複数の最頻値を取得します。

=MODE.MULT(数値1~255)
引数省略時の値説明
数値1~255省略不可最頻値を求める数値を指定。
引数の詳細

配列数式で記述する必要があります。

使用例

サンプルとして下記のデータを使用します。最頻値は2と9です。

MODE.SNGL関数

MODE.SNGL関数はSUM関数のようにデータのセル範囲を指定するのみです。

最頻値は一つしか取得されません。

複数ある場合はデータの中で最初(最も左上)に登場する値が結果になります。

MODE.SNGL関数の使用例

MODE.MULT関数

MODE.MULT関数はMODE.SNGL関数と違い

最頻値が複数ある場合にも適用できます。

但し配列数式が必須のため使い勝手は悪くなります。

まずMODE.SNGL関数と同様にデータ範囲を引数に関数を作ります。

複製するため範囲は絶対参照にします。

MODE.SNGL関数を一つ記述

MODE.MULT関数を縦方向に数式コピーします。

配列数式にする前は全て同じ結果になり最初の最頻値の9のみ表示されます。

MODE.MULT関数を縦方向に数式コピーした結果

次に数式セルを全て選択し数式バーで[Ctrl]+[Shift]を押しながら

[Enter]を押して配列数式に変換します。数式が{}で囲まれたら成功です。

最初の最頻値の9と、2番目の2が表示されます。

続く最頻値がなくなると#N/Aエラーになります。

スピルが対応されているバージョンであれば配列数式が不要です。

関数のセルを[Enter]すれば最頻値が存在する数だけ自動拡大されます。

この場合、数式のセル指定に絶対参照が不要です。

1つのセルにMODE.MULT関数を指定
1つのセルにMODE.MULT関数を指定
[Enter]押下で最頻値の数だけ数式が自動拡大
[Enter]押下で最頻値の数だけ数式が自動拡大

MODE.MULT関数を横方向に使用することも可能です。

TRANSPOSE関数の併用が必要です。

MODE.MULT関数を横方向に使用した結果

使用上の注意など

今回は1桁の数字のためそのまま使用しましたが

数値が大きくなるとバラけてしまい最頻値が出ないか、出す意味が薄くなります。

そういった場合はROUND系関数で小さい桁を切るか

ヒストグラムを作成して最頻値も含めた全体的な傾向を出すと良いでしょう。

(最も高い場所が最頻値)

関連記事

関数の仕様と使い方の記事一覧