首页 > 解决方案 > Excel:创建一个具有n倍常数的数组

问题描述

我环顾四周,但无法找到我的问题的答案。

在 Excel 中,我可以使用什么紧凑的公式来创建由单个元素重复n多次组成的数组,输入在哪里n(可能是硬编码)?

例如,看起来像这样的东西(下面的公式不起作用,但可以让我知道我在寻找什么):

{={"Constant"}*3}

注意:我不是在寻找基于 VBA 的解决方案。

标签: arraysexcel

解决方案


编辑 阅读@AxelRichter 的答案,我看到我还应该指出下面的公式假设常量是一个数字。如果Constant是文本,则此解决方案将不起作用。

易挥发的:

=ROW(INDIRECT("1:" & Repts))/ROW(INDIRECT("1" & ":" & Repts)) * Constant

非挥发性:

=ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,Repts,1))/ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,Repts,1))*Constant

如果

Constant = 14
Repts = 3

然后

Result = {14;14;14}

公式的第一部分创建一个包含 1 的重复Repts次数的数组。然后我们将该数组乘以常量以获得所需的结果。

在阅读@MacroMarc的评论后,以下非易失性公式也适用于数字:

=(ROW($A$1:INDEX($A:$A,Repts))>0)*Constant

推荐阅读