跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

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

Author Sun Last modified
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


相关文章:

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|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天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠