Excel-每隔几行进行转置一次

当从网络复制的数据在Excel中显示为一列而非表格时,使用OFFSET公式可快速转换数据格式,实现从竖列到横行的高效转置,便于后续的数据处理。

有时候从网上复制的表格数据,粘贴到excel表格后,变成一行一行的数据,不是表格格式的,不方便我们用表格进行数据处理,如下图:
在这里插入图片描述
这种格式的数据不是我们需要的,我们要的是常见的二维的表格。一般从竖列转为横行,使用的是复制,选择性粘贴,转置即可。数据少的话,我们可以一个个操作,如果数据量大,就比较浪费时间了。
使用下面的公式,一键搞定。

=OFFSET($A$1,ROW(A1)*7+COLUMN(A:A)-8,)

数据在A列,这里将转置后的内容放在以B列开始,公式根据自己的数据情况修改:
在这里插入图片描述
在这里插入图片描述
最后根据需要加上表头就可以了。
如果原来的一列数据不需要了,一定要把生成的数据复制一下,然后选择性,值,去掉公式之后,就可以把原来的一列数据删除了。

Excel中,如果需要按照空分隔的数据块进多次转置操作,可以通过以下方法实现- **手动分块转置**:对于较小规模的数据,可以逐个选中每个数据块,复制后使用“选择性粘贴”功能中的“转置”选项。需要注意的是,每次操作只能处理一个数据块,适合数据量较少的情况。 - **使用公式辅助**:对于结构化较强的数据,可以结合`INDEX`、`TRANSPOSE`等函数实现动态转置。例如,使用`TRANSPOSE`函数将一数据转换为一列,但该方法对空识别能力有限,可能需要先手动或通过筛选方式分离数据块。 - **VBA宏代码自动化处理**:适用于大规模数据和频繁操作需求。通过编写VBA脚本自动检测空,并对每个数据块执转置操作。示例代码如下: ```vba Sub TransposeDataBlocks() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") &#39; 修改工作表名称 Dim rng As Range, cell As Range Dim startRow As Long, endRow As Long Dim outputCol As Long startRow = 1 outputCol = 3 &#39; 输出结果的起始列 For Each cell In ws.Range("A:A") If Application.WorksheetFunction.CountA(ws.Rows(cell.Row)) = 0 Then If startRow < cell.Row Then Set rng = ws.Range(ws.Cells(startRow, 1), ws.Cells(cell.Row - 1, 1)) ws.Cells(1, outputCol).Resize(rng.Columns.Count, rng.Rows.Count).Value = Application.WorksheetFunction.Transpose(rng.Value) outputCol = outputCol + 1 End If startRow = cell.Row + 1 End If Next cell If startRow <= ws.Cells(ws.Rows.Count, 1).End(xlUp).Row Then Set rng = ws.Range(ws.Cells(startRow, 1), ws.Cells(ws.Rows.Count, 1).End(xlUp)) ws.Cells(1, outputCol).Resize(rng.Columns.Count, rng.Rows.Count).Value = Application.WorksheetFunction.Transpose(rng.Value) End If End Sub ``` - **Power Query处理**:将数据导入Power Query中,利用其强大的数据清洗功能,根据空分割数据块,然后对每个块执转置操作,最后导出到Excel。这种方法适合复杂的数据结构且不需要编程基础。
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tsfy2003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值