免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務464Windows 與電腦451Android 手機402Office 教學379網路新知372AI 工具117
Office 教學

Excel TRANSPOSE 函數教學:將表格行列互換的公式用法

TRANSPOSE 函數的主要功能是將陣列或儲存格範圍的行列方向互換。只要輸入公式,就能將橫向資料轉為直向,或將直向資料轉為橫向,省去手動複製貼上的麻煩。

Excel TRANSPOSE 函數語法

=TRANSPOSE(陣列或範圍)
參數必填說明
陣列或範圍是想要進行行列互換的資料範圍或陣列。

回傳:行列互換後的陣列資料。

適用版本:Excel 2007 以上(Microsoft 365 與 Excel 2021 以上支援動態陣列自動溢出)

TRANSPOSE 函數範例

範例 1:單列資料轉置為單欄

將橫向排列的月份表頭轉置為直向排列。

一月二月三月

在 A3 輸入公式:

=TRANSPOSE(A1:C1)

結果:一月。公式將 A1:C1 的橫向資料轉置為直向。公式輸入於 A3,第一格會顯示「一月」,並自動向下溢出至 A5,依序顯示二月與三月。

範例 2:二維表格行列互換

將員工的出勤紀錄表由直向名單轉為橫向名單。

姓名星期一星期二
王小明出席出席
陳怡君請假出席

在 E1 輸入公式:

=TRANSPOSE(A1:C3)

結果:姓名。將 3 列 3 欄的表格轉置成 3 欄 3 列。公式輸入在 E1,顯示左上角第一格「姓名」,其餘資料會自動向右及向下溢出,讓姓名變成欄標題。

範例 3:結合排序函數進行轉置

將業績資料由高到低排序後,再轉置為橫向呈現。

姓名業績
王小明5000
陳怡君8000
林家豪6500

在 D1 輸入公式:

=TRANSPOSE(SORT(A2:B4, 2, -1))

結果:陳怡君。先用 SORT 函數將業績由高到低排序,再透過 TRANSPOSE 將 3 列 2 欄的資料轉置為 2 列 3 欄。D1 顯示最高業績的姓名「陳怡君」,其餘結果會自動溢出。

使用 TRANSPOSE 的技巧與注意事項

  • 在 Microsoft 365 或 Excel 2021 中,只需在單一儲存格輸入公式即可自動溢出。舊版 Excel 則需要先選取目標範圍,再按 Ctrl+Shift+Enter。
  • TRANSPOSE 建立的是動態連結,當原始資料修改時結果會自動更新。若只需要轉置一次且不連動,建議使用「選擇性貼上」中的「轉置」功能。
  • 此函數無法改變儲存格的格式(如背景顏色、框線),只會轉置儲存格內的資料值。

TRANSPOSE 常見錯誤與解決方法

錯誤原因解決方法
#SPILL!轉置後的目標範圍內有其他資料、空白字元或合併儲存格阻擋了公式溢出。清除目標範圍內的資料或解除合併儲存格,讓公式有足夠的空白空間顯示完整結果。
空白儲存格顯示為 0參照範圍內包含空白儲存格時,陣列公式預設會將其轉換為數值 0。搭配 IF 函數處理,例如 =IF(TRANSPOSE(A1:B5)="","",TRANSPOSE(A1:B5))。

Google 試算表可以用 TRANSPOSE 嗎?

Google 試算表完全支援 TRANSPOSE 函數,用法與 Excel 相同,且預設支援動態陣列溢出,不需使用特殊快捷鍵即可直接呈現轉置結果。

下載 TRANSPOSE 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:TRANSPOSE 範例.xlsx(範例公式的結果經過兩個模型交叉核對)。

常見問題

為什麼我的 TRANSPOSE 公式顯示 #SPILL! 錯誤?

這是因為公式嘗試將結果溢出到相鄰的儲存格,但目標範圍內已經有其他資料。請清除阻擋的資料,公式就會自動顯示完整結果。

轉置後的空白儲存格為什麼會變成 0?

這是 Excel 陣列公式的預設行為。如果希望保持空白,可以將公式改寫為 =IF(TRANSPOSE(A1:B5)="","",TRANSPOSE(A1:B5))。

舊版 Excel 要怎麼使用 TRANSPOSE 函數?

在 Excel 2019 及更早版本中,必須先選取與轉置結果大小相同的空白範圍,輸入公式後按下 Ctrl+Shift+Enter,將其作為陣列公式執行。

相關函數

這篇收錄在「Excel 函數字典」。