close

893

文章評分如何分配

示範檔

範例檔

893.XLSX

結果檔

893F.XLSX

10篇文章一~十,要給10個老師A~J評分,每篇文章複製成3份、給3個不同老師評分;每個老師要評3篇不同文章,於是在Excel資料內容類似這樣,共30*2欄(已知給定了)

但長官希望可以寫好公式自動顯示以下表格:10*4欄,可以怎麼寫?

我本將原資料拆成十小疊,再用三層IF +ISERROR函數,結果因為A同時在一、二的第1個順位,就不能用了。

又想到用Vlookup,但第一次Vlookup之後、第二次的Vlookup範圍要從第一次Vlookup的下一列開始,到最末列、第三次的Vlookup範圍要從第二次Vlookup的下一列開始,到最末列
這樣寫得出來嗎?謝謝!
還是可以用樞紐分析表去處理?試過好像只能展成10*10,如下圖所示。

這個題目實際真的是腦力激盪,我們利用INDEXSMALLIF三個函數結合起來才做出答案。

步驟1:在E2儲存格輸入公式「=INDEX($A:$A,SMALL(IF($B:$B=$D2,ROW(B:B),""),E$1))」後,按Ctrl+Shift+Enter鍵完成陣列公式輸入。

步驟2:將滑鼠指標移到E2儲存格右下角,待指標變為「+」後,再向右拖曳到G2儲存格,再向下拖曳到G11儲存格,結果如下圖所示。

【公式解析】

IF($B:$B=$D2,ROW(B:B),"") 這是在B欄尋找與D2儲存格相同內容的儲存格在第幾列,如下圖所示。

SMALL(IF($B:$B=$D2,ROW(B:B),""),E$1) 抓取第幾個最小的值,由於E1=1所以抓第1個最小的值,如下圖所示。

=INDEX($A:$A,SMALL(IF($B:$B=$D2,ROW(B:B),""),E$1)) 傳回第一個最小的值所在列的A欄內容。


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()