Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2851|回复: 8

[已解决]如何使已有数据换行

[复制链接]
发表于 2014-1-12 08:40 | 显示全部楼层 |阅读模式
5学分
如附件,小弟因为数据处理遇到难题,客户给的数据没法直接使用,软件只能识别$前多少个参数,需要用$换到下一行,不然无法识别整行,请教如何使整行数据从$后面跳到下一行,请教方法。
最佳答案
2014-1-12 10:44
本帖最后由 baksy 于 2014-1-12 10:56 编辑

新建工作表,A1输入以下公式,右拉、下拉。
=IF(OR(AND(MOD(ROW()+1,2)=0,COLUMN()>15),AND(MOD(ROW()+1,2)=1,OR(COLUMN()<16,COLUMN()>18))),"",IF(MOD(ROW()+1,2)=0,OFFSET('L2 Report'!$A$1,TRUNC((ROW()+1)/2),COLUMN(A1)-1),OFFSET('L2 Report'!$A$1,TRUNC((ROW()+1)/2),COLUMN(A1)-1)))

初始文件.rar

37.65 KB, 下载次数: 8

初始文件

处理后文件1.rar

40.66 KB, 下载次数: 9

结果1

处理后文件2.rar

772 Bytes, 下载次数: 4

最终结果

最佳答案

查看完整内容

数据大,使用代码比较方便。如果数据小,可以使用技巧。 1、隔行插入空行 2,选择最后3列数据,向下拖一个单元格即可
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-1-12 08:40 | 显示全部楼层
数据大,使用代码比较方便。如果数据小,可以使用技巧。
1、隔行插入空行
2,选择最后3列数据,向下拖一个单元格即可
回复

使用道具 举报

 楼主| 发表于 2014-1-12 09:05 | 显示全部楼层
回复

使用道具 举报

发表于 2014-1-12 09:20 | 显示全部楼层
本帖最后由 风林火山 于 2014-1-12 09:23 编辑
  1. <div>Sub 分行显示()</div><div>    Dim arr, brr(), crr</div><div>    Dim k&, m%, n%, lastrow</div><div>    lastrow = Sheets("L2 Report").Cells(Rows.Count, 1).End(3).Row</div><div>    arr = Sheets("L2 Report").Range("a4:r" & lastrow)</div><div>    ReDim brr(1 To UBound(arr) * 2, 1 To UBound(arr, 2))</div><div>    For k = 1 To UBound(arr)</div><div>        For m = 1 To 15</div><div>            brr(k * 2 - 1, m) = arr(k, m)</div><div>        Next m</div><div>        For n = 16 To 18</div><div>            brr(k * 2, n) = arr(k, n)</div><div>        Next n</div><div>    Next k</div><div>    crr = Sheets("L2 Report").Range("a1:r3")</div><div>    Sheets.Add</div><div>    Range("a1").Resize(3, 18) = crr</div><div>    Range("a4").Resize(UBound(brr), 18) = brr</div><div>    ActiveSheet.Name = "结果表"</div><div>End Sub</div>
复制代码

分行显示.rar

87.35 KB, 下载次数: 7

评分

参与人数 1 +1 收起 理由
zoulianzu + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-1-12 09:31 | 显示全部楼层
那么复杂啊,我以为用高级筛选能完成呢,一定要用代码吗?
回复

使用道具 举报

发表于 2014-1-12 09:53 | 显示全部楼层
受教了
回复

使用道具 举报

发表于 2014-1-12 10:09 | 显示全部楼层
哇。。。长见识了,,谢谢。。。。
回复

使用道具 举报

发表于 2014-1-12 10:44 | 显示全部楼层    本楼为最佳答案   
本帖最后由 baksy 于 2014-1-12 10:56 编辑

新建工作表,A1输入以下公式,右拉、下拉。
=IF(OR(AND(MOD(ROW()+1,2)=0,COLUMN()>15),AND(MOD(ROW()+1,2)=1,OR(COLUMN()<16,COLUMN()>18))),"",IF(MOD(ROW()+1,2)=0,OFFSET('L2 Report'!$A$1,TRUNC((ROW()+1)/2),COLUMN(A1)-1),OFFSET('L2 Report'!$A$1,TRUNC((ROW()+1)/2),COLUMN(A1)-1)))

评分

参与人数 1 +1 收起 理由
zoulianzu + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-1-12 11:11 | 显示全部楼层
哇,谢谢版主谢谢baksy,懂代码的选择版主的方法很好,可惜小弟不懂,正在努力学习中,有了代码还不知道怎么用,而且用的是2003版本,相比baksy的方法更好接受一点,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 04:14 , Processed in 0.372817 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表