如何於EXCEL以MODE函數計算出第一眾數以外的次眾數?

2008-06-24 8:43 pm
如有以下數值資料:
(當存於A1儲存格, 如此類推)
1
1
1
1
2
2
2
2
3
3
3
4
4
4
(A15)

運用Excel函數: =MODE(A1:A15)可以得出1為當中的第一眾數,
而第二眾數的式是
=MODE(IF(A1:A15=MODE(A1:A15),"A",A1:A15))
另第三眾數的式是=
MODE(IF(A1:A15=MODE(A1:A15),"A",IF(A1:A15=MODE(IF(A1:A15=MODE(A1:A15),"A",A1:A15)),"A",A1:A15)))

其原理是以IF的函數式將第一眾數的結果化成英文字"A"以忽略計算,之後再運算一次以得出又第二眾數,又以同樣方式將第二眾數的結果化成英文字"A"以忽略計算,之後再運算一次以得出又第三眾數。

但怎樣列式可以找出4為第四眾數呢?
而往後的眾數又應如何列式呢?

煩請列出至第10眾數的函數式

回答 (1)

2008-06-26 9:55 am
✔ 最佳答案
如用Mode函數, 只能用多個If, 應別無其他方法
如要達到求 第 n 個眾數, 便要用 frequency或countif的陣列公式, 相當複雜。
如數字只是 1 - 9 正整數, 可用以下較簡單的陣列公式
=RIGHT(LARGE(FREQUENCY($A$1:$A$15,ROW($1:$8))*10 ROW($1:$9),ROW(1:1)))
下拉 (要多少, 拉多少)
如數字不僅是 1 - 9及有可能是負數或小數, 便要用以下較複雜的陣列公式
在B2輸入(不可在B1輸入)
=INDEX(A:A,100-RIGHT(MAX(IF(COUNTIF(B$1:B1,A$1:A$15)=0,COUNTIF(A$1:A$15,A$1:A$15)*100 100-ROW($1:$15))),2))
下拉 (要多少, 拉多少)
註: 輸入陣列公式的方法是輸入公式後, 不可馬上按enter, 需先用左手同時按住Ctrl 和 Shift 兩鍵不放, 右手按Enter



收錄日期: 2021-04-23 20:09:44
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20080624000051KK00863

檢視 Wayback Machine 備份