如何用Excel公式根据指定数字生成可变的行数_Excel公式教程

标签:
excel公式教程生成可变行数 |
分类: Excel公式教程-应用篇 |
http://s1/bmiddle/0067PPKnzy7kzfbqVoIa0&690
如图,根据B列的数量,使A列生成相应的行数,效果如E列。
【方法一】
在E2输入下面的数组公式(记得按Ctrl+Shift+Enter三键结束输入):
=INDEX(A:A,MATCH(ROW()-2,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:4))))+1)
然后把公式往下复制。
【方法二】
E2输入公式:=A2
E3输入下面的公式,然后向下复制:
=IF(COUNTIF(E$2:E2,E2)<VLOOKUP(E2,A:B,2),E2,INDEX(A:A,MATCH(E2,A:A,)+1))
【方法三】
如果数据量大,用以上公式觉得卡,可以考虑使用辅助列。
如图,这里使用了两个辅助列——F列和G列。F列用来记录准备读取数据源中第几行。
http://s14/bmiddle/0067PPKnzy7kzfdmSoBcd&690
F2输入2,表示从数据源的第2行开始读取。
G2输入公式:=INDEX(B:B,F2)
E2输入公式:=INDEX(A:A,F2)
这一行主要的作用是初始化数据。好,真正的公式从下一行开始。
G3输入公式:=IF(G2,IF(G2=1,INDEX(B:B,F2+1),G2-1),)
F3输入公式:=IF(G3,IF(G3<G2,F2,F2+1),)
E3输入公式:=IF(G3,INDEX(A:A,F3),"")
最后,把E3:G3的公式往下复制。
这种方法的计算速度非常快,即使处理十几万行数据也不会觉得卡。这就是辅助数据技术的魅力!