有没有办法复制excel数组中的每个值?

z0qdvdin  于 2022-12-05  发布在  其他
关注(0)|答案(3)|浏览(199)

我试图复制工作表中数组中的所有值。我有{1,6,14,15},我想输出{1,1,6,6,14,14,15,15}。我想专门用函数来完成此操作。我看过VSTACK函数,它似乎非常有用。然而,加入内部的事情似乎是一个麻烦,并不会允许这个电子表格可以在其他设备上轻松使用。
我试过使用CONCAT函数,但是它只返回161415161415,这对我没有帮助。VSTACK的各种替代方法都删除了重复项,这不是我想要的。此外,所有这些替代方法都很长,我很难理解。

erhoui1w

erhoui1w1#

您可以在此处使用EXPAND()

=LET(arr,{1,6,14,15},TOROW(IFERROR(EXPAND(arr,2),arr),,1))

请注意,2将定义复制输入的频率。

kuuvgm7e

kuuvgm7e2#

如果您有LETSEQUENCE
=LET(ζ,{1,6,14,15},INDEX(ζ,SEQUENCE(,2*COUNTA(ζ),,0.5)))

bvhaajcl

bvhaajcl3#

复制Excel数组中每个值的一种方法是结合使用TRANSPOSE函数和ROW函数。下面的示例说明如何使用这些函数来获得所需的结果:

=TRANSPOSE(ROW(1:4)^0)

此公式创建一个由四行组成的数组,每行包含数字1、2、3和4。ROW函数返回指定区域(1:4)中每个单元格的行号,^0运算符强制将行号视为数字而不是数组。然后TRANSPOSE函数转置数组,使每个数字位于单独的列中。
以下是如何在工作表中使用公式的示例:

A       B       C       D
1   {1,1,1,1}   {2,2,2,2}   {3,3,3,3}   {4,4,4,4}
2   1         2          3        4

若要复制原始数组{1,6,14,15}中的值,可以使用INDEX函数返回数组中的每个值,然后使用上面的公式在多列中复制该值。下面是一个示例,说明如何执行此操作:

=TRANSPOSE(ROW(1:4)^0)

=TRANSPOSE({1,6,14,15}*(ROW(1:4)^0))

在此示例中,INDEX函数用于从原始数组返回值{1,6,14,15}。然后将这些值乘以行号数组,以创建重复值数组:

A       B       C       D       E       F
1   {1,1,1,1}   {6,6,6,6}   {14,14,14,14}   {15,15,15,15}
2   1         6          14         15

请注意,此公式仅在原始数组位于单个

相关问题