excel 按数值拆分为多行

来源:百度知道 编辑:UC知道 时间:2024/06/08 17:08:40
请教高手,我想实现以下内容的转换

3 2856 9595
2 8548 4389
11 3875 9028

转换为

1 2856 9595
1 2856 9595
1 2856 9595
1 8548 4389
1 8548 4389
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028
1 3875 9028

也就是说按首列的值拆分为n个1,首列是几,就有几个1,并且就分为几行,后面2列的值也就跟着重复几行。
数据非常多,无法手动转换。
多谢各位!!
非常感谢 天府剑客 whfg123 两位这么快给予回答!
高级技巧3我看了,但是不知道是不是我哪里弄错了,在定义分界点时就无法计算(将DATA04修改为了我的数据)。而且那个方法好像不能解决后2列数据的问题。
另外,我对公式也不是很了解,希望能直接告诉我公式或者VBA代码,非常谢谢!
(我刚到CLUB.EXCELHOME.NET注册了,但还没到24小时,还无法在上面提问。。。)

假定原数据在ABC列,先在前面插入一空行,即数据从第二行开始。
在D1输入公式:
=IF(ROW()>SUM($A:$A),"",INDEX(B:B,LOOKUP(ROW()-1,SUBTOTAL(9,OFFSET($A$1,,,ROW($1:$4))),ROW($1:$4))+1))
将公式向右向下复制。
DE列即为你要的结果。

这个问题做起来很麻烦。
建议到
CLUB.EXCELHOME.NET
论坛上去解决。

这个是用公式函数解决的方案——
http://club.excelhome.net/viewthread.php?tid=199514
(见其中的高级技巧3)

VBA能解决。但我爱莫能助 。我收藏 了,知道答案后,告诉一下啊。学习了。谢谢。