如何将条件格式公式转换为单元格范围的基于单元格的公式?

时间:2018-11-30 17:48:19

标签: google-sheets

这是我的下一个挑战,它与上一个挑战有关(在这里找到:This works for one cell - now how can I apply it to a range?)。

我最终得到了一个令人讨厌的条件格式公式,它似乎可以工作(也许是靠运气)……

=OR(ARRAYFORMULA(IF(ISNUMBER(SEARCH($B$18,D7)),SIGN(SEARCH($B$18,D7)),IF(ISNUMBER(SEARCH(SPLIT($B$19,","),D7)),SEARCH(SPLIT($B$19,","),D7)))))

对于任何单个目标单元格(在此示例中为D7),它返回true,并检查它是否包含B18中的字符串或B19中两个或多个字符串值之一(用逗号分隔)。

与前面的情况一样,我不知道如何将其转换为公式(数组公式?),该公式可以应用于范围(D3:D12)并计算满足条件的单元格数。

也许更好的问题是,优先于我上面引用的我弗兰肯斯坦的《怪物公式》解决这个问题的正确方法是什么!

任何人和所有见解都表示赞赏:)

1 个答案:

答案 0 :(得分:0)

假设B19中的值用逗号分隔,然后用空格隔开,请尝试:

=sum(ArrayFormula(--(REGEXMATCH(D3:D12, B18&"|"&SUBSTITUTE(B19, ", ", "|")))))

如果逗号后没有空格,请使用“,”代替“,”。 如果您希望匹配不区分大小写,请尝试:

=sum(ArrayFormula(--(REGEXMATCH(D3:D12, "(?i)"&B18&"|"&SUBSTITUTE(B19, ", ", "|")))))

看看是否可行?