-
Home »
-
エクセル関数一覧表 »
-
Excel関数の目次 »
-
最頻値を求める関数
- 最も頻度の多い値を求める関数(MODE関数、MODE.SNGL関数、MODE.MULT関数)の使い方を解説しています。
MODE.SNGL関数、MODE.MULT関数はExcel2010で追加された関数です。
2022/2/12
- Spill(スピル)が使える場合は、最頻値が何個あるのかわからない場合などにも対処できるMODE.MULT関数が便利に使用できます。
- Excel for Microsoft365 や Excel2021以降ではMODE.SNGL関数(MODE関数)を使う機会はなくなるかもしれません。
- ということで、説明の順番を MODE.MULT関数、MODE関数、MODE.SNGL関数 に変更します。
最頻値を求める topへ
モード マルチ
=MODE.MULT(数値1,[数値2],・・・)
Excel2010で追加された関数です。
- 最頻値が複数あるときには、配列数式として入力すると複数の最頻値を求めることができます。
なお、最頻値がが1個だけの場合にも対処できます。
- 【問題】データの最頻値をC12セル以降に求めなさい。
-
|
B |
C |
2 |
|
データ |
3 |
|
70 |
4 |
|
80 |
5 |
|
70 |
6 |
|
55 |
7 |
|
55 |
8 |
|
80 |
9 |
|
90 |
10 |
|
55 |
11 |
|
80 |
12 |
最頻値 |
80 |
13 |
最頻値 |
55 |
14 |
|
|
Spill(スピル)が利用できる環境
- Excel for Microsoft365 や Excel2021ではSpillが利用できます。
よって、複数の解答がある場合にも対応できるようになりました。
C12セルに =MODE.MULT(C3:C11) と入力すると、C12とC13に値が返されます。
Spill(スピル)が利用できないバージョンを使っている場合
- Spill(スピル)が利用できない環境では、通常のように数式を入力すると、最初に現れる最頻値が1個だけ求められます。
MODE.SNGL関数と同じです。最頻値が複数あるので、これでは不十分です。
複数の最頻値を求めるには配列数式とします
- 数式を入力する C12:C14セルを選択します。(←重要ポイントです)
結果を表示するセルを選択しておいてから、数式を入力します。
ここではC12:C14 と3つのセルを選択していますが、 これはたぶん最頻値が3個ぐらいだろう・・・との推測で 3つ としています。
- C12セルに=MODE.MULT(C3:C11) と入力し、[Ctrl]+[Shift]+[Enter]で入力を確定します。
- C12:C14セルには {=MODE.MULT(C3:C11)} と配列数式で入力されます。
- 下図のように数式が入力されます。
最頻値は「80」と「55」でそれぞれデータが3個あります。
3つ目の最頻値はないので 3つ目の数式の箇所には#N/A エラーが返されています。
- C14セルがエラーになるのですが、これは最頻値がいくつあるか分からないといった前提で、多めのセルに配列数式を入力したためです。
すると、最頻値が2つあるのが分かったので、エラーのセルC14を削除したいのですが、「配列の一部を変更することはできません」と表示されます。
仕方がないので、C12:C14をDeleteキーでクリアして、C12:C13を選択した状態で配列数式を入力し直します。
複数の最頻値を横方向へ求めるには?
Spill(スピル)が利用できる環境
- Excel for Microsoft365 や Excel2021ではSpillが利用できます。
C12セルに =TRANSPOSE(MODE.MULT(C3:C11)) と入力すると、C12とD12セルに最頻値 80と55が返されます。
Spill(スピル)が利用できないバージョンを使っている場合
- C12:E12セルを選択します。
結果を表示するセルを選択しておいてから、数式を入力します。
- C12セルに =TRANSPOSE(MODE.MULT(C3:C11)) と入力し、[Ctrl]+[Shift]+[Enter]で入力を確定します。
- C12:C14セルには {=TRANSPOSE(MODE.MULT(C3:C11))} と配列数式で入力されます。
- 下図のように数式が入力されます。
- ここでは、Spill(スピル)の機能が使える環境で説明します。
Excel for Microsoft365 や Excek2021で使用できる数式になっています。
- 最も多く出現する文字列を数式で求めます。
F列:文字列がどの位置に出現しているのかを XMATCH関数で求めます。=XMATCH(B3:B10,B3:B10)
G列:どの位置がもっとも多く出現しているかをMODE.MULT関数で求めます。=MODE.MULT(F3#)
H列:再頻出の文字列のリストの位置が分かったので、INDEX関数で取り出します。=INDEX(B3:B10,G3#)
- これら数式を一つにまとめると、
D3セル =INDEX(B3:B10,MODE.MULT(XMATCH(B3:B10,B3:B10)))
となります。
最頻値を求める topへ
モード
=MODE(数値1,[数値2],・・・)
- 数値2は省略可能で、2〜254個の数値を指定できます。
また、単一配列や、配列への参照を指定することもできます。
- 引数には、数値、数値配列、または数値を含む範囲を参照する名前かセル参照を指定します。
- 文字列、論理値、または空白セルは無視されます。
数値として 0 (ゼロ) は計算の対象となります。
- エラー値または数値に変換できない文字列を引数に指定すると、エラーになります。
重複する数値がないときはエラー 「#N/A」 になります。
- 最頻値が複数ある場合は、最初に出てきた数値が返されます。
複数の最頻値はExcel2010以降で追加されたMODE.MULT関数 を使って求めることができます。 - 【問題】データの最頻値をC9セルに求めなさい。
-
|
B |
C |
2 |
|
データ |
3 |
|
80 |
4 |
|
55 |
5 |
|
90 |
6 |
|
55 |
7 |
|
55 |
8 |
|
80 |
9 |
最頻値 |
55 |
- 【解答例】
- C9セルに =MODE(C3:C8) と入力します。
最頻値を求める topへ
モード シングル
=MODE.SNGL(数値1,[数値2],・・・)
Excel2010で追加された関数です。従来のMODE関数と同様の使い方をします。
- 【問題】データの最頻値をC9セルに求めなさい。
-
|
B |
C |
2 |
|
データ |
3 |
|
80 |
4 |
|
55 |
5 |
|
90 |
6 |
|
55 |
7 |
|
55 |
8 |
|
80 |
9 |
最頻値 |
55 |
- 【解答例】
- C9セルに =MODE.SNGL(C2:C7) と入力します。
|
B |
C |
2 |
|
データ |
3 |
|
80 |
4 |
|
55 |
5 |
|
90 |
6 |
|
55 |
7 |
|
55 |
8 |
|
80 |
9 |
最頻値 |
=MODE.SNGL(C3:C8) |
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
最頻値を求める関数
PageViewCounter
Since2006/2/27