从逗号分隔值中搜索完全匹配项

Searching Exact Match From Comma-Separated Values

提问人:Poki Resident 提问时间:7/5/2022 最后编辑:Poki Resident 更新时间:7/5/2022 访问量:227

问:

我真的希望有人能帮忙,我有一个谷歌表格,可以选择多个时间选项,而在谷歌表格中,这显示为逗号分隔。我想将数据分成与所选时间完全匹配的列,返回列中的内容并按它们可以执行的操作进行过滤,这需要一个 以便任何新条目自动排序AARRAYFORMULAR

A= Memeber 的名字

B= 逗号分隔数据

C= 掷骰子或天赋

D:O= 从中午 12 点到上午 11 点的不同时间

如果我使用拆分功能并且有人选择时间下午 5 点开始,然后是下午 5 点,D 列应该是中午 12 点,使用 Match 似乎并没有告诉我我只能引用单列或单行。

这就是我现在所拥有的,在大多数情况下,它都可以工作,除非 CSV 数据有人声明他们在中午 12 点可用,然后它会在中午 12 点和下午 2 点两列中显示它们,它们只需要出现在中午 12 点

如果数据包含匹配时间,并且 D 列中的人员是歌手或艺人,我希望结果为 A 列

=ARRAYFORMULA(IFERROR(FILTER($A$2:$A, SEARCH(TEXT($D$1, "H AM/PM"),$B$2:$B), ($C$2:$C = "SINGER") + ($C$2:$C = "Entertainer")),""))

示例表

结果图像

这主要返回我想要的内容,但搜索不是完全匹配的,测试 5 有中午 12 点而不是下午 2 点,但也显示在下午 2 点。

搜索 过滤器 匹配 查找

评论

0赞 Mike Steelson 7/5/2022
获得一个最小的可重现示例可能会有所帮助!
0赞 Poki Resident 7/5/2022
嗨,迈克,我不太擅长这些东西,但这里有一个示例表,您可以查看 - 示例表

答:

0赞 Mike Steelson 7/5/2022 #1

在 E2 中,向右拖动

=iferror(query(arrayformula(trim(split(flatten($A$2:$A&"~"&split($B$2:$B,",")&"~"&$C$2:$C),"~"))),"select Col1 where Col2='"&to_text(value(E$1))&"' and Col3='Example 2' ",0))

enter image description here

评论

0赞 Poki Resident 7/6/2022
您先生非常感谢您的帮助,因为您的基本答案仍然只给出了一个结果,但是在OR查询中添加给了我想要的结果=iferror(query(arrayformula(trim(split(flatten($A$2:$A&"~"&split($B$2:$B,",")&"~"&$C$2:$C),"~"))),"select Col1 where Col2='"&to_text(value(F$1))&"' and (Col3='Example 2' or Col3='Example 1') ",0))