在Google Sheets中,如何将数组元素作为单独的参数传递给Google Sheets本机函数



我的问题与这里描述的问题非常相似:如何传递数组';s元素作为函数的单独自变量?这里的转折点是在谷歌表单中进行。在A列中,有一系列条目,我想从中筛选出符合某些条件的条目,然后在其他一些单独的单元格中填充筛选的第n个结果。

COL A1:A4

John A

Hector C

马里奥G

Hecate J

细胞C4=CHOOSE(1,FILTER(A1:A4, LEFT(A1:A4,1)="H"))

细胞D8=CHOOSE(2,FILTER(A1:A4, LEFT(A1:A4,1)="H"))

但是发生的是,C4:C5赫克托体C赫卡特J填充,并且D8返回";错误函数CHOOSE参数1的值为2。有效值介于1和1之间(包括1和1(">

我的结论是,FILTER返回的数组被CHOOSE函数简单地作为一个参数,而不是将单个元素作为参数。我试着摆弄ArrayFormula,但没有成功。我尝试了准备"并且显然不被识别为功能。

有没有不涉及编写自己的Script函数的想法?谢谢

您可以使用index((来代替:

然后你可以选择列表中的第n个元素,如下所示:

=index(FILTER(A1:A4, LEFT(A1:A4,1)="H"),2)

您也可以指定列表的长度,以过滤列表的最后一个元素为例,而不是将2作为硬拷贝编号:

=index(FILTER(A1:A4, LEFT(A1:A4,1)="H"),COUNTA(FILTER(A1:A4, LEFT(A1:A4,1)="H")))

最新更新