Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在 Excel 中將矩陣樣式的表格轉換為三列?

Author Xiaoyang Last modified

在 Excel 中處理數據時,您可能會經常遇到以網格形式呈現信息的矩陣樣式表格,其中行和列都作為標題。雖然這種格式在某些分析中視覺上有用,但您可能需要將此矩陣轉換為“列表”或三列表格,以進行數據庫導入、數據規範化、圖表製作或高級分析等任務。將矩陣轉換為三列列表(有時稱為“未透視”數據)可以更輕鬆地進行過濾、聚合並與其他數據工具集成。請參見下面說明轉換的示例:

A screenshot showing a matrix-style table converted to a three-column list in Excel


使用 PivotTable 將矩陣樣式表格轉換為列表

在 Excel 中,沒有直接的內置命令可以將矩陣樣式表格轉換為三列列表。然而,使用 PivotTable 向導,您可以高效地將交叉表矩陣轉換為適合進一步分析的平面表格數據。這種方法非常適合中小型數據集,特別是在您希望展平複雜報告結構時尤為有用。但它不太適合大型數據集或不熟悉 PivotTable 操作的用戶。

1. 打開包含您的矩陣的工作表。按 Alt + D,然後按 P 打開 PivotTable 和 PivotChart 向導。在向導中:

  • 在“要分析的數據在哪裡”下,選擇“多個合併範圍”。
  • 在“要創建什麼類型的報表”下,選擇 PivotTable

A screenshot of the PivotTable and PivotChart Wizard - Step1 of3 dialog

2. 點擊下一步。在第三步中的第二a步對話框中,選擇“我將創建頁面字段:

A screenshot of the PivotTable and PivotChart Wizard - Step2a of3 dialog

3。點擊 下一步。在 第三步中的第二b步,點擊 Select range button 按鈕並選擇矩陣的完整數據範圍,包括行和列標題。點擊 添加 將範圍插入到 所有範圍 列表中。確認您的範圍選擇覆蓋整個矩陣。

A screenshot of the PivotTable and PivotChart Wizard - Step2b of3 dialog

4. 點擊下一步。在第三步中的第三步,選擇是否將 PivotTable 放置在新工作表中或特定單元格中:

A screenshot of the PivotTable and PivotChart Wizard - Step3 of3 dialog

5. 點擊完成。Excel 會生成一個總結矩陣的 PivotTable。默認情況下,它會在交點處顯示匯總總數。對於此任務,您不需要調整 PivotTable 結構——只需進行到下一步:

A screenshot of the pivot table created in Excel from a matrix-style table

6. 雙擊行和列 Grand Total 交點所在的單元格(例如,單元格 F22)。Excel 將創建一個新的工作表,其中包含三列列表,每一行顯示唯一的行標題和列標題組合及相應的值。

A screenshot of the table generated by double-clicking the Grand Total cell to convert the matrix into a three-column list

7. 要完成操作,選擇新表,右鍵單擊,然後選擇 > 轉換為範圍。這將移除表格格式,留下一個普通的可編輯列表:

A screenshot showing the Convert to Range option for turning the pivot table into a standard list

提示:如果您的矩陣頻繁更改,您需要重複此過程以刷新三列列表。此方法最適合靜態數據。此外,如果您的矩陣包含空白或合併單元格,在使用此技術之前可能需要進行一些清理。


使用 VBA 代碼將矩陣樣式表格轉換為列表

如果您喜歡自動化或希望反復應用此轉換,使用 VBA 宏可以快速將任何矩陣樣式表格轉換為結構化的三列列表。這種方法對於大型數據集或多樣布局尤其有效,並且消除了手動格式化的需要。對於熟悉運行 VBA 腳本的用戶來說,這是理想的方法。

1. 按 Alt + F11 打開 Microsoft Visual Basic for Applications 編輯器。

2. 在編輯器中,點擊插入 > 模塊以創建新模塊。然後將以下代碼粘貼到模塊窗口中:

📜 VBA 代碼:將矩陣轉換為列表

Sub ConvertTable()
' Updated by Extendoffice
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. 按 F5 或點擊運行以執行宏。一系列提示將引導您完成所需的選擇:

第 1 步:選擇列標籤(通常是矩陣的頂部行):

A screenshot of a prompt to select column labels

第 2 步:選擇行標籤(通常是矩陣的第一列):

A screenshot showing the selection of row labels

第 3 步:選擇實際的矩陣數據範圍(不包括行和列標題):

A screenshot of the prompt to select the matrix data range

第 4 步:選擇輸出單元格,轉換後的三列列表應該從這裡開始。建議使用空白單元格或新工作表:

A screenshot showing the selection of the output cell for the converted three-column list

第 5 步:點擊確定。您的矩陣現在將被轉換為平面三列列表。

⚠️ 注意事項和提示:

• 確保您不要在矩陣數據範圍中包含列或行標題。

• 如果您的矩陣有合併單元格,在運行宏之前取消合併它們以避免錯誤。

• 如果遇到錯誤,請仔細檢查您選擇的範圍,確保它們正確對齊。


使用 Kutools for Excel 將矩陣樣式表格轉換為列表

儘管上述方法有效,但對於經驗較少的用戶來說,這些方法可能顯得冗長或令人生畏。如果您正在尋找一種快速且用戶友好的解決方案,Kutools for Excel 提供了一個專門的工具,名為轉換表格維數,專門設計用於此目的。

這個工具非常適合需要經常轉換矩陣樣式表格或需要進行批量處理的用戶。如果需要,它可以保留原始格式——如字體、填充顏色和公式。一個潛在的缺點是 Kutools 是需要安裝的第三方插件,但對於需要經常重塑 Excel 數據的任何人來說,這是一個強大的選擇。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

步驟:

1. 安裝 Kutools 後,轉到 Kutools 標籤,點擊 區域,然後選擇 轉換表格維數

A screenshot of the Transpose Table Dimensions option on the Kutools tab on the ribbon

2. 在轉換表格維數對話框中:

  • (1)轉換類型部分下選擇二維表轉一維表
  • (2) 點擊 Range selection icon 按鈕旁的 來源區域 以選擇您的矩陣表。
  • (3) 點擊 Range selection icon 按鈕旁的 結果區域 以指定輸出的位置。

確保您選擇整個矩陣(包括標題和數據),以避免部分轉換或結果不正確。

A screenshot of the Transpose Table Dimensions dialog

3. 點擊確定。矩陣將立即轉換為三列列表,在可能的情況下保留原始單元格格式:

A screenshot of the result after using Kutools for Excel to convert a matrix table to a three-column list

提示:此功能還支持反向操作——將平面列表轉換為二維矩陣。這對於重建報告或準備數據以進行交叉表分析非常有用。請參見:如何將列表轉換為二維交叉表。

➤ 更多關於轉換表格維數功能的信息

⏬ 立即免費下載並試用 Kutools for Excel!


使用 Excel 公式將矩陣樣式表格轉換為列表

如果您更喜歡基於公式的方法——特別是當您希望三列列表隨著矩陣的變化而動態更新時——您可以使用 INDEXROWCOLUMNCOUNTA 函數的組合來手動解透視數據。該解決方案不需要 VBA 或插件,非常適合那些希望避免使用宏或外部工具的人。然而,它確實需要仔細注意公式引用,因為公式通常必須填滿數組或系統地向下/跨拖動。它對於中等大小的矩陣和列表需要保持活動並響應源數據變化的場景最實用。

假設您的數據範圍如下:

  • 行標籤在 A2:A10 單元格中。
  • 列標籤在 B1:J1 單元格中。
  • 矩陣值在 B2:J10 單元格中。

1. 創建一個新工作表或在現有工作表的空白區域開始。在 L2 單元格中,輸入以下公式以提取行標籤:

=INDEX($A$2:$A$10,INT((ROW(A1)-1)/COUNTA($B$1:$J$1))+1)

2. 在 M2 單元格中,輸入此公式以提取相應的列標籤:

=INDEX($B$1:$J$1,MOD(ROW(A1)-1,COUNTA($B$1:$J$1))+1)

3. 在 N2 單元格中,使用以下公式提取矩陣中的值:

=INDEX($B$2:$J$10,INT((ROW(A1)-1)/COUNTA($B$1:$J$1))+1,MOD(ROW(A1)-1,COUNTA($B$1:$J$1))+1)

4. 選擇 L2:N2 單元格並將填充柄向下拖動。停止點應該是行數×列數(在此示例中,那是 9 行×9 列= 81 行總計)。

✅ 提示:

  • 根據您的實際數據結構調整所有範圍。
  • 如有必要,使用 IFISBLANK 來過濾掉空行。
  • 對於自動擴展行為,考慮使用 OFFSET 或動態命名範圍。
  • 此方法對於靜態矩陣大小和中等數據量最實用。

ℹ️ 附加說明:

  • 優點:公式保持活動狀態並自動反映矩陣的變化。無需 VBA 或插件。
  • 缺點:對於大型矩陣可能會降低工作簿性能。需要仔細設置。

演示:使用 Kutools for Excel 將矩陣樣式表格轉換為列表

 
Kutools for Excel:超過 300 種實用工具任您使用!永久免費享受AI功能!立即下載!

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用