Skip to main content

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

如何在 Excel 中將向量/單行或單列轉換為矩陣?

Author Xiaoyang Last modified

在 Excel 中,您可能會遇到需要將單行或單列(通常稱為「向量」)轉換為矩陣或表格格式的情況,並指定行數和列數。手動將每個值複製並粘貼到網格中可能既繁瑣又容易出錯,特別是在處理大量數據時。為了幫助您提高效率並減少錯誤的風險,本文介紹了幾種實用的方法,可以快速將向量(單行或單列)轉換為矩陣。每種方法都適用於不同的場景,因此您可以選擇最適合您數據轉換和展示需求的方式。


使用公式將向量/單行或單列轉換為矩陣

Excel 公式提供了一種靈活且動態的方式,可將單行或單列轉換為矩陣佈局。這在當源數據更改時希望矩陣自動更新尤其有用。但是,請注意單元格引用和矩陣大小——原始數據中的空白單元格可能會返回零。

🔹 將單列轉換為矩陣:

假設您的數據位於 C1:C20 單元格中,並且您想將其轉換為 4 行 5 列(4×5)的矩陣。以下是具體操作:

步驟 1:在您希望矩陣開始的左上角單元格(例如 F1)中輸入以下公式,然後按 Enter 鍵

=OFFSET($C$1:$C$20,COLUMN()-COLUMN($F$1)+((ROW()-ROW($F$1))*(ROWS($C$1:$C$20)/4)),0,1,1)

此公式將引用並重新排列列數據為矩陣格式。

Convert a single column to matrix with a formula

公式解釋:

  • $C$1:$C$20:源列數據。
  • $F$1:矩陣的左上角起始單元格。
  • ROWS($C$1:$C$20)/4:「4」是矩陣的行數。根據需要進行調整。

步驟 2:向下拖動填充柄 4 行,然後向右拖動 5 列以完成矩陣。

drag the formula to right and down

🔹 將單行轉換為矩陣:

要將 A1:T1 的行轉換為 5 行 4 列(5×4)的矩陣:

步驟 1:在起始單元格(例如 E4)中輸入:

=OFFSET($A$1:$T$1,0,COLUMN()-COLUMN($E$4)+(ROW()-ROW($E$4))*(COLUMNS($A$1:$T$1)/5),1,1)

步驟 2:然後向下拖動 5 行,向右拖動 4 列以形成矩陣佈局。

Convert a single row to matrix with a formula

公式解釋:

  • $A$1:$T$1:源行數據。
  • $E$4:矩陣的起始單元格。
  • COLUMNS($A$1:$T$1)/5:「5」是矩陣的行數。

⚠️ 注意事項:

  • 確保數據點的數量與行 × 列完全匹配(例如,4×5 = 20)。
  • 如果源範圍內有空白單元格,矩陣可能會在這些位置顯示 0
  • 這種公式方法是動態的,但對於初學者來說較不直觀。確保引用一致。

使用 Kutools for Excel 將向量/單行或單列轉換為矩陣

如果公式方法感覺太複雜或耗時——特別是對於不熟悉 Excel 函數或處理大量數據的用戶——Kutools for Excel 提供了一個更簡單的解決方案。它的 轉換區域 功能允許您通過圖形界面將單行或單列轉換為矩陣(或反之亦然),無需編寫任何公式。這種方法非常適合追求效率和易用性的用戶。

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

步驟 1:選擇要轉換為矩陣的行或列範圍。

步驟 2:點擊 Excel 功能區中的 Kutools > 區域 > 轉換區域

click Transform Range feature of kutools

步驟 3:轉換區域 對話框中:

  1. 如果您正在轉換水平行,則選擇 單列轉區域;如果是垂直列,則選擇 單行轉區域
  2. 固定值 框下的 每條記錄的行數 中,輸入您希望在結果矩陣中擁有的列數。例如,輸入 5 以創建一個 5 列的矩陣。

set options in the dialog box

步驟 4:點擊 確定。當提示時,選擇一個空白單元格作為矩陣結果的輸出位置。

select a cell to output the result

步驟 5:再次點擊 確定。您的原始行或列現在將立即重新排列為矩陣格式。

the single column has been converted to a matrix

使用 Kutools 消除了對複雜公式或手動填充操作的需求,使其成為那些優先考慮速度、簡便性和準確性用戶的理想選擇。請注意,此方法需要 Kutools 外掛程式,該外掛程式可能無法在所有環境中使用。


使用 VBA 代碼將向量/單行或單列轉換為矩陣

對於需要更高靈活性、希望自動化流程或處理大型數據集的用戶,VBA 宏是一個極佳的選擇。它支持自定義矩陣大小,減少重複的手動步驟,即使處理成千上萬條數據也能高效運行。這種方法非常適合重複報告、批量數據重構或創建可重用的 Excel 工具——無需依賴外部插件。

⚠ 重要:在運行此腳本之前,務必保存您的工作簿並啟用宏。如果數據大小不能均勻適配矩陣尺寸,額外的單元格將留空以避免數據丟失。

步驟 1:按下 Alt + F11 打開 Microsoft Visual Basic for Applications 編輯器。點擊 插入模塊,然後粘貼以下代碼:

Sub VectorToMatrix()
    Dim vecRange As Range
    Dim outCell As Range
    Dim totalElements As Long
    Dim matrixRows As Long, matrixCols As Long
    Dim i As Long, j As Long, idx As Long
    Dim xTitleId

    On Error Resume Next
    xTitleId = "KutoolsforExcel"

    Set vecRange = Application.InputBox("Select the vector (single row or column) to convert:", xTitleId, Type:=8)
    If vecRange Is Nothing Then Exit Sub

    matrixRows = Application.InputBox("Enter number of rows for the matrix:", xTitleId, , , , , , 1)
    If matrixRows <= 0 Then Exit Sub

    matrixCols = Application.InputBox("Enter number of columns for the matrix:", xTitleId, , , , , , 1)
    If matrixCols <= 0 Then Exit Sub

    totalElements = vecRange.Cells.Count
    If matrixRows * matrixCols < totalElements Then
        MsgBox "Matrix size does not fit all values from vector!", vbExclamation
        Exit Sub
    End If

    Set outCell = Application.InputBox("Select the top-left cell for output matrix:", xTitleId, Type:=8)
    If outCell Is Nothing Then Exit Sub

    idx = 1
    For i = 1 To matrixRows
        For j = 1 To matrixCols
            If idx <= totalElements Then
                outCell.Cells(i, j).Value = vecRange.Cells(idx).Value
                idx = idx + 1
            Else
                outCell.Cells(i, j).Value = ""
            End If
        Next j
    Next i
End Sub

步驟 2: 要運行代碼,在宏內部點擊 F5 或點擊 Run button Run 按鈕。然後按照提示操作:

  1. 選擇向量範圍——選擇要轉換的單行或單列。
  2. 輸入矩陣的行數和列數
  3. 選擇矩陣的左上角輸出單元格

一旦確認,宏將自動用選定向量中的值填滿目標矩陣。如果矩陣大小過小,腳本將中止並在進行任何更改前警告您。

為什麼選擇 VBA?它非常適合批量處理、可重複使用的邏輯以及使用公式或插件處理起來會很繁瑣的數據密集型任務。如果您經常將向量轉換為不同大小的矩陣佈局或跨多張工作表,此方法可以節省時間和精力。

故障排除:確保所選輸入是單行或單列,並且矩陣行 × 列的乘積大於或等於源值的數量。在運行之前一定要保存,因為此宏會直接寫入您的工作表。


相關文章:

如何在 Excel 中將矩陣轉換為向量或單列?

最佳 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 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用