I use ArrayFormula()
简化我创建报告的方式。
而不必在每个单元格中创建引用(例如=C1
,=C2
,=C3
,=C4
在每个单元格中,我只使用=arrayformula(C1:C4)
在一个单细胞中。它完成完全相同的工作,但更简单,并且使事情更有条理,因为我只需要在一个单元格中查找可能的错误。
当我必须将一个范围引用到另一个范围(例如将 C1:C4 的值放入 A1:A4 范围)时,它非常有效。在 A1 单元格中我会写=arrayformula(C1:C4)
它发挥了它的魔力。
当范围长度不同时,它确实会变得有点棘手,但它仍然是可行的。例如,如果我想将两个或多个范围链接 C1:C4 堆叠在 B1:B3 之上,则在单元格 A1 上我可以编写=arrayformula({C1:C4;B1:B3})
.
我的问题是使用arrayFormula()
复制重复图案。例如,如果我想复制单元格 C1 的内容 4 次,我会使用=arrayformula({C1;C1;C1;C1})
.
这会起作用并且会达到预期的效果。但是,我想知道是否有更好的方法来做到这一点。就像是=arrayformula({C1}*12)
如果这个模式会重复 12 次。这也将使我能够拥有一个动态公式,例如=arrayformula({C1}*count(D:D))
模式会根据某些变量重复。
您知道如何仅使用本机公式(无 JavaScript)来实现这一目标吗?
我将使用 split() 函数而不是 arrayformula() 和 rept() 函数来重复单元格位置。例如,如果 n=4,则公式将如下所示:
=split(rept(C1&";",4),";")
rept() 重复单元格位置 C1+分号四次,创建一个字符串,而 split() 函数则用分号将创建的字符串划分为水平单元格。
您可以使用 transpose() 函数将结果水平表格旋转为垂直表格:
=transpose(split(rept(C1&";",4),";"))
是的,您可以使用它在 arrayformula() 函数的帮助下创建动态公式:
=arrayformula(count(D:D)*split(rept(C1&";",4), ";"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)