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),但是不起作用?
可以使用什么公式,请指导。
答案 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 之类的东西。
要检查 05 ,请在公式中进行明显的替换。
EDIT#1:
要测试单个单元格,请使用:
=ISNUMBER(SEARCH(":" & "5" & ":",":" & A2 & ":"))
答案 2 :(得分:1)