这适用于一个单元格-现在如何将其应用于范围?

时间:2018-11-29 16:16:00

标签: google-sheets

我有以下公式,在一个单元格引用中效果很好。

=SUMPRODUCT(--ISNUMBER(SEARCH(SPLIT($B$20," "),C7)))=COUNTA(SPLIT($B$20," "))

问题是我只是无法确定如何使它适用于单元格范围。事实很可能是我已经超出了GSheets的能力极限,但这是...

单元格B20包含两个或更多单词的短语。如何搜索单元格C3:C12并返回包含所有单词的单元格的计数? (注意:我可以做到的不是短语匹配,而是短语中的所有单词,但顺序不限)。

对于任何见解将不胜感激。非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试一下

=SUM(ArrayFormula(--(MMULT(--iferror(regexmatch(split(C3:C12; " "); substitute(B20; " ";"|"))); TRANSPOSE(SPLIT(REPT("1_"; MAX(LEN(C3:C12)-LEN(SUBSTITUTE(C3:C12; " ";))+1)); "_")))>=COUNTA(SPLIT(B20; " ")))))

要使匹配不区分大小写,请尝试:

=SUM(ArrayFormula(--(MMULT(--iferror(regexmatch(split(C3:C12; " "); "(?i)"&substitute(B20; " ";"|"))); TRANSPOSE(SPLIT(REPT("1_"; MAX(LEN(C3:C12)-LEN(SUBSTITUTE(C3:C12; " ";))+1)); "_")))>=COUNTA(SPLIT(B20; " ")))))

注意:根据您的语言环境,您可能必须将半冒号更改为逗号。