如何搜索范围内的多个名称和 excel 中的 return 条记录?

How to search multiple names from a range and return multiple records in excel?

我试过在SO上搜索,肯定没有找到类似问题的解决方案,可能是我没有用正确的词来搜索。

因此,A 列和 B 列是我的数据库,D 列显示我需要作为输出的那些代表姓名。我已经尝试将 FILTERSEARCH & ISNUMBER 函数一起使用,但它 returns 只有一个

=FILTER($A:$B,ISNUMBER(SEARCH($D:$D,$A:$A))=TRUE)

显示的图像:

编辑 -- 07-05-2022

尝试使用下图所示的公式,

• 单元格 F2 中使用的公式 --> 适用于 Excel 2021 和 O365 用户

=FILTER(A2:B13,MMULT(--ISNUMBER(SEARCH(TRANSPOSE(D2:D4),A2:A13)),ROW(D2:D4)^0)=1)

• 公式可用于单元格 F2 --> 适用于所有 Excel 用户,除了 Excel 2007

=IFERROR(INDEX($A:$B,
AGGREGATE(15,6,(ROW($A:$A)-ROW($A)+1)/
ISNUMBER(SEARCH(TRANSPOSE($D:$D),$A:$A)),
ROW($A1)),{1,2}),"")

并向下填充!


还有两个选择,

=LET(list,A2:B13,
p,A2:A13,
q,D2:D4,
x,--BYROW(p,
LAMBDA(a,(SUM(COUNTIF(a,"*"&q&"*"))>0))),
FILTER(list,x=1))

=LET(list,A2:B13,
p,A2:A13,
q,D2:D4,
x,MAP(p,LAMBDA(a,IF(SUM(COUNTIF(a,"*"&q&"*"))>0,a,""))),
FILTER(list,x<>""))