- ベストアンサー
MODE関数で
エクセルのMODE関数で最頻値を求めるときに、最頻値が同数あった場合の表示は正しくなされないのでしょうか。 試しに A,1.1.2.3.4. B,1.1.2.2.3 この二つの列をそれぞれ求めた時に、A,は1になり、Bは1と2になるはずなのですが、 B,は1と表記されます。 1と2ですよ~、っていう表記のされ方はないでしょうか。。。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
FREQUENCY函数で対応できます。 ーー 同じ出現回数の場合どうなるか、疑問におもったら Googleで「MODE関数 同一値」で照会すれば良い。 http://ohpa.net/modules/xlnote/content0086.html >30も4個,50も4個で,ともに同じ出現回数ですが,30の方が先に出てくるため,30を最頻値とします。 ーーー こんなところへ質問しなくても、いまどきは、情報が蓄積されて、エクセルの関数の定義的な疑問など、WEB照会で回答が得られるのだ。
- keithin
- ベストアンサー率66% (5278/7941)
ではExcel2007向けに少し簡素化して。 A1:A5にネタ数字があるとすると =IFERROR(SMALL(IF(FREQUENCY(A:A,A:A)=MAX(FREQUENCY(A:A,A:A)),$A$1:$A$5),ROW(A1)),"") をCtrl+Shift+Enterで入力,下向けにコピー。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 無理やりって感じの方法です。 ↓の画像のように作業用の列(表)を使います。 (データはA列2行目からE列までとします) 作業列G2セルに =IF(COUNTIF($A2:A2,A2)>1,COUNTIF($A2:$E2,A2),"") という数式を入れ列方向と行方向にオートフィルでコピーしておきます。 結果のM2セルに =IF(COUNTIF($G2:$K2,MAX($G2:$K2))<COLUMN(A1),"",INDEX($A2:$E2,,SMALL(IF($G2:$K2=MAX($G2:$K2),COLUMN($A$1:$E$1)),COLUMN(A1)))) これは配列数式になってしまいますので、この画面からM2セルにコピー&ペーストする場合は そのままコピー&ペーストだけではエラーになるか、まともに表示されません。 M2セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このM2セルを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、元データに重複がない場合は結果は空白になってしまいます。 以上かなり泥臭い方法ですが、他に良い方法があればごめんなさいね。m(__)m
- last_shishi
- ベストアンサー率56% (54/96)
MODE関数では、一番最初に出た最頻値のみ表示されるようです。 2010から、 MODE.MULT関数で対応しているようです。 http://office.microsoft.com/ja-jp/excel-help/HA010345299.aspx?CTT=5&origin=HP010335649
お礼
使っているのは2007でした。 諦めるほかなさそうですね。。。
お礼
お返事遅れて申し訳ありません。 理屈はほぼ分かりませんが、出来ました。 コピペしようと思います。 私には難題だったようです。。。