3982 |
Excel多筆資料處理 |
易天雲:錦子老師您好,請問有沒有方法,可以將A欄內容放置到G欄,並依類型數量產生對應列資料,將A:E欄資料(橫式)轉置成G:H欄資料(直式)。
錦子老師:天雲,這可以透過函數來幫妳,但公式會非常長。
步驟一:點取G2儲存格輸入「=IFERROR(IF(COUNTIF($G$1:G1,G1)<COUNTA(OFFSET ($A$1,MATCH(G1,$A$1:$A$4,0)-1,1,1,4)),G1,OFFSET($A$1,MATCH(G1,$A$1:$A$4,0), 0,1,1)),"")」後,再將公式複製到G3:G11儲存格。
若複製到G12以後儲存格,會在第一個無資料儲存格顯示0。
公式一:COUNTIF($G$1:G1,G1) 統計G1儲存格到目前儲存格中含有G1儲存格內容的儲存格筆數。
公式二:MATCH(G1,$A$1:$A$4,0) 傳回G1儲存格內容在A1:A4儲存格中第幾列。
公式三:OFFSET($A$1,公式二-1,1,1,4) 從A1儲存格向下移動N列(公式二傳回結果減一),向右移動一欄,並框選一列四欄的儲存格。
公式四:COUNTA(公式三) 統計公式三傳回結果含有幾個有資料儲存格。
公式五:IF(公式一<公式四,G1,OFFSET($A$1,MATCH(G1,$A$1:$A$4,0),0,1,1)) 如果公式一傳回結果小於公式四傳回結果,則填入上一儲存格資料,否則抓取上儲存格在A1:A4儲存格中的第幾列其下一儲存格內容。
公式六:IFERROR(公式五,"") 如果公式五傳回結果為錯誤訊息表示找不到資料,則不填入資料。
步驟二:點取H2儲存格輸入「=IFERROR(IF(COUNTIF($G$2:G2,G2)<=COUNTA (OFFSET($A$1,MATCH(G2,$A$2:$A$4,0),1,1,4)),VLOOKUP(G2,$A$2:$E$4,COUNTIF($G$2:G2,G2)+1,0)),"")」後,再將公式複製到H3:H11儲存格。
公式一:COUNTIF($G$2:G2,G2) 統計G2儲存格到目前儲存格中含有G2儲存格內容的儲存格筆數。
公式二:MATCH(G2,$A$2:$A$4,0) 傳回G2儲存格內容在A2:A4儲存格中第幾列。
公式三:OFFSET($A$1,公式二,1,1,4) 從A1儲存格向下移動N列(公式二傳回結果),向右移動一欄,並框選一列四欄的儲存格。
公式四:COUNTA(公式三) 統計公式三傳回結果含有幾個有資料儲存格。
公式五:IF(公式一<公式四,VLOOKUP(G2,$A$2:$E$4,公式一)+1,0)) 如果公式一傳回結果小於公式四傳回結果,則填入目前儲存格在A2:A4中第幾列同列第幾欄(公式一傳回結果加一)資料。
公式六:IFERROR(公式五,"") 如果公式五傳回結果為錯誤訊息表示找不到資料,則不填入資料。
幫助~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~
更多相關影片教學:請點我
更多相關文章:請點我
留言列表