Excel 最頻値(現れる頻度が最も高い数値)を取得(MODE.SNGL関数、MODE.MULT関数)
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.MULT関数
MODE.MULT関数はMODE.SNGL関数と違い
最頻値が複数ある場合にも適用できます。
但し配列数式が必須のため使い勝手は悪くなります。
まずMODE.SNGL関数と同様にデータ範囲を引数に関数を作ります。
複製するため範囲は絶対参照にします。

MODE.MULT関数を縦方向に数式コピーします。
配列数式にする前は全て同じ結果になり最初の最頻値の9のみ表示されます。

次に数式セルを全て選択し数式バーで[Ctrl]+[Shift]を押しながら
[Enter]を押して配列数式に変換します。数式が{}で囲まれたら成功です。
最初の最頻値の9と、2番目の2が表示されます。
続く最頻値がなくなると#N/Aエラーになります。

スピルが対応されているバージョンであれば配列数式が不要です。
関数のセルを[Enter]すれば最頻値が存在する数だけ自動拡大されます。
この場合、数式のセル指定に絶対参照が不要です。

![[Enter]押下で最頻値の数だけ数式が自動拡大](https://blog-tips.sekenkodqx.jp/wp-content/uploads/2020/05/image-170.png)
MODE.MULT関数を横方向に使用することも可能です。
TRANSPOSE関数の併用が必要です。

使用上の注意など
今回は1桁の数字のためそのまま使用しましたが
数値が大きくなるとバラけてしまい最頻値が出ないか、出す意味が薄くなります。
そういった場合はROUND系関数で小さい桁を切るか
ヒストグラムを作成して最頻値も含めた全体的な傾向を出すと良いでしょう。
(最も高い場所が最頻値)
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。