看板 Office 關於我們 聯絡資訊
: 軟體: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)
soyoso: small是取出數字,不會對邏輯值,所以,99999就不需要,那 02/20 13:48
soyoso: 也就不用去想原始資料會比99999大還是要改成更大的數字 02/20 13:48
soyoso: 就讓不為f1的回傳邏輯值就好 02/20 13:49
newacc: 今天心血來潮翻我自己的古文才發現S大的回應XD 07/04 19:59
newacc: 學習了XD 07/04 19:59
newacc: 2021/7/4 XD 07/04 19:59