Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
利用excel來計算學生成績,選取頭幾個較好成績做平均
A:假設一班有50名學生,其國文平常考的成績,每位學生都有20次分數,老師只想取最好的10次成績作為平常考的分數,請問在完成原始分數的建檔後,如何挑選每位學生最佳的10次成績加總並求平均?
Q:
假設你某位學生的20筆成績是橫向排列於A1:T1
下面這是個笨方法,公式過長~但正確
U1=(LARGE(A1:T1,1)+LARGE(A1:T1,2)+LARGE(A1:T1,3)+LARGE(A1:T1,4)+LARGE(A1:T1,5)+LARGE(A1:T1,6)+LARGE(A1:T1,7)+LARGE(A1:T1,8)+LARGE(A1:T1,9)+LARGE(A1:T1,10))/10
另位高手提供以下公式U1=SUMIF(A1:T1,">="&LARGE(A1:T1,10))/10
上述乍看之下非常的優,我一度認為這就是最佳解了
但經發問者提出若第10大的成績到第12大都一樣的話
此解就出現錯誤
因此針對此暇疵,我想到一個解決方法~同時改善兩者的缺點
=SUMIF(A1:T1,">="&LARGE(A1:T1,10))/COUNTIF(A1:T1,">="&LARGE(A1:T1,10))
這樣就行了
更正=SUMIF(A1:T1,">="&LARGE(A1:T1,10))/COUNTIF(A1:T1,">="&LARGE(A1:T1,10))
這個姐仍然有暇疵,得到的答案依舊是錯誤的
建議使用=SUMPRODUCT(LARGE(A1:T1,ROW(1:10)))/10
2 個解答
- 伊傑Lv 61 0 年前
是ㄚ~這個問題看似很平常
不過似乎解法也很多種
一不小心就會出現問題
呵
你這個=SUMPRODUCT(LARGE(A1:T1,ROW(1:10)))/10
也不錯喔~公式更短了
這個公式讓我覺得是不是透過Large函數,它會自己重新排列,不然怎麼能夠用ROW呢~
我從來都沒想過在LARGE裡加上ROW來做,又讓我開了一次眼界~呵
- VincentLv 71 0 年前
傑兄,
想不到會有這樣的問題,
=SUMIF(A1:T1,">="&LARGE(A1:T1,10))/COUNTIF(A1:T1,">="&LARGE(A1:T1,10))
這個公式的確可以解決,
小弟再提供公式討論討論
試試
{=AVERAGE(LARGE(A1:T1,ROW(1:10)))}
陣列公式
如果不用陣列公式
試試
=SUMPRODUCT(LARGE(A1:T1,ROW(1:10)))/10