【发布时间】:2021-02-02 14:11:30
【问题描述】:
我希望能够返回 B 列中所示的 [cat,dog]。这更像是一个 POC,但对于我面临的主要挑战,单元格 A1 中将有未知数量的值。我不确定是否有办法通过 vlookup 来做到这一点,或者是否有更好的方法来做到这一点。
【问题讨论】:
标签: arrays google-sheets google-sheets-formula array-formulas textjoin
我希望能够返回 B 列中所示的 [cat,dog]。这更像是一个 POC,但对于我面临的主要挑战,单元格 A1 中将有未知数量的值。我不确定是否有办法通过 vlookup 来做到这一点,或者是否有更好的方法来做到这一点。
【问题讨论】:
标签: arrays google-sheets google-sheets-formula array-formulas textjoin
猜测可能有不止一种犬科动物(dog、dog2、...),并且应该全部归还:
= "["
& JOIN(
",",
QUERY(
A3:B11,
"SELECT B
WHERE A MATCHES '^(?:" & JOIN("|", UNIQUE(SPLIT(A1, "[,]"))) & ")$'
ORDER BY B",
0
)
)
& "]"
我们只是使用MATCHES 过滤掉与正则表达式^feline|canine|...$ 和QUERY 不匹配的所有内容,并用逗号将其连接起来。
正则表达式在此构造(只是由|连接的唯一词):
'^(?:" & JOIN("|", UNIQUE(SPLIT(A1, "[,]"))) & ")$'
【讨论】: