如何在Excel中打印基于值(数字)的每列迭代

时间:2019-06-22 05:32:51

标签: excel google-sheets excel-formula google-sheets-formula

我正在尝试实现一些基于给定值的每列增量的方法。 就像

if A1 = "ABC" and B1 = 3 then C1 = "ABC", D1 = "ABC" and E1 = "ABC".
If A1 = "ABC" and B1 = 1 then C1 = "ABC"
If A1 = "ABC" and B1 = 2 then C1 = "ABC" and D1 = "ABC"

我还没有尝试过任何东西,只有逻辑。

我已经看过一些代码,但是它是VB,我试图实现的是使用公式。

上面描述的是预期的输出。

谢谢

2 个答案:

答案 0 :(得分:2)

Excel

在单元格C1中:

=IF(COLUMN(A1)<=$B1,$A1,"")

根据B1拖动至您认为必须达到的最大值

enter image description here

Google电子表格

在单元格C1中:

=ARRAYFORMULA(IF((COLUMN(C1:KN1)-2)<=B1,A1,""))

KN1更改为最大值,然后输入。

enter image description here

答案 1 :(得分:0)

您可以使用Google表格一次完成该操作:

=ArrayFormula(if(column(C1:indirect(address(counta(A:A),max(B:B)+2)))>B:B+2,"",A:A))

enter image description here

还有

=ArrayFormula(if(A:A="","",split(rept(A:A&"|",B:B),"|")))

但这限制为每行5万个字符。