Excel中將區(qū)域數據轉化成單行或單列中
要將一個二維區(qū)域中的數據轉化到單列或單行中,實現的方法有很多,例如用VBA就可以輕松完成。下面用公式來進行轉化,也可以實現目的。 例如有一個13行8列的區(qū)域,我們要將其中的姓名轉化到一列中,步驟如下: 1.定義名稱 將這個區(qū)域定義一個名稱,以便在公式中引用。選擇該區(qū)域,在名稱框中輸入“Data”,按回車鍵,名稱就定義好了。 然后選擇需要放置該名單所在列的第一個單元格,用同樣方法定義名稱為“FirstData”。 2.保持選擇該單元格,在其中輸入公式: =OFFSET(Data,MOD(ROW()-ROW(FirstData),ROWS(Data)),TRUNC((ROW()-ROW(FirstData))/ROWS(Data),0),1,1) 3.拖動填充柄向下填充即可。 該公式是按照逐列的方法來提取數據的,用到OFFSET函數,用MOD(ROW()-ROW(FirstData),ROWS(Data))來確定偏移的行數,用TRUNC((ROW()-ROW(FirstData))/ROWS(Data),0)來確定偏移的列數。 也可以按照逐行的方法來提取數據,公式如下: =OFFSET(Data,TRUNC((ROW()-ROW(FirstData))/COLUMNS(Data),0),MOD(ROW()-ROW(FirstData),COLUMNS(Data)),1,1) 如果要把區(qū)域中的數據轉化到一行中,可以用下面的兩個公式,假設第一個單元格名稱定義為“FirstData”。 用逐行提取數據的方法: =OFFSET(Data,TRUNC((COLUMN()-COLUMN(FirstData))/COLUMNS(Data),0),MOD(COLUMN()-COLUMN(FirstData),COLUMNS(Data)),1,1) 用逐列提取數據的方法: =OFFSET(Data,MOD(COLUMN()-COLUMN(FirstData),ROWS(Data)),TRUNC((COLUMN()-COLUMN(FirstData))/ROWS(Data),0),1,1)
|
|