2004Excel數值交換-OFFSET函數

Excel數值交換-OFFSET函數

2004

Excel數值交換-OFFSET函數

示範檔

範例檔

2004.XLSX

結果檔

2004F.XLSX

瑞莉:「錦子老師,今天有一筆資料,排序為隨機的排序,假設今天排列如下:

如果今天要A2A13對調,A3A12對調,A4A11對調,請問有語法可以用嗎?

錦子老師:「瑞莉,這要使用OFFSET函數結合即可達到妳的目標 。」

點取B2儲存格輸入公式「=IF(ROW()<=(COUNT(A:A)/2)+1,OFFSET($A$2,COUNT(A:A)+1-ROW(),0),OFFSET($A$2,(COUNT(A:A)/2)-(ROW()-(COUNT(A:A)/2))+1,0))」後,按ENTER鍵完成輸入,並複製到B3:B13儲存格。

【公式說明】

1 ROW()<=(COUNT(A:A)/2)+1 列號小於等於A欄所有數值儲存格數量除以2+1(由於第一列為文字,故須加1)

2 OFFSET($A$2,COUNT(A:A)+1-ROW(),0) A2儲存格為基準,向下移動A欄數值儲存格數加1減列號值的列數,欄不移動。

3 OFFSET($A$2,(COUNT(A:A)/2)-(ROW()-(COUNT(A:A)/2))+1,0)) A2儲存格為基準,向下移動A欄數值儲存格數除以2(列號值減A欄數值儲存格數除以2的值加1)的列數,欄不移動。

4 If(Row()<=(Count(A:A)/2)+1,Offset($A$2,Count(A:A)+1-Row(),0),Offset($A$2,(count( A:A)/2)- (Row()-(Count(A:A)/2))+1,0)) 假設1成立執行2,否則執行3