如何在 Excel 中將向量/單行或單列轉換為矩陣?
在 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)
此公式將引用並重新排列列數據為矩陣格式。
公式解釋:
- $C$1:$C$20:源列數據。
- $F$1:矩陣的左上角起始單元格。
- ROWS($C$1:$C$20)/4:「4」是矩陣的行數。根據需要進行調整。
步驟 2:向下拖動填充柄 4 行,然後向右拖動 5 列以完成矩陣。
🔹 將單行轉換為矩陣:
要將 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 列以形成矩陣佈局。
公式解釋:
- $A$1:$T$1:源行數據。
- $E$4:矩陣的起始單元格。
- COLUMNS($A$1:$T$1)/5:「5」是矩陣的行數。
⚠️ 注意事項:
- 確保數據點的數量與行 × 列完全匹配(例如,4×5 = 20)。
- 如果源範圍內有空白單元格,矩陣可能會在這些位置顯示 0。
- 這種公式方法是動態的,但對於初學者來說較不直觀。確保引用一致。
使用 Kutools for Excel 將向量/單行或單列轉換為矩陣
如果公式方法感覺太複雜或耗時——特別是對於不熟悉 Excel 函數或處理大量數據的用戶——Kutools for Excel 提供了一個更簡單的解決方案。它的 轉換區域 功能允許您通過圖形界面將單行或單列轉換為矩陣(或反之亦然),無需編寫任何公式。這種方法非常適合追求效率和易用性的用戶。
步驟 1:選擇要轉換為矩陣的行或列範圍。
步驟 2:點擊 Excel 功能區中的 Kutools > 區域 > 轉換區域。
步驟 3:在 轉換區域 對話框中:
- 如果您正在轉換水平行,則選擇 單列轉區域;如果是垂直列,則選擇 單行轉區域。
- 在 固定值 框下的 每條記錄的行數 中,輸入您希望在結果矩陣中擁有的列數。例如,輸入 5 以創建一個 5 列的矩陣。
步驟 4:點擊 確定。當提示時,選擇一個空白單元格作為矩陣結果的輸出位置。
步驟 5:再次點擊 確定。您的原始行或列現在將立即重新排列為矩陣格式。
使用 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 按鈕。然後按照提示操作:
- 選擇向量範圍——選擇要轉換的單行或單列。
- 輸入矩陣的行數和列數。
- 選擇矩陣的左上角輸出單元格。
一旦確認,宏將自動用選定向量中的值填滿目標矩陣。如果矩陣大小過小,腳本將中止並在進行任何更改前警告您。
為什麼選擇 VBA?它非常適合批量處理、可重複使用的邏輯以及使用公式或插件處理起來會很繁瑣的數據密集型任務。如果您經常將向量轉換為不同大小的矩陣佈局或跨多張工作表,此方法可以節省時間和精力。
故障排除:確保所選輸入是單行或單列,並且矩陣行 × 列的乘積大於或等於源值的數量。在運行之前一定要保存,因為此宏會直接寫入您的工作表。
相關文章:
最佳 Office 生產力工具
🤖 | Kutools AI 助手:以智能執行為基礎,革新數據分析 |生成程式碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 增強函數… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不遺失數據 | 四捨五入(免公式)... | |
高級 LOOKUP:多條件 VLookup|多值 VLookup|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 |依賴型下拉列表 | 多選下拉列表... | |
列管理器:添加指定數量的列 | 移動列 | 切換隱藏列的顯示狀態 | 比較區域及列... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫(快捷文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線...)... | |
15 大工具集:12 項文本工具(添加文本、刪除特定字符…)|50+ 儀表 類型(甘特圖等)|40+ 實用 公式(基於生日計算年齡等)|19 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 |
運用 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及 PowerPoint 外掛 + Office Tab Pro
- 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
- 協同運作更順暢 — Office 應用間無縫提升生產力
- 30 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用