检查具有多个数字的单元格是否包含特定值

时间:2019-10-26 12:51:05

标签: excel

I have a column A with the values 
Col A

A1   1:2:3:3
A2   2:3:4:5
A3   1:04:05

在ColumnA的excel中,我必须检查单元格A1,A2,A3中是否有任何包含数字5或05的单元格。如果为true,则必须返回true。对于上述条件,如何在excel中获取公式?我尝试使用Search(“ 5”,A1),但是不起作用?

可以使用什么公式,请指导。

3 个答案:

答案 0 :(得分:2)

如果您使用的是 Excel 2013 或更高版本,则可以使用以下公式:

=SUMPRODUCT(--(FILTERXML("<b><a>["&SUBSTITUTE(A1,":","]</a><a>[")&"]</a></b>","//a")={"[5]","[05]"}))>0

将其向下拖动即可应用。

  

逻辑是使用 SUBSTITUTE 函数将每个字符串转换为有效的xml脚本,例如"<b><a>[1]</a><a>[2]</a><a>[3]</a><a>[3]</a></b>"代表1:2:3:3

     

然后使用 FILTERXML 函数将字符串转换为由:冒号分隔的值范围,例如{"[1]";"[2]";"[3]";"[3]"}。为了精确匹配,我为范围内的每个值添加了特殊符号[]

     

最后将范围与{"[5]","[05]"}比较,并使用 SUMPRODUCT 从比较中找出是否至少有一个匹配项或TRUE。如果找到>0,即至少找到一个匹配项,则返回TRUE,否则返回FALSE


编辑#2

如果您没有访问 FILTERXML 函数的权限,则还可以尝试以下公式:

=SUMPRODUCT(IFERROR(FIND({"[5]","[05]"},"["&SUBSTITUTE(A1,":","][")&"]"),0))>0
  

逻辑相似,首先使用 SUBSTITUTE 函数将字符串1:2:3:3转换为"[1][2][3][3]",然后使用 Find 函数查找是否该字符串包含以下任何{"[5]","[05]"},最后使用 SUMPRODUCT 函数返回结果,如果>0则返回TRUE,否则返回FALSE。 / p>

如果您有任何疑问,请告诉我。这是我测试过的字符串:

| Strings            | Result |
|--------------------|--------|
| 1:2:3:3            | FALSE  |
| 2:3:4:5            | TRUE   |
| 1:04:05            | TRUE   |
| 005:50:15:25:55    | FALSE  |
| 505:550:500:05a:O5 | FALSE  |

答案 1 :(得分:1)

要查看单元格集中是否存在 5 ,请使用:

=ISNUMBER(SEARCH(":5:",";" & TEXTJOIN(":",TRUE,A1:A3) & ":"))

这将找到 5 ,但要避免使用 55 之类的东西。

enter image description here

要检查 05 ,请在公式中进行明显的替换。

EDIT#1:

要测试单个单元格,请使用:

=ISNUMBER(SEARCH(":" & "5" & ":",":" & A2 & ":"))

enter image description here

答案 2 :(得分:1)

尝试这些:

enter image description here

“ *”是通配符...

或:

enter image description here

相关问题