跳至主要内容

如何在 Excel 中将每隔一行移动到列?

Author: Sun Last Modified: 2025-05-08
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 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!