Excel問題, 怎樣找出第2眾數或其他次眾數?

2007-12-07 11:49 pm
如有以下數值資料:
1(當存於A1儲存格, 如此類推)
1
1
1
2
2
3
3
3(A9)

運用Excel涵式: =MODE(A1:A9)可以得出1為當中的眾數, 但怎樣列式可以找出3為第二多出現的數值及2為第三多出現的數值呢?

回答 (2)

2007-12-08 9:14 am
✔ 最佳答案
large() 唔係咁樣意思既....

第二多的可以咁樣做
=MODE(IF(A1:A9=MODE(A1:A9),"a",A1:A9))
[以上為 array function, 入完一定一定要按 Ctrl-Shirt Enter]

我地先睇裡面既 array function IF
IF(A1:A9=MODE(A1:A9),"a",A1:A9)
咁佢 傳回既 array 係
{a;a;a;a;2;2;3;3;3}
佢做既係將等於最多出現的 1 變左做 a,

然後我地再對這個 array 做多一次 mode, 因為 mode 係 statistic function, 佢係唔計文字既, 所以今次最多出現既係 3

呢個方法雖然 work, 但最大既問題係再做落去搵第三多, 第四多就變得非常複雜

第三多既係
=MODE(IF(A1:A9=MODE(A1:A9),"a",IF(A1:A9=MODE(IF(A1:A9=MODE(A1:A9),"A",A1:A9)),"a",A1:A9)))
[以上為 array function, 入完一定一定要按 Ctrl-Shirt Enter]

上面佢就將等於第二多既數 (即係3) 都變埋 a,
佢裡面傳回的 array 係 {a;a;a;a;2;2;a;a;a}
所以 mode 出黎係 2

睇下幫唔幫到你啦

2007-12-08 01:18:25 補充:
次次係呢度打 quote 都出問題既... 真係煩...第二多既係=MODE( IF( A1:A9=MODE(A1:A9) , " A " , A1:A9 ) )第三多既係=MODE( IF( A1:A9=MODE(A1:A9) , " A " , IF( A1:A9=MODE(IF(A1:A9=MODE(A1:A9), " A " ,A1:A9)), " A " ,A1:A9) ) )

2007-12-08 01:19:30 補充:
仲有... 係 Ctrl-Shift Enter 至0岩
2007-12-08 2:27 am
Try LARGE
according to your example

LARGE(A1:A9,2)=3 <- 3係第二最多
LARGE(A1:A9,3)=2 <- 2係第三最多


收錄日期: 2021-04-14 01:07:05
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20071207000051KK01666

檢視 Wayback Machine 備份