提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何在Excel中每隔一行分隔一列?

doc分隔隔行1

例如,我有一個很長的數據列表,現在,我想將列分隔成兩列,如下圖所示。 在Excel中處理這個任務有什麼好方法嗎?

使用公式將每隔一行拆分一列

用VBA代碼隔行隔列

使用Kutools for Excel將每隔一行分隔一列


將一個列分成每隔一行或第n行:

Kutools for Excel's 變換範圍 實用程序,您可以快速將單個行或列轉換為一系列單元格,反之亦然。

doc分隔隔行11


箭頭藍色右泡 使用公式將每隔一行拆分一列


以下公式可以幫助您快速將列分成兩列,請按照以下步驟操作:

1。 例如,將此公式輸入到空白單元格C2中, =INDEX($A$2:$A$13,ROWS(C$1:C1)*2-1),看截圖:

doc分隔隔行2

2。 然後向下拖動填充手柄,直到錯誤顯示在單元格中,請參閱截圖:

doc分隔隔行3

3。 然後將另一個公式輸入到單元格D2中, =INDEX($A$2:$A$13,ROWS(D$1:D1)*2),然後將填充手柄向下拖動到單元格,直到出現錯誤值,並且列值每隔一行被分成兩列,請參閱截圖:

doc分隔隔行4


箭頭藍色右泡 用VBA代碼隔行隔列

如果你對VBA代碼感興趣,在這裡,我可以談談你的代碼來解決這個問題。

1。 按住 ALT + F11 在Excel中的鍵,它打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,並將以下代碼粘貼到 模塊 窗口。

VBA代碼:每隔一行將列分成兩列

Sub SplitEveryOther()
'Updateby20150813
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim index As Integer
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 OutRng = OutRng.Range("A1")
num1 = 1
num2 = 1
For index = 1 To InputRng.Rows.Count
    If index Mod 2 = 1 Then
        OutRng.Cells(num1, 1).Value = InputRng.Cells(index, 1)
        num1 = num1 + 1
    Else
        OutRng.Cells(num2, 2).Value = InputRng.Cells(index, 1)
        num2 = num2 + 1
    End If
Next
End Sub	

3。 然後按 F5 鍵運行此代碼,並彈出提示框提醒您選擇要分割的數據范圍,請參閱截圖:

doc分隔隔行5

4。 並點擊 OK,彈出另一個提示框讓你選擇一個單元格放置結果,參見截圖:

doc分隔隔行6

5。 然後點擊 OK,並且該列已被每隔一行分成兩列。 看截圖:

doc分隔隔行7


箭頭藍色右泡 使用Kutools for Excel將每隔一行分隔一列

如果你想學習更多新東西,我可以推荐一個強大的工具 - Kutools for Excel,其 變換範圍 實用程序,您可以快速將單個行或列轉換為一系列單元格,反之亦然。

Kutools for Excel : 與超過300方便的Excel加載項,在60天免費試用沒有限制.

安裝後 Kutools for Excel,請按照以下步驟操作:( 免費下載Kutools for Excel )

1。 選擇您想要按其他行分成兩列的列數據。

2。 然後點擊 Kutools > 範圍 > 變換範圍,看截圖:

doc分隔隔行8

3。 在 變換範圍 對話框中選擇 單列到範圍變換類型“,然後選擇” 固定值 並進入 2 進入箱子裡 每條記錄的行數 部分,看截圖:

doc分隔隔行9

4。 然後點擊 Ok 按鈕,彈出提示框提醒您選擇要輸出結果的單元格,請參閱截圖:

doc分隔隔行10

5。 點擊 OK,列表數據每隔一行就被分成兩列。

點擊了解更多關於此Transform Range實用程序的信息。

免費下載Kutools for Excel


Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及你以前用過的任何東西; 加密單元格 密碼; 創建郵件列表 並發送電子郵件...
  • 超級方程式酒吧 (輕鬆編輯多行文字和公式); 閱讀佈局 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不丟失數據; 分裂細胞含量; 組合重複的行/列...防止重複的細胞; 比較範圍...
  • 選擇複製或唯一 行; 選擇空行 (所有細胞都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇......
  • 精確複製 多個單元格而不更改公式參考; 自動創建參考 多張表; 插入項目符號,複選框等等......
  • 提取文本,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級過濾器 (將過濾方案保存並應用到其他工作表); 高級排序 按月/週/日,頻率等; 特殊過濾器 用粗體,斜體......
  • 結合工作簿和工作表; 根據鍵列合併表; 將數據拆分為多個表格; 批量轉換xls,xlsx和PDF...
  • 超過300強大的功能。 支持Office / Excel 2007-2019和365。 支持所有語言。 在您的企業或組織中輕鬆部署。 全功能30天免費試用。
kte tab 201905

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jas · 7 months ago
    How to do the opposite of this? Get two column info in one row ?
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hi, Jas,
      To do the opposite of this, to convert two columns data into one single column, you should apply the below VBA code:

      Sub ConvertRangeToColumn()
      Dim Range1 As Range, Range2 As Range, Rng As Range
      Dim rowIndex As Integer
      xTitleId = "KutoolsforExcel"
      Set Range1 = Application.Selection
      Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
      Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
      rowIndex = 0
      Application.ScreenUpdating = False
      For Each Rng In Range1.Rows
      Rng.Copy
      Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
      rowIndex = rowIndex + Rng.Columns.Count
      Next
      Application.CutCopyMode = False
      Application.ScreenUpdating = True
      End Sub

      Please try, hope it can help you!
  • To post as a guest, your comment is unpublished.
    Jeff · 3 years ago
    As a workaround, you can do the following:

    Using the above example,

    1. Type "=a2" in c2 and "=a3" in d3.

    2. Now select c2 through d3.

    3. Drag the fill handle parallel to all the data.

    4. Now delete cell a2 and shift cells up.

    5. Now we need to convert the formula results to the calculated values. That's easily done by copying all the data including the blank rows and pasting the values right on top of itself.

    6. Now you can simply sort any of the column alphabetically to bring all the data up.