使用EXCEL將數字出現次數排列再排序

2010-01-09 7:08 am
我想用EXCEL統計某個範圍內數字的出現次數,然後將出現次數由大到小排列。例如A1至D10中1,2,3,4出現的次數(注:A1至D10中的數字需要改動的)
於是,我使用了
=countif(A1:D10,"1")
=countif(A1:D10,"2")
.......
算出了出現次數,再用排序功能將統計的結果由大至小排序,但是失敗了,出現=countif(#REF!,"1")

請問哪裡出錯了?有什麼方法解決?
更新1:

出現亂碼了… =countif(A1:D10,"1") =countif(A1:D10,"2") =countif(#REF!,"1") 應該是 =countif(A1:D10,"1") =countif(A1:D10,"2") =countif(#REF!,"1")

更新2:

我用=LARGE(COUNTIF(A$1:D$10,{1,2,3,4}),ROW())公式排了大小,但不能知道排列出來的結果分別對應哪些數字。

更新3:

謝謝andycmh2001的意見,我試了 =countif(A$1:$D$10,"1") =countif(A$1:$D$10,"2") 結果再用大小排序成功了。 請問加入$代表什麼意思?

更新4:

謝謝解答!

回答 (2)

2010-01-09 8:14 pm
✔ 最佳答案
A欄 B欄  C欄 D欄 E欄 F欄 
1   1   4  1     12
2   4   1  3     11
2   1   3  3     9
3   1   1  2     8
1   1   2  4  
4   3   3  4  
1   3   4  2  
2   4   3  3  
2   3   3  2  
4   3   4  1  

F1 公式
=LARGE(COUNTIF(A$1:D$10,{1,2,3,4}),ROW())
向下拉

出題說道資料只含1,2,3,4 ,此公式就只服務於此四個數,如果超過了,就自行加入 {1,2,3,4,5,6,7,8,9}。




2010-01-09 12:24:30 補充:
如果資料內容含大差距的數字,可用陣列公式:
=LARGE(COUNTIF(A$1:D$10,ROW($1:$1000)),ROW())
Ctrl-Shift-Enter 三鍵連按

如果資料內容含帶小數的數字,此式不合用,須用較煩複的陣列公式。

2010-01-09 21:43:59 補充:
~~~~~~~~~~~~
要對應數字,請用這公式

G1
=MOD(LARGE({1,2,3,4}+100*COUNTIF(A$1:D$10,{1,2,3,4}),ROW()),100)
向下拉

A欄 B欄  C欄 D欄 E欄 F欄 G欄
1   1   4  1     12 3
2   4   1  3     11 1
2   1   3  3     9 4
3   1   1  2     8 2
1   1   2  4
4   3   3  4
1   3   4  2
2   4   3  3
2   3   3  2
4   3   4  1
2010-01-10 12:10 am
把公式改一改便可:

=countif($A$1:$D$10,"1")
=countif($A$1:$D$10,"2")

試試看

2010-01-09 20:53:18 補充:
加 $ 即絕對位址 ---> 選取範圍不會再變更

沒有$為相對位址


收錄日期: 2021-04-19 21:05:43
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100108000051KK01739

檢視 Wayback Machine 備份