Skip to main content

如何在 Excel 中將每隔一行移動到列?

Author: Sun Last Modified: 2025-05-12
move every other row to column sample data

在 Excel 中處理數據時,特別是導入的或非結構化的數據集,您可能會經常發現名字和相關值垂直排列在單個列中。為了使這些數據更具可讀性和可用性,通常需要將其轉換為表格格式 —— 將每隔一行移動到列中。


使用公式將每隔一行移動到列

這是一種簡單直接的方法,利用 Excel 的 INDEX 函數提取交替行並將其顯示為列。如果您想將名字轉換成一列,年齡轉換成下一列,請應用以下公式:

1. 在單元格 C2 中,輸入以下公式到空白單元格中,然後根據需要向下拖動公式。此公式從第 2 行開始獲取每隔一行的值(名字)。

=INDEX($A:$A, (ROW(A1)-1)*2 + 2)
提示:此公式通過將當前行號乘以 2 然後加 2 來引用正確的位置。
extract every other cell in a column with formula

2. 在單元格 D2 中,輸入以下公式以提取替代數據,並向下拖動公式填充單元格。

 =INDEX($A:$A, (ROW(A1)-1)*2 + 3)
提示:此公式從包含年齡的行(奇數行,從第 3 行開始)獲取值。
extract every other cell in another column with formula
公式解釋:
  • INDEX($A:$A, ...):查找列 A 並返回特定行號的值。
  • ROW(A1):返回當前行號。在 A1 中,它返回 1。當您向下拖動公式時,它變為 A2(第 2 行),A3(第 3 行)等。
  • (ROW(A1)-1)*2 + 2:這計算出要從列 A 提取的行號。

因此,該公式從 A2、A4、A6、A8… 提取值,這意味著每隔一行(從第 2 行開始)。


使用 Kutools for Excel 將每隔一行移動到列

如果您更喜歡用戶友好且無需公式的解決方案,Kutools for Excel 提供了一個功能,可以讓您輕鬆地將行轉置為列。

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

安裝 Kutools for Excel 後,請按照以下步驟操作:

  1. 點擊 Kutools > 區域 > 轉換區域。
    extract every other cell in a column with formula
  2. 在「轉換區域」對話框中,設置以下操作:
    • 選擇您要移動每隔一行的範圍
    • 在「轉換類型」部分中勾選「單列轉區域」,
    • 然後勾選「固定值」,然後在「每條記錄的行數」部分的列表中選擇或輸入 2。
    • 最後,點擊「確定」按鈕。
      extract every other cell in a column with formula
  3. 在隨後的提示框中,選擇一個單元格來放置結果,見截圖:
    extract every other cell in a column with formula
  4. 點擊「確定」,Kutools 將自動將每隔一行移動到不同的列中。
    extract every other cell in a column with formula

使用 VBA 代碼將每隔一行移動到列

如果您經常需要執行此任務,VBA 宏可以自動化該過程,使其更快更高效。

1. 同時按下鍵盤上的 F11 + Alt 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 然後點擊 插入 > 模塊 插入一個新的模塊窗口。然後將以下 VBA 代碼複製到窗口中。

VBA:將每隔一行移動到列。

Sub MoveRange()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set InputRng = InputRng.Columns(1)
For i = 1 To InputRng.Rows.Count Step 2
    OutRng.Resize(1, 2).Value = Array(InputRng.Cells(i, 1).Value, InputRng.Cells(i + 1, 1).Value)
    Set OutRng = OutRng.Offset(1, 0)
Next
End Sub

3. 點擊「運行」按鈕或鍵盤上的 F5 鍵,彈出一個對話框讓您選擇要移動的範圍。見截圖:
extract every other cell in a column with formula

4. 然後點擊「確定」顯示另一個對話框以選擇單元格輸出結果。見截圖:
extract every other cell in a column with formula

5. 點擊「確定」,您可以查看如下所示的結果:
extract every other cell in a column with formula


? 結論:

在 Excel 中將每隔一行移動到列的每一種方法都有其自身的優勢,具體取決於您的需求:

  • 公式方法:最適合快速的一次性任務和小型數據集。不需要額外工具,但在大數據範圍內可能會減慢速度。
  • Kutools for Excel:非常適合偏好簡單、基於點擊解決方案而不使用複雜公式或編程的用戶。Kutools 提供了用戶友好的界面進行快速轉換。
  • VBA 宏:自動化和重複任務的最佳選擇,特別是對於大型數據集。需要基本的編程知識,但提供了最大的靈活性。

選擇適合您需求的方法,無論您是在處理小型數據集還是需要更可擴展的解決方案來處理大型數據集。如果您有興趣探索更多 Excel 技巧和竅門,我們的網站提供了數千個教程幫助您掌握 Excel


相關文章:

最佳辦公效率工具

🤖 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、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!