excel 如何自动填充相应行数

如上图,左侧是我根据公式统计出来的一些数据,我想在右侧excel中让系统根据左侧的数据自动填充相应的条目(在1列内显示),请问我该如何设置公式,或者使用VBA也可以?
谢谢各位大侠!

用不着VBA
直接使用公式就可以了
假设你的数据只有图中所示,有改动的时候请自行举一反三
一:
在F列作辅助列,
F4=sum($E$3:$E3)+1
然后往下句柄填充至(就是拖到)F9
二:
在H1输入
=IF(ROW()>SUM($E$2:$E$7),"-",INDEX($D$2:$D$7,MATCH(ROW(),$F$2:$F$7,1)))
然后一直往下填充至出现“-”为止。
三:
完成以后你选中所有结果-右键-复制-原地右键-选择性粘贴-只有值
就可以只保存结果了
四:将辅助列F列清理掉
五:完成

然后你要移动到哪里用复制剪切都可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-30
使用C列作为辅助列。输入总计数量,注意错位。依次是0,4,5,9,……。
H列:=VLOOKUP(ROW()-4,$C$4:$D$6,2,TRUE)
具体的调整可以在C4输入不同的整数,也可以在H列公式调整-4的大小。追问

您的“依次是0,4,5,9,……。”是怎么来的?

追答

C4输入0,C5输入=C4+E3下拉到底。还要多一行。在多一行处的D列输入=""。

本回答被提问者采纳
第2个回答  推荐于2016-03-22
使用拖曳功能可以实现。
1 在第一行写1,在第二行写2
2 选中两个单元格,在右下角按左键向下拉,拉到需要的行数松开。
这样两步就可以填充行数了。
第3个回答  2012-08-25
按你贴的图:

H列任意单元格数组公式:
=IF(ROW(A1)>SUM(E:E),"",INDEX(D:D,SMALL(IF(COLUMN(A:AA)<=$E$4:$E$99,ROW($D$4:$D$99)),ROW(A1))))
注意:数组公式必须同时按ctrl+shift+enter输入
向下填充
第4个回答  2012-08-25
Sub 自动填充()
Dim id As Integer, ih As Integer, ts As Integer
ih = 4
For id = 4 To Range("D65536").End(xlUp).Row
For ts = 1 To Range("E" & id).Value
Range("H" & ih).Value = Range("D" & id).Value
ih = ih + 1
Next ts
Next id
End Sub
相似回答