使用COUNTIF函数和子字符串功能或自定义比较

时间:2018-06-13 11:24:42

标签: excel excel-formula

我可以使用COUNTIF函数为B列着色/运行逻辑: (我正在检查元素B是否是任何元素A的子串)

= COUNTIF($ A $ 1:$ A $ 10,“”& B1&“”)> 0

test1a  a   TRUE
test2b  b   TRUE
test3cd c   TRUE
e       g   FALSE
f       h   FALSE

如果我想以相反的方式使用这个公式(我需要这个用于颜色格式化) 我想做这样的事情:

= COUNTIF(A1,“”&($ B $ 1:$ B $ 10)&“”)> 0

  • 如果B中的任何元素是我当前元素A的子字符串

是否可以为COUNTIF功能

应用自定义比较

更好的例子(我可以实现的是1,0,我需要的是真/假 - 已在下面得到解答):

test1a  a   1   TRUE
test2b  xx  0   TRUE
test3cd b   1   FALSE
e       g   0   FALSE
f       h   0   FALSE

5 个答案:

答案 0 :(得分:1)

当criteria参数是值数组时,公式将返回一个数组。然后,您必须将结果SUM以获得匹配数。例如:

=SUMPRODUCT(COUNTIF(A1,"*"&$B$1:$B$5&"*"))>0

SUMPRODUCT允许您在不使用ctrl + shift + enter

输入的情况下执行此操作

如果您不介意CSE序列,可以使用类似

的内容
=SUM(COUNTIF(A1,"*"&$B$1:$B$5&"*")) > 0

甚至:

=OR(COUNTIF(A1,"*"&$B$1:$B$5&"*"))
Excel中的

0 = FALSE,正整数= TRUE

答案 1 :(得分:0)

如果B中的任何元素是我当前元素的子字符串A =>这个公式不起作用吗?

COUNTIF($B$1:$B$10, "*"&A1&"*")>0

答案 2 :(得分:0)

使用数组公式

=LEN(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B1:B10,A1)),B1:B10,"")))>0

enter image description here

必须使用 Ctrl + Shift + 输入输入

数组公式,而不仅仅是 Enter 键。如果这样做正确,公式将在公式栏中以大括号显示。

在这种情况下,我们得到 True ,因为 A1 中的字符串包含单词 big

答案 3 :(得分:0)

将其作为数组公式输入( ctrl + shift + 输入):

=COUNTIF(A1,"*"&B1:B10&"*")

答案 4 :(得分:0)

尽管我非常喜欢@ Gary的学生,但他的答案很多。它也可以通过稍微缩短的公式来实现,如:

=SUMPRODUCT(COUNTIF(RNG,"*"&SUBSTRING&"*"))>0

你的例子:

=SUMPRODUCT(COUNTIF(A1,"*"&B1:B5&"*"))>0

将返回

True