这是我的下一个挑战,它与上一个挑战有关(在这里找到: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)并计算满足条件的单元格数。>
也许更好的问题是,优先于我上面引用的我弗兰肯斯坦的《怪物公式》解决这个问题的正确方法是什么!
任何人和所有见解都表示赞赏:)
答案 0 :(得分:0)
假设B19中的值用逗号分隔,然后用空格隔开,请尝试:
=sum(ArrayFormula(--(REGEXMATCH(D3:D12, B18&"|"&SUBSTITUTE(B19, ", ", "|")))))
如果逗号后没有空格,请使用“,”代替“,”。 如果您希望匹配不区分大小写,请尝试:
=sum(ArrayFormula(--(REGEXMATCH(D3:D12, "(?i)"&B18&"|"&SUBSTITUTE(B19, ", ", "|")))))
看看是否可行?