Excel 按指定列数值自动插入行

一个表中,要根据D列的数值在每一行后面插入D列数值减1的行数同时,在插入的行中A、B、C列中复制上一行的A、B、C列中的值... 一个表中,要根据D列的数值在每一行后面插入D列数值减1的行数同时,在插入的行中A、B、C列中复制上一行的A、B、C列中的值 展开
 我来答
稗官诉史
2020-04-30 · TA获得超过785个赞
知道答主
回答量:7
采纳率:0%
帮助的人:3540
展开全部

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函数

沈一民
推荐于2017-12-16 · TA获得超过8012个赞
知道大有可为答主
回答量:8448
采纳率:85%
帮助的人:2623万
展开全部

    插入两个辅助列

E1=SUM(D$1:D1)

F1=ROW(A1)-1

两公式向下复制

随便找一个单元格比如A8输入=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))

把这个单元格向右向下复制即可。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chyzyyj
2015-12-02 · TA获得超过2527个赞
知道大有可为答主
回答量:3319
采纳率:76%
帮助的人:991万
展开全部
少量数据的话就用函数或自己直接插入相应的行就可以了,若操作量很大的话可以考虑用vba。需大批量操作数据+PP2327285699说明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平阳虎01
高粉答主

2015-12-02 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:4916万
展开全部
建议用VBA代码解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式