在 Excel 中,有時需要將一個表格轉置(列變欄、欄變列),Excel 提供了一個 TRANSPOSE 函數,可以幫你完成這個工作。(參考下圖)

使用 TRANSPOSE 函數:

1. 選取儲存格D2:H3。(必須為原表格欄、列互轉的大小)

2. 在第一個儲存格中輸入公式:=TRANSPOSE(A2:B6)

3. 按 Ctrl+Shift+Enter 鍵,變成陣列公式。

Excel-轉置矩陣儲存格(TRANSPOSE,OFFSET,ROW,COLUMN)

一旦使用 TRANSPOSE 函數形成一個陣列公式,則不可以更改儲存格D2:H3中的任一個儲存格。

 

如果想要自行利用公式來完成,可以使用 OFFSET 函數。

1. 儲存格D2:=OFFSET($A$2,COLUMN(A:A)-1,ROW(1:1)-1)

2. 複製儲存格D2至儲存格D2:H3。

公式向右複製,COLUMN(A:A)=1→COLUMN(B:B)=2→COLUMN(C:C)=3→...。

公式向下複製,ROW(1:1)=1→ROW(2:2)=2→ROW(3:3)=3→...。

公式向右複製:

OFFSET(A2,0,0)=甲→OFFSET(A2,1,0)=乙→OFFSET(A2,2,0)=丙→...

公式向下複製:

OFFSET(A2,0,1)=1→OFFSET(A2,1,1)=2→OFFSET(A2,2,1)=3→...

Excel-轉置矩陣儲存格(TRANSPOSE,OFFSET,ROW,COLUMN)

 

關於 OFFSET 函數

語法:OFFSET(reference, rows, cols, [height], [width])

OFFSET 函數語法具有下列引數:

Reference:這是用以計算位移的起始參照。

Rows:左上角儲存格往上或往下參照的列數。

Cols:左上角儲存格向左或向右參照的欄數。

height(可選,預設為1):參照的列數高度。height 必須是正數。

width(可選,預設為1):參照的欄數寬度。width 必須是正數。

 

如果在 Google 文件上:

要使用 TRANSPOSE 函數,則公式:

儲存格D2:=ARRAY_CONSTRAIN(ARRAYFORMULA(TRANSPOSE(A2:B6)), 2, 5)

或是利用 OFFSET 函數:

儲存格D2:=OFFSET($A$2,COLUMN(A:A)-1,ROW(1:1)-1)

Excel-轉置矩陣儲存格(TRANSPOSE,OFFSET,ROW,COLUMN)

【延伸閱讀】

參考:本部落格中其他關於 Excel OFFSET 函數的應用

學不完.教不停.用不盡文章列表

arrow
arrow
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(1) 人氣()