我有一张有以下数据的表格:
| Text | Value | Value | Value |
|:----------------------------------------|:---------|:---------|:---------|
|Jax and Jax friend Kung Lao fight Raiden | jax | kung lao | raiden |
|Jax and Jax friend Kung Lao fight Raiden | kitana | kung lao | raiden | 以及下列公式:
=SUMPRODUCT( -- ISNUMBER(SEARCH(B1:D1;A1)))=COUNTA(B1:D1)
=SUMPRODUCT( -- ISNUMBER(SEARCH(B2:D2;A2)))=COUNTA(B2:D2)返回:
TRUE
FALSE这正如期而至。我在文本单元格中找到了所有值的真,如果缺少一个或全部,则得到FALSE。
现在,我想修改它,而不是在多个单元格中搜索,我只想在一个逗号分隔的单元格中搜索。如下所示:
| Text | Values | Formula |
|:----------------------------------------|:-----------------------|:--------|
|Jax and Jax friend Kung Lao fight Raiden | jax,kung lao,raiden | TRUE |
|Jax and Jax friend Kung Lao fight Raiden | kitana,kung lao,raiden | FALSE |我试过用=SUMPRODUCT( -- ISNUMBER(SEARCH({B2};A2)))=COUNTA({B2}),但它不起作用。
发布于 2018-07-02 00:01:05
尝试拆分逗号分隔列表,并像使用单元格范围一样使用拆分数组。
=SUMPRODUCT(--isnumber(search(split(B2, ",", true, true), A2)))=counta(split(B2, ",", true, true))
'full word search
=SUMPRODUCT(--isnumber(search(text(split(B2, ",", true, true), " @ "), text(A2, " @ "))))=counta(split(B2, ",", true, true))

发布于 2018-07-03 14:26:38
另见:
=AND(ARRAYFORMULA(REGEXMATCH(A1,"(?i)"&SPLIT(B1,",")&"( |$)")))
(?i) -不区分大小写( |$) -文本的空格或结尾,只匹配整个单词。细胞ArrayFormula变异C1:
=ArrayFormula(TRANSPOSE(NOT(REGEXMATCH(QUERY(TRANSPOSE(filter(REGEXMATCH(A:A,"(?i)"&SPLIT(B:B,",")&"( |$)"),A:A<>"")),,10^99),"FALSE"))))https://stackoverflow.com/questions/51127795
复制相似问题