Re: [算表] 計算範圍內出現次數前幾名

看板Office作者 (XD)時間13年前 (2013/02/08 18:36), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串2/2 (看更多)
: 軟體:EXCEL : 版本:2007 : 請問是否有辦法自動計算A2:C5內出現數字最多的前三個並顯示出來 : (不是用countif去計算次數) : 例如: : A B C E F G : 123 5666 483 第一名 3次 48 : 4563 4564 4513 第一名 3次 456 : 48 48 4513 第三名 2次 4513 : 456 833 456 第四名 ... ... : 45 48 456 : 但是F~G的範圍內是要自己顯示 並非用F1=count(A2:C5,G1) 這樣子算 F1=LARGE(COUNTIF($A$1:$C$5,$A$1:$C$5),1) F2=LARGE(COUNTIF($A$1:$C$5,$A$1:$C$5),SUM(1,$F$1:F1)) 用F2複製到整個F欄 G1=SMALL(IF(COUNTIF($A$1:$C$5,$A$1:$C$5)=F1,$A$1:$C$5,99999), 1+(COUNTIF($F$1:F1,F1)-1)*F1) 直接用G1表製到整個G欄即可 F欄解釋:將每個數字出現次數列成一個陣列,用LARGE取出最大、次大...的那一項 同時因為最大會有好幾項,因此F2的LARGE第二個參數要修改成SUM(1,$F$1:F1) G欄解釋:用IF比對每個數字出現數量和F欄數量 相同則傳回該數字,不同則傳回99999 再用SMALL挑出需要的值 [若原始資料會比99999大的話,請將99999改成更大的數字] 公式皆為陣列公式,輸入完畢後要按ctrl+shift+enter完成 範例檔:http://goo.gl/zrVDG -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.101.71 ※ 編輯: newacc 來自: 219.85.101.71 (02/08 18:37)

02/20 13:48, , 1F
small是取出數字,不會對邏輯值,所以,99999就不需要,那
02/20 13:48, 1F

02/20 13:48, , 2F
也就不用去想原始資料會比99999大還是要改成更大的數字
02/20 13:48, 2F

02/20 13:49, , 3F
就讓不為f1的回傳邏輯值就好
02/20 13:49, 3F

07/04 19:59, , 4F
今天心血來潮翻我自己的古文才發現S大的回應XD
07/04 19:59, 4F

07/04 19:59, , 5F
學習了XD
07/04 19:59, 5F

07/04 19:59, , 6F
2021/7/4 XD
07/04 19:59, 6F
文章代碼(AID): #1H5DL8E3 (Office)
文章代碼(AID): #1H5DL8E3 (Office)