excel中 A列文本 B列数值 C列按照B列的数值下拉复制A列文本一直到对应数值的行数

怎么使用公式或者宏完成

本问题有多种方法可以实现,现在给出最常用的vlookup函数实现的方法,挺有意思的。如图,分2步:

第1步,在D列中得到累计复制的数量:

D2=D1+B2

下拉到D5

第2步,在C2中输入公式:

C2=IFERROR(VLOOKUP(ROW(A1),IF({1,0},D$2:D$5,A$2:A$5),2,),C3)&""

下拉到出现空白单元格

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-03

C2输入

=INDEX($A$1:$A$100,SMALL(IF(B$1:B$100>=COLUMN(A:Z),ROW($1:$100)),ROW(A1)))

数组公式,先按住CTRL+SHIFT,最后回车,使得编辑栏公式两端出现花括号{ }

公式下拉

本回答被提问者采纳
第2个回答  2019-07-04


参照此公式即可。

=LOOKUP(ROW(A1),SUMIF(OFFSET(B$1,,,ROW($1:$4),"<>")+1,A$2:A$4)&""

按三键CTRL+SHIFT+ENTER结束公式输入

下拉填充

追问

dalao能不能把公式复制粘贴到这来

第3个回答  2019-07-03
你好 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列 否则选择C列。首先新建表MY_TEST,里面有A,B,C,
第4个回答  2019-07-03
可使用VBA完成,代码如下:

Sub sc()
r = 2
For Each Rng In Range("b2:b" & Cells(Rows.Count, 2).End(xlUp).Row)
Range(Cells(r, 3), Cells(r + Rng, 3)) = Rng(1, 0)
r = r + Rng + 1
Next
End Sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网