KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何将行列数据转置并转换为单列?

作者Xiaoyang修改日期

使用 Excel 工作表时,您是否曾遇到这样的问题:如何将一个数据区域快速转置或转换为单列?(参见以下截图:)接下来,我将为您介绍三种高效技巧,轻松解决这一难题。

原始数据向右箭头将区域转换为单列

使用公式将列和行转置/转换为单列

使用 Kutools for Excel 将列和行转置/转换为单列好主意3

使用 VBA 代码将列和行转置/转换为单列


使用公式将列和行转置/转换为单列

以下长公式可帮助您快速将数据区域转置为一列,请按如下操作:

1. 首先,为您的数据区域定义一个单元格名称:选择要转换的数据区域,右键单击并从上下文菜单中选择定义名称。在新建名称对话框中,输入您想要的名称,然后单击确定。参见截图:

为数据区域定义一个名称

2. 指定单元格名称后,单击一个空白单元格(本例中为 E1 单元格),然后输入以下公式:=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)

注意MyData 是所选数据区域的单元格名称,您可根据需要随时更改。

3. 然后向下拖动公式,直至出现错误提示为止。此时,该区域中的所有数据均已转置为单列。参见截图:

 输入公式以获取结果


使用 Kutools for Excel 将列和行转置/转换为单列

也许公式太长难以记忆,而 VBA 代码又对您有所限制。别担心!这里为您推荐一个更简单且功能更强大的工具——Kutools for Excel,借助其 Transform Range 功能,即可快速便捷地解决此问题。

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装免费版 Kutools for Excel 后,请按以下步骤操作:

1. 请选择您要转置的数据区域。

2. 单击 Kutools > Transform Range,参见截图:

点击 Kutools 的“转换区域”功能

3. 在 Transform Range 对话框中,选择 Range to single column 选项,参见截图:

选择“区域转单列”选项

4. 然后单击确定,并在弹出框中指定一个单元格以放置结果。

指定一个单元格来放置结果

5. 单击确定,即可将多列多行的数据转置为单列。
该区域数据已转置为单列

如果您想使用固定值将单列快速转换为区域,也可使用 Transform Range 功能轻松实现。
使用 Kutools 将单列转换为区域


使用 VBA 代码将列和行转置/转换为单列

使用以下 VBA 代码,您还能将多列多行的数据轻松合并为单列。

1. 按住 ALT + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 单击插入> 模块,并将以下代码粘贴到模块窗口中。

Sub ConvertRangeToColumn()
'Updateby20131126
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

3. 按 F5 键运行代码,随即弹出对话框,供您选择要转换的数据区域。参见截图:

用于选择数据区域的 VBA 代码

4. 然后单击确定,随即弹出另一个对话框,让您选择一个单元格以输出结果,参见截图:

用于选择放置结果的单元格的 VBA 代码

5. 再单击确定,所选区域的单元格内容即会转换为单列列表,参见截图:

用于获取结果的 VBA 代码


相关文章

如何在 Excel 中将行转换为列?

如何在 Excel 中将单列数据转置为多列?

如何将列和行转置为单行?

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 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、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱