本主题针对 FIND/FINDB 和 SEARCH/SEARCHB 函数出现 #VALUE! 错误的最常见情况提供了相关帮助。
有关 FIND 和 SEARCH 函数的一些须知事项
- FIND 和 SEARCH 函数非常相似。 二者的运行方式相同 - 在一个文本字符串中找出一个字符或另一个文本字符串。 这两个函数的区别在于 FIND 要分大小写,而 SEARCH 不分大小写。 因此如果不希望在文本字符串中匹配大小写,请使用 SEARCH。
- 如果希望函数基于指定的字符数返回字符串,请结合使用 MID 函数与 FIND。 可在 FIND 帮助主题中找到结合使用 MID 和 FIND 的信息和示例。
- 这些函数的语法是相同的,均为 find_text, within_text, [start_num])。 简单来说,该语法表示想要查找什么?想在何处查找?想从什么位置开始?
问题:在 within_text 字符串中找不到 find_text 参数中的值
如果函数找不到需在指定文本字符串中找到的文本,则将出现 #VALUE! 错误。
例如,如下所示函数:
- =FIND("gloves","Gloves (Youth)",1)
会引发 #VALUE! 错误,因为字符串中没有匹配的“gloves”,但是有“Gloves”。 请记住,FIND 要区分大小写,因此请确保 find_text 中的值与 within_text 参数中的字符串完全匹配。
但是,下面的 SEARCH 函数将返回值 1,因为它不区分大小写:
- =SEARCH("gloves","Gloves (Youth)",1)
解决方案:按需更正语法。
问题:start_num 参数设置为零 (0)
start_num 参数是可选参数,如果省略,默认值将被假定为 1。 但是,如果语法中存在该参数,并且参数值设置为 0,则会出现 #VALUE! 错误。
解决方案:如果不需要 start_num 参数,请将其删除或将其设置为合适的值。
问题:start_num 参数大于 within_text 参数
例如,以下函数:
- =FIND(“s”,”Functions and formulas”,25)
在“Functions and formulas”字符串(within_text)中从第 25 个字符(start_num)处开始查找“s”,但返回 #VALUE! 错误,因为字符串中只有 22 个字符。
提示
若要确定文本字符串中的总字符数,请使用 LEN 函数
解决 方案: 根据需要更正起始编号。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。