获取具有范围内匹配条件的行的所有结果

时间:2019-05-28 15:01:49

标签: google-sheets

正如另一个问题所述,我在一些Discord服务器上,这些服务器允许玩家拍卖游戏中的内容进行交易。使用工作表跟踪我自己的拍卖,我将标签(名称#xxxx)和ID(长号)复制到列表中,这样我就可以过滤掉未能参加成功拍卖的任何人。

我现在打算做的有两点。

其中之一是自动获得重复ID的列表,这些ID具有不同的标记(有人更改了名称)。该列表将在一个单元格中显示ID号,然后在下一个单元格中显示其已使用的所有标签(使用textJoin()sort()使其更易于阅读)。

第二个方法是根据ID的单独列表(未遵循的已知用户列表)获取使用的标签列表。

我尝试使用vlookup()filter()query()和常规lookup()失败。当我尝试filter()使用列表时,似乎只看第一个项目,但之后忽略任何内容。如果我尝试扩展列表的长度(而不是F2,而是使之成为F2:F),它将变成红色,将不起作用。

使用条件格式,我可以使重复项在范围内突出显示。但是,我正在尝试进一步并检索匹配项。有点像自动过滤系统,可以显示已知的重复项。

我在这里没想什么?

编辑: 这是一些虚拟信息,可以给您一个想法...

Alred         970192322624802134
Barry         493288047120884104
Clark         648567312202297155
Dick          336368714780211631
Enigma        513446866409315771
Flash         493288047120884104
Green Arrow   382294342593163268
Harley        894386762337961412
Ivy           192571739320652789
Jimmy         662344040550649441
Krypto        944264752128564134
Lois          608531705193876711
Mera          461451144314768165
Nyssa         533348352505340666
Oliver        382294342593163268
Perry         877529730964781752
Robin         336368714780211631
Superman      648567312202297155
Thomas        969367121152160055

显然,名称中会带有#号,后跟4位数字,但这与这无关。

从列表中可以看到,某些ID(数字列)相同,但名称不同。

因此,目标是要有一个单独的列,以查找重复的ID,然后列出所有具有该匹配ID的名称。

示例:

648567312202297155   Clark, Superman
336368714780211631   Dick, Robin
382294342593163268   Green Arrow, Oliver
etc

第二个是ID列表,其中匹配的ID将显示所有匹配的名称。有点像上面列出的具有多个条目的ID,然后使用该列表查找名称,除了ID列表可以通过其他方式生成。要将其分解为两个简化的任务...一个查找重复的ID,并简单地列出这些ID(每个一次),然后另一个查找那些ID,并列出所有匹配的条目(即名称)。

编辑: 此链接是我正在尝试执行的操作的示例,但不适用于我。 Google Sheet Query - Group / concatenate multiple rows

我有A(A2:A)=名称/标签,B(B2:B)= ID,F(F2:F)=要过滤的ID。 当我尝试=join(",",filter(A:A,B:B=F2))时,它返回第一个条目,但随后停止。

此外,当我尝试模拟其他页面(值和公式)时,它仅返回Bill(红色,蓝色,黄色)的结果,而不返回Sarah的结果。

通过模拟,我的意思是我添加了一张空白纸,并填充了如图所示的值和公式。

2 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则您正在尝试将用户名与列中的一系列用户名进行匹配,以查看其是否匹配。

一种方法是在查询中使用match,例如:

=QUERY("Charleston!A2:H"," where Col6 matches '" & join("|", A2:A246) & "' Order By Col8")

如果这样做没有帮助,请提供一些用例以及您的代码(如果可以)。

答案 1 :(得分:0)

该解决方案将功能TEXTJOINARRAYFORMULA结合在一起。根据示例数据,您可以使用UNIQUE公式创建唯一用户ID的列表。因此,单元格D1具有=UNIQUE($B$1:$B$19)。这将填充D列中的数据。

E列中的公式然后使用ARRAYFORMULA将B列中的每个唯一用户ID与A列中的任何名称匹配,以返回所有名称,然后使用{{1 }}。 E列中的公式为

TEXTJOIN

enter image description here