Excel 按指定列数值自动插入行
一个表中,要根据D列的数值在每一行后面插入D列数值减1的行数同时,在插入的行中A、B、C列中复制上一行的A、B、C列中的值...
一个表中,要根据D列的数值在每一行后面插入D列数值减1的行数同时,在插入的行中A、B、C列中复制上一行的A、B、C列中的值
展开
5个回答
展开全部
1.插入两个辅助列,在E1输入“=SUM(D$1:D1)”,后下拉。
2.在F1输入“=ROW(A1)-1”,后下拉。
3.在A5输入
“=if(row(a1)>sum($d$2:$d$4),"",index(a$2:a$4,lookup(row(a1),$e$1:$e$4,$f$1:$f$4)+1))”。
4.把A5的数据复制粘贴到B5-F5。
5.复制第五列的数据到下面几列,直到显示出来所有列。
参考资料:百度百科-Excel函数
2015-12-02
展开全部
Sub 自动插入指定行()
L = 4 '第四列
H = 2 '第二行
Temp = Cells(H, L)
Do While Temp <> ""
If Temp > 1 Then
'插入空行
Range(Cells(H + 1, 1), Cells(H + Temp - 1, 1)).Select
Application.CutCopyMode = False
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
'复制与粘贴
Range(Cells(H, 1), Cells(H, L)).Select
Selection.Copy
Range(Cells(H + 1, 1), Cells(H + Temp - 1, L)).Select
ActiveSheet.Paste
End If
'准备下一次循环
H = H + Temp
Temp = Cells(H, L)
Loop
End Sub
L = 4 '第四列
H = 2 '第二行
Temp = Cells(H, L)
Do While Temp <> ""
If Temp > 1 Then
'插入空行
Range(Cells(H + 1, 1), Cells(H + Temp - 1, 1)).Select
Application.CutCopyMode = False
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
'复制与粘贴
Range(Cells(H, 1), Cells(H, L)).Select
Selection.Copy
Range(Cells(H + 1, 1), Cells(H + Temp - 1, L)).Select
ActiveSheet.Paste
End If
'准备下一次循环
H = H + Temp
Temp = Cells(H, L)
Loop
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少量数据的话就用函数或自己直接插入相应的行就可以了,若操作量很大的话可以考虑用vba。需大批量操作数据+PP2327285699说明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议用VBA代码解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询