Chapter VBA | 155 陣列的轉置(TRANSPOSE) |
Section |
假設我們有一個如下圖的資料庫,但由於工作需要有時而將資料以45度方式反過來,欄變列、列變欄。
在EXCEL中該如何做,當然不是一個一個移動,那多費工,目前我個人想到二種方法來做。
n 方法一:使用複製功能
如果轉換是一次性的,而轉換後將須來源資料刪除的話,這個方法會比較適合。
步驟1:點取A1儲存格,再按住滑左鍵不放向下及向右拖曳,將資料來源(A1:F11),框選起來。
【說明】
也可以點取欲框選範圍中任一儲存格,再按 CTRL + A鍵將範圍框選起來。
步驟2:點取「常用 > 複製」圖示或按CTRL +C 鍵。
【注意】
如果我們不是要來源資料與轉置結果皆存在時,則這邊要選擇「常用 > 剪下」圖示或按CTRL + X鍵。
步驟3:點取的儲存格,本例為:「H1」儲存格。
步驟4:點取「常用 > 貼上 > 選擇性貼上」指令。
步驟5:點取「轉置」核取方塊,使其打勾,如下圖所示
步驟6:點取「確定」鈕,轉置結果如下圖所示。
這種方式,當來源資料變動時,轉置結果的內容不會跟著變動。
n 方法二:使用陣列函數
如果我們要將來源資料與轉置結果二者都存在時,只是存在不同的位置上,以便做好其他分析,這個方式當來源資料有變動時,轉置結果的內容也會跟著同步更改。在這個方法使用到的是TRANSPORE函數。
TRANSPORE函數 函數類別:查閱與參照 |
說明: 會將垂直的儲存格範圍以水平範圍的格式傳回,反之亦然。TRANSPOSE 函數時必須以範圍陣列公式的方式輸入,該範圍的列數和欄數必須分別等於來源範圍的欄數和列數。您可以使用 TRANSPOSE 來變換陣列或工作表上之範圍的垂直和水平方向。 語法: TRANSPOSE(Array) 引數: Array為必需參數。陣列或想要轉置工作表上的儲存格範圍。建立陣列的轉置為新的陣列,依此類推的第二欄的陣列的第二列的第一欄中使用陣列的第一列。如果您不確定如何輸入陣列公式,請參閱輸入陣列公式。 秘訣: 不必手動輸入範圍。輸入後= 轉置 (您可以使用滑鼠選取範圍。只要按一下,並將該範圍的開頭到結尾。但是請記住︰ 按下 CTRL + SHIFT + ENTER,完成後,不要輸入本身。 |
步驟1:首先看看資料來源是6欄11列,所以轉置結果範圍的大小為11欄6列,所以代替大家幫忙將H1~R6範圍框選起來。
步驟2:輸入「=TRANSPOSE(A1:F11)」字串。
步驟3:按CTRL +SHIFT +ENTER鍵,完成輸入,結果如下圖所示。
留言列表