Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

伊傑
Lv 6
伊傑 發問時間: 教育與參考考試 · 1 0 年前

利用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))

這樣就行了

2 個已更新項目:

更正=SUMIF(A1:T1,">="&LARGE(A1:T1,10))/COUNTIF(A1:T1,">="&LARGE(A1:T1,10))

這個姐仍然有暇疵,得到的答案依舊是錯誤的

建議使用=SUMPRODUCT(LARGE(A1:T1,ROW(1:10)))/10

2 個解答

評分
  • 伊傑
    Lv 6
    1 0 年前

    是ㄚ~這個問題看似很平常

    不過似乎解法也很多種

    一不小心就會出現問題

    你這個=SUMPRODUCT(LARGE(A1:T1,ROW(1:10)))/10

    也不錯喔~公式更短了

    這個公式讓我覺得是不是透過Large函數,它會自己重新排列,不然怎麼能夠用ROW呢~

    我從來都沒想過在LARGE裡加上ROW來做,又讓我開了一次眼界~呵

  • 1 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

還有問題?馬上發問,尋求解答。