「平成」を感じるもの

エクセルのMODE関数で最頻値を求めるときに、最頻値が同数あった場合の表示は正しくなされないのでしょうか。
試しに
A,1.1.2.3.4. B,1.1.2.2.3
この二つの列をそれぞれ求めた時に、A,は1になり、Bは1と2になるはずなのですが、
B,は1と表記されます。
1と2ですよ~、っていう表記のされ方はないでしょうか。。。 

A 回答 (5件)

B2セルに


=IF(SUM((FREQUENCY($A$2:$A$12,$A$2:$A$12)=MAX(FREQUENCY($A$2:$A$12,$A$2:$A$12)))*1)<ROW(A1),"",
INDEX($A:$A,SMALL(IF(FREQUENCY($A$2:$A$12,$A$2:$A$12)=MAX(FREQUENCY($A$2:$A$12,$A$2:$A$12)),ROW($A$2:$A$12)),ROW(A1))))
[Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる)
下へオートフィル
もっと良い案があるかも。たたき台ということで。
「MODE関数で」の回答画像2
    • good
    • 0
この回答へのお礼

お返事遅れて申し訳ありません。
理屈はほぼ分かりませんが、出来ました。
コピペしようと思います。
私には難題だったようです。。。

お礼日時:2011/06/17 09:50

FREQUENCY函数で対応できます。


ーー
同じ出現回数の場合どうなるか、疑問におもったら
Googleで「MODE関数 同一値」で照会すれば良い。
http://ohpa.net/modules/xlnote/content0086.html
>30も4個,50も4個で,ともに同じ出現回数ですが,30の方が先に出てくるため,30を最頻値とします。
ーーー
こんなところへ質問しなくても、いまどきは、情報が蓄積されて、エクセルの関数の定義的な疑問など、WEB照会で回答が得られるのだ。
    • good
    • 1

では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で入力,下向けにコピー。
    • good
    • 0

こんにちは!


無理やりって感じの方法です。
↓の画像のように作業用の列(表)を使います。
(データは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
「MODE関数で」の回答画像3
    • good
    • 0

MODE関数では、一番最初に出た最頻値のみ表示されるようです。


2010から、
MODE.MULT関数で対応しているようです。

http://office.microsoft.com/ja-jp/excel-help/HA0 …
    • good
    • 0
この回答へのお礼

使っているのは2007でした。
諦めるほかなさそうですね。。。

お礼日時:2011/06/09 15:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報