如何在 C# 中查看 PowerPoint 文件
在 Excel 中,轉置資料意味著將行切換為列或將列切換為行。 這在您的資料集結構難以閱讀、分析或呈現時非常有用。 Excel 轉置功能可以將行轉換為列,將列轉換為行,以更改工作表的資料佈局。
例如,您可能希望將銷售資料的垂直列表轉換為報告的水平格式,或重新排列匯入的資料以符合範本。
本指南說明如何使用簡單的內建工具、公式和程式化自動化技術在 Excel 活頁簿中轉置資料。 到最後,您將確定哪種方法適合您的工作流程。
方法 1:使用貼上特別來轉置資料
這是最常用且最快的方法。
- 選擇要轉置的資料範圍。
- 按 Ctrl + C 複製。
- 在工作表中右鍵點擊一個新位置。
- 點擊"貼上特別"。
- 勾選"轉置"選項。
- 點擊確定。
您的行會被轉換成列,反之亦然。

Add image alt text
什麼時候效果最佳
此方法最適合一次性資料轉換。
何時使用此方法
- 快速格式變更
- 小至中型資料集
- 報告調整
- 資料重組
何時不應使用此方法
- 常常變動的動態資料
- 大型自動化資料集
方法 2:使用 Excel 中的 TRANSPOSE 功能
TRANSPOSE 功能在原始和轉置後的資料之間建立動態連結。
-
選擇一個空範圍,大小等於轉置後的範圍。
-
輸入公式:
=TRANSPOSE(A1:D3)=TRANSPOSE(A1:D3)The provided code appears to be a formula from a spreadsheet application like Excel, rather than C# code. If you have C# code that needs conversion to VB.NET, please provide the correct C# code for conversion.$vbLabelText $csharpLabel - 按 Ctrl + Shift + Enter(適用於舊版 Excel)或在現代 Excel 中按 Enter。

Add image alt text
什麼時候效果最佳
此方法最適合希望在資料集之間進行即時更新時使用。
何時使用此方法
- 動態儀表板
- 連結的報告
- 即時更新
- 資料建模
何時不應使用此方法
- 靜態報告
- 一次性格式化任務
方法 3:使用Power Query轉置資料
Power Query 是一個強大的資料轉換工具。
- 選擇您的資料範圍。
- 前往"資料"選項卡。
- 點擊"從表格/範圍"。
-
在Power Query編輯器中,選擇"轉換"。
- 點擊"轉置"。

新增圖片替代文字
- 將資料載入回 Excel。

Add image alt text
什麼時候效果最佳
此方法適用於結構化和可重複的資料轉換。
何時使用此方法
- 大型資料集
- 資料清理工作流程
- 商業智慧報告
- 可重用的轉換
何時不應使用此方法
- 快速編輯
- 簡單試算表
方法 4:使用手動重新格式化的複製和貼上
對於小型資料集,手動調整就已足夠。
- 複製資料。
- 將其貼上到新區域。
- 手動重新排列行和列。
- 根據需要調整格式。
什麼時候效果最佳
此方法對於非常小或不規則的資料集非常有用。
何時使用此方法
- 快速編輯
- 簡單列表
- 一次性調整
- 非結構化資料
何時不應使用此方法
- 大型資料集
- 精度關鍵的報告
方法 5:使用VBA自動化轉置資料
對於重複性工作,VBA 可以自動化轉置。
- 按 ALT + F11 開啟VBA編輯器。
-
點擊"插入"→"模組"。
- 粘貼下面的程式碼。

新增圖片替代文字
- 執行宏。
Sub TransposeData()
Dim sourceRange As Range
Dim targetRange As Range
Set sourceRange = Range("A1:F9")
Set targetRange = Range("A12")
targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
Sub TransposeData()
Dim sourceRange As Range
Dim targetRange As Range
Set sourceRange = Range("A1:F9")
Set targetRange = Range("A12")
targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
Option Strict On
Sub TransposeData()
Dim sourceRange As Range
Dim targetRange As Range
sourceRange = Range("A1:F9")
targetRange = Range("A12")
targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
什麼時候效果最佳
此方法適合重複資料轉換任務。
何時使用此方法
- 自動報告系統
- 大型資料集
- 重複轉換
- 企業工作流程
何時不應使用此方法
- 一次性使用
- 非技術使用者
常見問題和排除故障
為什麼我的轉置資料不會自動更新?
這發生在使用貼上特別而不是 TRANSPOSE 功能時。
修正:
- 使用 TRANSPOSE 公式進行動態連結
- 如果需要更新,請避免靜態貼上
為什麼 Excel 在轉置後顯示 REF 錯誤?
這通常發生在目標範圍與來源重疊時。
修正:
- 確保輸出範圍為空
- 將轉置資料移到單獨區域
為什麼我的轉置資料格式不正確?
格式不總是自動攜帶過來。
修正:
- 轉置後重新套用格式
- 使用Power Query進行更好的控制
為什麼 TRANSPOSE 在我的 Excel 版本中無法運作?
舊版本需要特殊的陣列輸入。
修正:
- 使用 Ctrl + Shift + Enter
- 或者使用貼上特別的方法
選擇正確的方法
不同場景需要不同的方法。
|工作場景|最佳方法| |---|---| | 快速一次性變更 | 貼上特別 | | 動態資料 | TRANSPOSE 功能 | | 大型資料集 |Power Query| | 手動小編輯 | 複製和調整 | |自動化工作流程|VBA|
工程師專區:使用 IronXL 轉置 Excel 資料
在自動化系統中,生成報告或處理資料集時經常需要進行資料重組。 在這些情況下,手動轉置並不實際。
這就是 Iron Software 的 .NET Excel 程式庫IronXL變得有用的地方。 它允許開發者讀取 Excel 資料並程式化地重組資料。 它專為文件自動化和資料處理而設計。
範例:使用 IronXL 轉置資料
using IronXL;
using System;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var data = sheet["A1:D3"].ToArray();
int rows = data.GetLength(0);
int cols = data.GetLength(1);
WorkBook newBook = WorkBook.Create();
WorkSheet newSheet = newBook.CreateWorkSheet("Transposed");
for (int i = 0; i < rows; i++)
{
// Copy it to new blank cells
for (int j = 0; j < cols; j++)
{
newSheet[j, i].Value = data[i, j].Value;
}
}
newBook.SaveAs("TransposedData.xlsx");
using IronXL;
using System;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var data = sheet["A1:D3"].ToArray();
int rows = data.GetLength(0);
int cols = data.GetLength(1);
WorkBook newBook = WorkBook.Create();
WorkSheet newSheet = newBook.CreateWorkSheet("Transposed");
for (int i = 0; i < rows; i++)
{
// Copy it to new blank cells
for (int j = 0; j < cols; j++)
{
newSheet[j, i].Value = data[i, j].Value;
}
}
newBook.SaveAs("TransposedData.xlsx");
Imports IronXL
Imports System
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
Dim data = sheet("A1:D3").ToArray()
Dim rows As Integer = data.GetLength(0)
Dim cols As Integer = data.GetLength(1)
Dim newBook As WorkBook = WorkBook.Create()
Dim newSheet As WorkSheet = newBook.CreateWorkSheet("Transposed")
For i As Integer = 0 To rows - 1
' Copy it to new blank cells
For j As Integer = 0 To cols - 1
newSheet(j, i).Value = data(i, j).Value
Next
Next
newBook.SaveAs("TransposedData.xlsx")
這允許開發者完全自動化資料重塑任務。
使用IronXL可以做什麼
安裝
透過 NuGet 套件管理員安裝 IronXL:
Install-Package IronXL.Excel
結論
在 Excel 中轉置資料是一種強大的技術,用於重組電子錶格並改善可讀性。 無論您是為快速變更而使用貼上特別、為動態更新而使用 TRANSPOSE 功能、還是為高級轉換使用 Power Query,Excel 都為每種使用案例提供靈活的選擇。
對於開發者和自動化系統,IronXL 使得管理 Excel資料的全方位控制成為可能,方便程式化地轉置和操作大型資料集。
利用正確的方法,您可以快速重塑資料,以滿足任何報告或分析需求。




