在 Excel 中取得以下的班級、姓名清單報表,如何轉換為以類別為主的清單呢?

如果要轉換成以下形式的清單,則需要使用陣列公式。

儲存格F2:

{=VLOOKUP(SMALL(IF($D$2:$D$281=F$1,$A$2:$A$281),ROW(1:1)),$A$2:$C$281,2,FALSE)}

儲存格G2:

{=VLOOKUP(SMALL(IF($D$2:$D$281=F$1,$A$2:$A$281),ROW(1:1)),$A$2:$C$281,3,FALSE)}

複製儲存格F2:G2至儲存格F2:M2,再複製儲存格F2:M2,往下貼上。

其原理是利用陣列公式找出合於條件的序號值(輔助欄位),利用列號(ROW(1:1)=1, ROW(2:2)=2, …)來取得最小的序號值,第2小的序號值,第3小的序號值…,再藉由這個序號值以查表方式(VLOOKUP函數)取得對應的班級和姓名。

註:當公式出現#NUM!,表示以下查不到合乎的資料。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(4) 人氣()