Google 表格 - 查找所有出现的目标超过 2d RANGE,找到时选择行中的其他值

问题描述 投票:0回答:1

请看附件例子:Sheets Example

对于此示例,假设我们收到第一个选项卡(奖项列表)作为数据。 A 列是奖项名称,C 列到 E 列代表每个奖项最多 3 位可能的获奖者。

假设我们在第二个选项卡中也有 A 列(每人的奖项),其中该列是所有奖项标题的列表。

我想为您在 C 列中看到的数据编写一个公式。该公式将在“Awards Per Person”选项卡中的 A 列中的名称中,通过“Awards”选项卡中的 C 列到 E 列搜索所有出现的名称列表”,并生成一个单元格列表,列出“每人获奖”中 A 列中的名称所获得的所有奖项,如上面的链接所示。

谢谢!

我一直在修补 vlookup、索引/匹配、textjoin 等,但运气为零——我认为是因为搜索区域是二维的,而不是单个列或行。没有宏/代码我可以用什么方法做到这一点?

google-sheets search filter
1个回答
0
投票

您可以使用 MAP 遍历每个名称,使用 FILTER 查找奖项,并在其中使用 BYROW 查看每行中是否与名称匹配。然后 TEXTJOIN 将连接值:

=MAP(A3:A, LAMBDA(name,IF(name="","",TEXTJOIN(", ",1,FILTER('Awards List'!A3:A,BYROW('Awards List'!C3:E, LAMBDA(r,IFNA(MATCH(name, r,0),0))))))))

© www.soinside.com 2019 - 2024. All rights reserved.