在 Excel 中建立一個表格,有時需要轉換表格,例如:A欄XB列→C欄XD列。

這個工作可以利用查表方式,透過 INDEX、OFFSET等函數來完成。

所以,要透過 INT、MOD 函數來計算轉換的相對位置。

本例要把表格 6 欄 X 5 列轉換為 4 欄 X 8 列。

Excel-表格轉換(A欄XB列→C欄XD列)

 

【公式設計與解析】

儲存格H4:IFERROR(INDEX($A$4:$F$8,INT(((ROW(A1)-1)*4+COLUMN(A1)-1)/
6)+1,MOD((ROW(A1)-1)*4+COLUMN(A1)-1,6)+1),"")

複製儲存格H4,貼至儲存格H4:K11。

(1) INT(((ROW(A1)-1)*4+COLUMN(A1)-1)/6)+1

依據計算轉換後對應原儲存格的「列」位置。

公式中的6為原始表格的欄數,公式中的4為轉換表格的欄數。

(2) MOD((ROW(A1)-1)*4+COLUMN(A1)-1,6)+1

依據計算轉換後對應原儲存格的「欄」位置。

公式中的6為原始表格的欄數,公式中的4為轉換表格的欄數。

再以 INDEX 函數依公式(1)和公式(2)以查表方式求得儲存格內容。

最後,再透過 IFERROR 函數將公式傳回的錯誤訊息更正為空字串("")。

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel INDEX MOD INT
    全站熱搜

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