是否有一个内置的函数来检查单元格是否包含给定的字符/子字符串?
这意味着您可以在条件基础上应用Left/Right/Mid等文本函数,而不会在没有分隔字符时抛出错误。
是否有一个内置的函数来检查单元格是否包含给定的字符/子字符串?
这意味着您可以在条件基础上应用Left/Right/Mid等文本函数,而不会在没有分隔字符时抛出错误。
当前回答
这个公式对我来说更直观:
=SUBSTITUTE(A1,"SomeText","") <> A1
如果"SomeText"包含在A1中,则返回TRUE。
其他答案中提到的IsNumber/Search和IsError/Find公式当然有用,但我总是发现自己需要查看帮助或经常在Excel中试验这些公式。
其他回答
这是一个老问题,但我认为它仍然有效。
既然没有CONTAINS函数,为什么不在VBA中声明它呢? 下面的代码使用VBA Instr函数,它在字符串中查找子字符串。如果没有找到该字符串,则返回0。
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
对于那些希望在IF语句中使用单个函数来完成此操作的人,我使用
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
查看子字符串TEXT是否在单元格A1中
[注意:TEXT需要带星号]
有趣的*
=COUNT(MATCH("*SomeText*",A1,))
=COUNTA(VLOOKUP("*SomeText*",A1,1,))
=COUNTA(HLOOKUP("*SomeText*",A1,1,))
如果“SomeText”包含在A1中,则返回1。
这是我用的公式
=如果(ISNUMBER(找到(“。”,A1)), LEN (A1)——找到(“。”,A1), 0)
下面的公式确定文本“CHECK”是否出现在单元格C10中。如果没有,则结果为空白。如果是这样,结果就是工作“CHECK”。
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")