Skip to main content

在 Excel 中轉置數據的 5 種方法(逐步教程)

Author: Amanda Li Last Modified: 2025-05-12

轉置數據意味著通過將其行轉換為列或反之來改變數組的方向。在本教程中,我們將與您分享五種不同的方法來切換數組的方向並實現所需的結果。


視頻:在 Excel 中轉置數據


使用選擇性粘貼將列轉換為行

注意:如果您的數據位於 Excel 表格中,則「選擇性粘貼轉置」選項將不可用。您應該先將表格轉換為區域,方法是右鍵單擊表格,然後從上下文菜單中選擇「表格」>「轉換為區域」。

步驟 1:複製要轉置的區域

選擇要切換行和列的單元格區域,然後按「Ctrl」+「C」複製該區域。

Select and copy the range of cells where you want to switch rows and columns

步驟 2:選擇選擇性粘貼轉置選項

右鍵單擊目標區域的第一個單元格,然後從右鍵菜單中點擊「轉置」圖標(在「選擇性粘貼選項」下)。

Right-click on the first cell of the destination range, and click the Transpose icon from the right-clicking menu

結果

瞧!該區域瞬間被轉置了!

The range is transposed

注意:轉置後的數據是靜態的,並且獨立於原始數據集。如果您對原始數據進行任何更改,這些更改不會反映在轉置的數據中。要將轉置的單元格鏈接到原始單元格,請前往下一節。

(廣告) 使用 Kutools 輕鬆轉換表格維度

在 Excel 中將二維表(交叉表)轉換為一維列表(平面列表)或反之總是需要花費大量時間和精力。然而,安裝了 Kutools for Excel 後,其「轉換表格維數」工具將幫助您快速輕鬆地完成轉換。

Kutools for Excel's Transpose Table Dimensions tool

「Kutools for Excel」 - 包含超過 300 個實用功能,讓您的工作更加輕鬆。立即獲取 30-天全功能免費試用!


轉置並將數據鏈接到源

要動態切換某個區域的方向(將列轉換為行,反之亦然),並將切換後的結果連接到原始數據集,您可以使用以下任何一種方法:


使用 TRANSPOSE 函數改變行到列

要使用「TRANSPOSE」函數將行轉換為列,反之亦然,請按照以下步驟操作。

步驟 1:選擇與原始單元格集合相同數量的空白單元格,但方向相反

提示:如果您使用的是 Excel 365 或 Excel 2021,可以跳過此步驟。

假設您的原始表格位於 A1:C4 區域,這意味著表格有 4 行和 3 列。因此,轉置後的表格將有 3 行和 4 列。這意味著您應該選擇 3 行和 4 列的空白單元格。

步驟 2:輸入 TRANSPOSE 公式

在公式欄中輸入以下公式,然後按「Ctrl」+「Shift」+「Enter」以獲得結果。

提示:如果您是 Excel 365 或 Excel 2021 的用戶,請按「Enter」。

=TRANSPOSE(A1:C4)
注意:
  • 您應該將 A1:C4 更改為實際要轉置的源區域。
  • 如果原始區域中有任何空白單元格,「TRANSPOSE」函數會將空白單元格轉換為 0(零)。為了消除零結果並在轉置時保留空白單元格,您需要利用「IF」函數:
  • =TRANSPOSE(IF(A1:C4="","",A1:C4))

結果

行被轉換為列,列被轉換為行。

Table is transposed by using the TRANSPOSE function

注意:如果您使用的是 Excel 365 或 Excel 2021,按下「Enter」鍵後,結果會自動溢出到所需的行和列中。在應用公式之前,請確保溢出區域是空的;否則會返回 #SPILL 錯誤。

使用 INDIRECT、ADDRESS、COLUMN 和 ROW 函數旋轉數據

雖然上述公式非常容易理解和使用,但缺點是您無法編輯或刪除旋轉表格中的任何單元格。因此,我將介紹一個使用「INDIRECT」、「ADDRESS」、「COLUMN」和「ROW」函數的公式。假設您的原始表格位於 A1:C4 區域,要執行列到行的轉換並保持旋轉數據與源數據集的連接,請按照以下步驟操作。

步驟 1:輸入公式

在我們的情況下,在目標區域左上角的單元格(A6)中輸入以下公式,然後按「Enter」:

=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))

The formula is entered in the top-left-most cell of the destination range

注意:
  • 您應該將 A1 更改為實際要轉置的源區域的左上角單元格,並保持美元符號不變。列字母和行號前的美元符號($)表示絕對引用,這在您將公式移動或複製到其他單元格時保持列字母和行號不變。
  • 如果原始區域中有任何空白單元格,公式會將空白單元格轉換為 0(零)。為了消除零結果並在轉置時保留空白單元格,您需要利用「IF」函數:
  • =IF(INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))=0,"",INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1))))

步驟 2:將公式複製到右側和下方的單元格

選擇公式單元格,並拖動其填充柄(單元格右下角的小綠色方塊)向下然後向右到所需的行和列。

結果

列和行立即交換。

The columns and rows are switched right away

注意:數據的原始格式未保存在轉置區域中,如有必要,您可以手動格式化單元格。

使用選擇性粘貼和查找與替換將列轉換為行

使用選擇性粘貼方法以及查找和替換功能的一些額外步驟,可讓您在轉置數據的同時將源單元格鏈接到轉置後的單元格。

步驟 1:複製要轉置的區域

選擇要轉置的單元格區域,然後按「Ctrl」+「C」複製該區域。

Select and copy the range of cells to transpose

步驟 2:應用選擇性粘貼鏈接選項

  1. 右鍵單擊空白單元格,然後點擊「選擇性粘貼」。

    Right-click on a blank cell, and then click Paste Special

  2. 點擊「選擇性粘貼鏈接」按鈕。

    Click on Paste Link

您將得到如下所示的結果:

The links to the copied cells are pasted

 步驟 3:從選擇性粘貼鏈接結果中查找和替換等號(=)

  1. 選擇結果區域(A6:C9)並按「Ctrl」+「H」,然後在「查找和替換」對話框中將「=」替換為「@EO」(或任何不存在於所選區域中的字符)。

    Replace = with @EO in the Find and Replace dialog

  2. 點擊「全部替換」,然後關閉對話框。以下是數據的樣子。

    Replacement result

步驟 4:轉置替換後的選擇性粘貼鏈接結果

選擇區域(A6:C9)並按「Ctrl」+「C」複製它。右鍵單擊空白單元格(這裡我選擇了 A11),然後從選擇性粘貼選項中選擇「轉置」圖標以粘貼轉置結果。

Right-click on a blank cell (here I selected A11) and select the Transpose icon from Paste Options

步驟 5:恢復等號(=)以將轉置結果鏈接到原始數據

  1. 保持轉置結果數據 A11:D13 選中狀態,然後按「Ctrl」+「H」,將「@EO」替換為「=」(與「步驟 3」相反)。

    Replacement result

  2. 點擊「全部替換」,然後關閉對話框。

結果

數據已轉置並鏈接到原始單元格。

注意:數據的原始格式已丟失;您可以手動恢復它。處理完成後,請隨時刪除 A6:C9 區域。

使用 Power Query 轉置並將數據鏈接到源

Power Query 是一個強大的數據自動化工具,可讓您輕鬆地在 Excel 中轉置數據。您可以按照以下步驟完成任務:

步驟 1:選擇要轉置的區域並打開 Power Query 編輯器

選擇要轉置的數據區域。然後,在「數據」選項卡的「獲取和轉換數據」組中,點擊「從表格/區域」。

From Table/Range button on the ribbon

注意:
  • 如果所選數據區域不在表格中,將彈出「創建表格」對話框;點擊「確定」為其創建表格。
  • 如果您使用的是 Excel 2013 或 2010,並且在「數據」選項卡上找不到「從表格/區域」,則需要從「Microsoft Power Query for Excel 頁面」下載並安裝它。安裝後,進入「Power Query」選項卡,點擊「Excel 數據」組中的「從表格」。

步驟 2:使用 Power Query 將列轉換為行

  1. 進入「轉換」選項卡。在「使用第一行作為標題」下拉菜單中,選擇「使用標題作為第一行」。

    Go to the Transform tab. In the Use First Row as Headers drop-down menu, select Use Headers as First Row

  2. 點擊「轉置」。

    Click on Transpose

步驟 3:將轉置的數據保存到工作表

在「文件」選項卡上,點擊「關閉並加載」以關閉「Power Editor」窗口並創建新工作表以加載轉置的數據。

Click Close & Load

結果

轉置的數據被轉換為新創建的工作表中的表格。

The transposed data is converted to a table in a newly created worksheet

注意:
  • 如上所示,第一行生成了額外的列標題。要將標題下方的第一行提升為列標題,請選擇數據內的單元格,然後點擊「查詢」>「編輯」。然後,選擇「轉換」>「使用第一行作為標題」。最後,選擇「主頁」>「關閉並加載」。
  • 如果對原始數據集進行了任何更改,您可以通過點擊「查詢和連接」窗格中表格旁邊的「刷新」圖標,或點擊「查詢」選項卡上的「刷新」按鈕,更新上面的轉置數據。

(廣告) 幾次點擊即可使用 Kutools 轉換區域

Kutools for Excel 中的「轉換區域」工具可以幫助您輕鬆地將垂直列轉換為多列或多行,或者將行轉換為多行或多列。

Kutools for Excel's Transform Range tool

「Kutools for Excel」 - 包含超過 300 個實用功能,讓您的工作更加輕鬆。立即獲取 30-天全功能免費試用!