最近在整理同仁的ERP權限, 我想將下圖中左邊的表變成右邊的表
第一個念頭就是用EXCEL的樞紐分析來完成, 沒想到竟然GG了, 結果如下圖
後來靈光一閃, 或許可以用VLOOKUP() 和 CONCATENATE() 兩個函數完成, 由於要讓VLOOKUP找到D欄的值, 必需要靠B和C兩個欄位, 因此我在A欄使用CONCATENATE函數將B和C兩欄串接在一起, 如下圖,以A2格為例,公式為
=CONCATENATE(B2,".",C2)
接著我還是利用剛才GG的樞紐分析結果, 將"欄標題" 與"列標題" 複製成為右邊表格的"欄標題" 與"列標題"
然後在G2輸入 VLOOKUP和CONCATENATE組合而成的公式,
=VLOOKUP(CONCATENATE(G$1,".",$F2),$A:$D,4,FALSE)
因為待會要將這個公式複製到其它儲存格, 所以我加上了絕對位址的$符號
接著再把G2的公式複製到其它儲存格, 就得到下圖的結果
由於出現了 #N/A這個錯誤的訊息,不夠完美,只好再利用ISNA()和IF()兩個函數來美化,以G2儲存格為例,公式變成如下(如果G2結果變成#N/A, 那麼請留白的意思):
=IF(ISNA(VLOOKUP(CONCATENATE(G$1,".",$F2),$A:$D,4,FALSE)),"",VLOOKUP(CONCATENATE(G$1,".",$F2),$A:$D,4,FALSE))
接著同樣把G2的公式複製到其它儲存格, 就得到下圖的完美結果
這次一共用到CONCATENATE()、VLOOKUP()、ISNA()、IF() 四個函數,算是EXCEL中蠻常用到的函數,若有興趣,不妨花點時間瞭解如何使用他們。