是否有一个内置的函数来检查单元格是否包含给定的字符/子字符串?

这意味着您可以在条件基础上应用Left/Right/Mid等文本函数,而不会在没有分隔字符时抛出错误。


当前回答

这是一个老问题,但我认为它仍然有效。

既然没有CONTAINS函数,为什么不在VBA中声明它呢? 下面的代码使用VBA Instr函数,它在字符串中查找子字符串。如果没有找到该字符串,则返回0。

Public Function CONTAINS(TextString As String, SubString As String) As Integer
    CONTAINS = InStr(1, TextString, SubString)
End Function

其他回答

我喜欢冰场。6回答。我实际上想检查多个字符串,是这样做的:

首先是这种情况:名称可以是房屋建筑商或社区名称,我需要将建筑商作为一个组。为了做到这一点,我正在寻找“建造者”或“建筑”等词。所以- - -

=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")

试试这个:

=ISNUMBER(SEARCH("Some Text", A3))

如果单元格A3包含一些文本,则返回TRUE。

这是我用的公式

=如果(ISNUMBER(找到(“。”,A1)), LEN (A1)——找到(“。”,A1), 0)

查看Excel中的FIND()函数。

语法:

FIND( substring, string, [start_position])

#返回值!如果它没有找到子字符串。

这个公式对我来说更直观:

=SUBSTITUTE(A1,"SomeText","") <> A1

如果"SomeText"包含在A1中,则返回TRUE。

其他答案中提到的IsNumber/Search和IsError/Find公式当然有用,但我总是发现自己需要查看帮助或经常在Excel中试验这些公式。