excel 表1中有多行行数据,共两列,第二列是数字。在表二中将表一中第每行数据根据第二列分为多个相同行

sheet1如上
sheet2要求变成如下格式

求大侠指点啊!

如图:

c2=A2

c3:

=IF(ROW()<=SUM(B$2:B$100)+1,INDIRECT("a"&IF(ROW()-MAX((C$1:C2<>C2)*ROW(C$1:C2))>INDIRECT("b"&1+SUM(IF(C$1:C1=C$2:C2,0,1))),2,1)+SUM(IF(C$1:C1=C$2:C2,0,1))),"")

数组公式,ctrl+shift+enter,

复制下拉即可

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-01
你是要复制整行?试试下面代码,

Sub AAA()
Dim I As Long, N As Long
For I = Range("B65536").End(xlUp).Row To 1 Step -1
N = Range("B" & I).Text - 1 '要插入的行数为B列单元格值减一
Rows(I + 1).Resize(N).Insert '在I行下面,插入N行
Rows(I).Copy Rows(I + 1 & ":" & I + N) '复制I行到 新行
Next
'Columns(2).Delete '删除B列 ,根据需要自己选择

MsgBox "完成!"
End Sub
第2个回答  2013-03-01
用增加辅助列的方法解决
在sheet1表的c2输入公式:
=IF(B2,SUM(B$2:B2),"")
下拉填充
在sheet2表的a2输入公式:
=IF(ROW()<SUM(Sheet1!B:B)+2,OFFSET(Sheet1!$A$1,MATCH(,0/(ROW(A1)<=Sheet1!C$2:C$100),),),"")

数组公式,按ctrl+shift+enter三键结束
下拉填充
第3个回答  2013-03-01
将鼠标移到想要复制的单位格,例:将鼠标移动张三单位格右下脚,当鼠标变成黑色实心实字,按住鼠标左键向下托即可,想复制多少托几个单位格即可。追问

大哥,你这个答案太NB了。呵呵,还是谢谢你啊。

你想想如果有上千行,而后面的数字是最少3位数的,这得拖多长时间啊……

追答

试下吧,如果上千行这样拖下来,估计也用不上半分钟!