4279 |
Excel中OFFSET函數應用-正序排列表格資料 |
Excel工作表資料如圖所示,以M2為3為例,左側A:E為資料區且可新增資料,G:K為顯示資料區塊範圍,M2為固定取得資料筆數,想詢問以OFFSET函數求解。
一、OFFSET函數
點取G2儲存格輸入「=IF(ROW()>COUNTA($A:$A),"",IF($M$2>=COUNTA($A:$A),OFFSET($A$1, COUNTA($A:$A)-ROW()+1,COLUMN()-7,1,1),OFFSET($A$1,COUNTA($A:$A)-($M$2-ROW()+2),COLUMN() -7,1,1)))」後,將公式複製到G2:K20儲存格。
二、公式說明
=IF(ROW()>COUNTA($A:$A),"",IF($M$2>=COUNTA($A:$A),OFFSET($A$1,COUNTA($A:$A)-ROW()+1, COLUMN()-7,1,1),OFFSET($A$1,COUNTA($A:$A)-($M$2-ROW()+2),COLUMN()-7,1,1)))
先判斷目前儲存格列號是否大於A欄資料筆數(ROW()>COUNTA($A:$A)),如果是的話則不填入資料(""),否則再判斷顯示量是否大於A欄資料筆數($M$2>=COUNTA($A:$A)),如果是的話,則從A1儲存格移動N列(A欄資料筆數減(顯示量減列號加1)的值)COUNTA($A:$A)-($M$2-ROW()+1)),移動N欄(欄編號減7)後的儲存格內容傳送回來(OFFSET ($A$1,COUNTA($A:$A)-ROW()+1,COLUMN()-7,1,1)),否則從A1儲存格移動N列(A欄資料筆數減(顯示量減列號加2)的值)( COUNTA($A:$A)-($M$2-ROW()+2)),移動N欄(欄編號減7)後的儲存格內容傳送回來(OFFSET($A$1,COUNTA($A:$A)-($M$2-ROW()+2),COLUMN()-7,1,1))
留言列表