Excel筛选函数包含用于筛选的不同数组

s6fujrry  于 2023-06-07  发布在  其他
关注(0)|答案(4)|浏览(262)

我想做一个过滤器函数,但是criteria的数组引用了不同的单元格

这里有一个例子
我的数组是C3:C17,我想根据A3:A5中的列表过滤这个数组上的名称。

=FILTER(HSTACK($C$3:$D$17),C3:C17=A3:A17)

我期望返回Agent 1、5和10以及它们在单元格F3上对应的Leader,但公式只返回1个结果,即Agent 1和Leader 1
预期/期望结果

qcbq4gxm

qcbq4gxm1#

使用ISNUMBERXMATCH

=FILTER(C3:D17,ISNUMBER(XMATCH(C3:C17,A3:A5)))

m1m5dgzv

m1m5dgzv2#

另一种选择:**BigBen**先生很快,否则我会选择ISNUMBER()XMATCH()

·单元格F3中使用的公式

=FILTER(C3:D17,MMULT(N(C3:C17=TOROW(A3:A5)),SEQUENCE(ROWS(A3:A5))))

为了避免名册中的其他更改,这将使用TOROW()DROP()函数工作:->第一个用于排除空白,而后者用于排除顶部2行。

·单元格F3中使用的公式

=LET(α,TOROW(DROP(A:A,2),1),
FILTER(C3:D17,MMULT(N(α=C3:C17),SEQUENCE(COLUMNS(α)))))
zte4gxcn

zte4gxcn3#

使用INDEX/XMATCH过滤

  • 请注意,只有当您希望返回与'lookup'列(A)中的值一样多的结果时,这种简化才有效。如果在列C中没有重复。否则,您需要使用FILTER并切换XMATCH参数,即像大本钟那样回答问题。
  • 请注意,您不需要变量lsdrdc,即你可以把所有的都写在一长行里它们只是用来更好地理解正在发生的事情,即。让它更易读。
=LET(lrg,A3:A17,srg,C3:D17,sc,1,
    l,TOCOL(lrg,3),s,INDEX(srg,,sc),
    dr,XMATCH(l,s),dc,SEQUENCE(,COLUMNS(srg)),
IFERROR(INDEX(srg,dr,dc),""))
w7t8yxp5

w7t8yxp54#

另一种选择:

F3中的公式:

=FILTER(C3:D17,COUNTIF(A3:A5,C3:C17))

简单地说(但很慢):

=FILTER(C:D,COUNTIF(A3:A5,C:C))

相关问题