如何更正 FIND/FINDB 和 SEARCH/SEARCHB 函数的 #VALUE! 错误

本主题针对 FIND/FINDB 和 SEARCH/SEARCHB 函数出现 #VALUE! 错误的最常见情况提供了相关帮助。

有关 FIND 和 SEARCH 函数的一些须知事项

  • FINDSEARCH 函数非常相似。二者的运行方式相同 - 在一个文本字符串中找出一个字符或另一个文本字符串。这两个函数的区别在于 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 社区论坛中发布问题

帮助我们改进 Excel

是否有关于如何改进下一版 Excel 的建议?如果有,请查看 Excel User Voice 上的主题。

另请参阅

更正 #VALUE! 错误

FIND/FINDB 函数

SEARCH/SEARCHB 函数

Excel 中的公式概述

如何避免损坏的公式

使用错误检查功能检查公式中的错误

所有 Excel 函数(按字母顺序)

所有 Excel 函数(按类别)

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×