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,如下圖所示。
這個題目實際真的是腦力激盪,我們利用INDEX、SMALL、IF三個函數結合起來才做出答案。
步驟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欄內容。
留言列表