如何在 Excel 中将值附加到数组

如何在 Excel 中将值附加到数组

我有一个公式,它返回一个数组。我想将另一个值附加到这个数组。有没有办法在 Excel 中不使用 VBA 的情况下使用公式来实现这一点?

例如

{1, 2, 3}->{1, 2, 3, 4}

也许

{1, 2, 3}{4, 5}->{1, 2, 3, 4, 5}

我正在尝试将数组中的一个项目移动到数组的末尾。例如 {1, 4, 2, 3, 4}->{1, 2, 3, 4}

我已设法使用 FILTER 函数删除该项目。 =FILTER({1, 4, 2, 3, 4}, {1, 4, 2, 3, 4} <> 4) 现在,下一步是将值追加回数组。追加值的这一部分也可能出于其他原因而有用。这就是为什么我专门针对这个问题提出这个问题。

答案1

使用 Office 365 我们可以使用 LET 来帮助缩短公式:

=LET(
    arry1,    {1,2,3},
    arry2,    {4,5},
    cnt,      COUNTA(arry1),
    seq,      SEQUENCE(,cnt+COUNTA(arry2)),
    IF(seq>cnt,INDEX(arry2,,seq-cnt),INDEX(arry1,,seq)))

它基本上使用 Sequence 在第一个数组中移动,直到它大于项目数,然后切换到第二个数组。

在此处输入图片描述

答案2

我遇到了类似的问题,并通过以下方式用VSTACK/解决了它:HSTACK

=VSTACK(SORT(UNIQUE(B1:B7&"")), "test1", "test2")

B1这将获取和之间的所有唯一值B7,对它们进行排序(并返回一个数组),并在末尾附加两个项目tes1test2

注意:&""添加的是用于为空白行添加空字符串,而不是0

相关内容