检查单元格是否包含子字符串

geo*_*ory 221 excel excel-formula

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

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

gwi*_*003 365

试试这个:

=ISNUMBER(SEARCH("Some Text", A3))
Run Code Online (Sandbox Code Playgroud)

TRUE如果单元格A3包含,则返回Some Text.

  • 可能值得注意这个我不区分大小写,如果你想匹配大小写,你应该使用`FIND()`代替`SEARCH()` (20认同)
  • 是的我同意,如果有一个`CONTAINS("Text",cell)函数会很好. (18认同)
  • 狡猾!谢谢gwin003 :)我仍然有点惊讶,没有更直观的功能. (7认同)
  • 使用`,`而不是`;`得到错误.将提供的公式更改为`= ISNUMBER(SEARCH("Some Text"; A3))`它有效.谢谢! (7认同)
  • @renatov实际上取决于你的操作系统的_locale_; 特别是,用于"列表分隔符"的字符. (6认同)
  • 我最初坚持的事情:你真的需要使用`ISNUMBER`以及`SEARCH`.我在`IF`中使用了这个,然后得出:`= IF(ISNUMBER(搜索($ G $ 1,A73)),A73,B73) (2认同)
  • 代码太长了!如果(或(ISNUMBER(搜索(...),ISNUMBER(搜索(...)))疯狂阅读!!!应该是:如果(C4.Contains("某事物")或C4.Contains(" somethingelse"))所以它可以读取和维护. (2认同)

小智 22

以下公式确定单元格C10中是否显示文本"CHECK".如果没有,结果为空.如果是,结果是工作"检查".

=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Run Code Online (Sandbox Code Playgroud)


小智 12

对于那些想在IF语句中使用单个函数来做这个的人,我使用

=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
Run Code Online (Sandbox Code Playgroud)

查看子字符串TEXT是否在单元格A1中

[注意:文本周围需要有星号]


War*_*ens 10

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

=SUBSTITUTE(A1,"SomeText","") <> A1
Run Code Online (Sandbox Code Playgroud)

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

其他答案中提到的IsNumber/Search和IsError/Find公式确实有效,但我总是发现自己需要经常查看帮助或在Excel中进行实验.


par*_*shi 8

FIND()在Excel中查看该功能.

句法:

FIND( substring, string, [start_position])
Run Code Online (Sandbox Code Playgroud)

#VALUE!如果找不到子字符串,则返回.