Excel 如何轉置 (Transpose) — 完整教學#
在 Excel 裡進行「轉置」操作(把行列互換)往往是處理資料時最常見的需求之一。本文將深入探討轉置的原因、提供三種不同的分步解決方案(公式、剪貼簿、VBA),並整理常見問題解答,幫助你快速、靈活地完成轉置任務。
為什麼需要轉置?#
| 典型場景 | 轉置的好處 |
|---|---|
| 資料整理 | 把行資料變成列,方便對比、統計或做圖表 |
| 報表合併 | 把多張表格的列合併成一張表,提升閱讀性 |
| 資料遞交 | 某些系統或第三方工具只接受列式輸入,必須轉置 |
| 節省空間 | 把寬列縮短,節省工作表空間 |
| 自動化 | 在宏或腳本中,動態切換行列位置 |
注意:轉置會改變資料結構,若要保留原始資料,請先複製一份。
方案一:使用 Paste Special → Transpose(最簡單)#
步驟#
-
選擇要轉置的範圍
例如 A1:C3(3 行 × 3 列)。 -
複製
Ctrl + C或右鍵 →複製。 -
選擇貼上位置
例如 E1。 -
貼上特殊
Ctrl + Alt + V→ 選擇Transpose→確定。
提示:若要保留公式,可選擇「保留公式」或「數值」;若要保留格式,請先在“貼上特殊”中勾選「格式」。
小技巧:若想一次性轉置多個區域,先在同一個工作表中把所有範圍連續選取,然後同樣操作即可。
方案二:使用 TRANSPOSE 函數(動態轉置)#
步驟#
-
選擇目標範圍
假設原始數據在A1:C3,你想把它轉置到E1:G3,先選取E1:G3(相同大小)。 -
輸入公式
在E1輸入:=TRANSPOSE(A1:C3) -
使用 Ctrl+Shift+Enter(舊版 Excel)或直接輸入(Office 365 / Excel 2021+)
- 舊版:按
Ctrl+Shift+Enter,公式會成為陣列公式,顯示{=TRANSPOSE(A1:C3)}。 - 新版:直接按
Enter,Excel 會自動「動態陣列」。
- 舊版:按
-
確認結果
E1到G3現在顯示轉置後的資料。
小技巧:如果你只想轉置一行或一列,公式會自動縮放;若目標範圍大小不符,Excel 會報錯。
方案三:使用 VBA 宏(批量處理)#
步驟#
-
打開 VBA 編輯器
Alt + F11。 -
插入新模組
右鍵 →插入→模組。 -
貼上以下程式碼:
Sub TransposeRange() Dim src As Range, dest As Range Dim r As Long, c As Long ' 設定來源範圍 Set src = Application.InputBox("選擇要轉置的範圍", Type:=8) ' 設定貼上起始位置 Set dest = Application.InputBox("選擇貼上起始位置", Type:=8) ' 轉置 For r = 1 To src.Rows.Count For c = 1 To src.Columns.Count dest.Cells(c, r).Value = src.Cells(r, c).Value Next c Next r MsgBox "轉置完成!" End Sub -
執行宏
F5或Run→ 選擇來源範圍 → 選擇貼上位置。
小技巧:這個宏不會保留格式,只轉移數值。若需要保留格式,請把
Value改成Value2或使用Copy/PasteSpecial。
常見問題解答 (FAQ)#
| 問題 | 解答 |
|---|---|
| 轉置後公式失效 | Paste Special → Transpose 只會貼上公式的結果;若想保留公式,請使用 TRANSPOSE 函數或先複製公式再貼上。 |
| 資料中含有公式,想保持相對引用 | TRANSPOSE 函數會自動調整相對引用;手動轉置則不會。 |
| 如何在工作表之間批量轉置 | 可以使用 VBA 或寫一個公式 =TRANSPOSE(Sheet1!A1:C3)。 |
| 轉置後行列數量不對 | 轉置後的行數 = 原列數,列數 = 原行數;請確保目標範圍大小匹配。 |
| 轉置後數據顯示為錯誤值 | 可能是因為公式引用了空單元格或錯誤數據,請先檢查來源。 |
| 如何保持顏色和格式 | Paste Special 時勾選「格式」;TRANSPOSE 函數不保留格式,需手動調整。 |
| 轉置後的資料太大,導致 Excel 變慢 | 建議先將數據複製到新工作簿,或使用 VBA 先將數據轉存到陣列再寫回。 |
小結#
- Paste Special → Transpose:最直觀,適用於一次性手動轉置。
- TRANSPOSE 函數:動態、可自動更新,適合需要隨時同步的數據。
- VBA 宏:批量、可自動化,適合大批量或重複性工作。
根據自己的需求選擇合適的方法,掌握這三種技巧後,你就能在 Excel 中靈活處理任何行列轉換需求。祝你工作順利!