天天看点

Excel常用函数之Find函数

作者:Excel日记本

Find和FINDB函数

  1. 公式解析
  2. 官方说明:函数 FIND 和 FINDB用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。
  • 这些函数可能并不适用于所有语言。
  • FIND 适用于使用单字节字符集 (SBCS) 的语言,而 FINDB 适用于使用双字节字符集 (DBCS) 的语言。 您的计算机上的默认语言设置对返回值的影响方式如下:
  • 无论默认语言设置如何,函数 FIND 始终将每个字符(不管是单字节还是双字节)按 1 计数。
  • 当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,FINDB 会将每个双字节字符按 2 计数。 否则,FINDB 会将每个字符按 1 计数。

支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

  1. 语法

FIND(find_text, within_text, [start_num])

FINDB(find_text, within_text, [start_num])

FIND 和 FINDB 函数语法具有下列参数:

  • find_text 必需。 要查找的文本。
  • within_text 必需。 包含要查找文本的文本。
  • start_num 可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。
  1. 难度级别:★☆☆☆☆
  2. 基础用法举例

题目一:查找EXCEL所在位置

公式写法:=FIND("EXCEL",A2)

Excel常用函数之Find函数

公式解析:find函数如果能查找到目标值的话,就会显示目标值在查找文本的位置,如上图,"EXCEL"的所在位置就是1.如果未查找到的话,就会显示#VALUE!。

题目二:查大写E第二次出现的位置

公式写法:=FIND("E",A3,2)

Excel常用函数之Find函数

公式解析:大写E第一次出现的位置索引是1,查找第二次的话,就把开始位置指在1之后,从2开始。

  1. 扩展用法举例

在上面的例子中,如果没有查到结果值显示#VALUE!是不太友好的,为了规避这个显示,就需要其它函数,结合起来使用。

①ISNUMBER函数,这个函数只有一个参数,并且函数只有一个作用,就是判断输入的内容是否为数字。除了数字返回TRUE外,其它都返回FALSE.

公式写法:=ISNUMBER(B3)

Excel常用函数之Find函数

②使用IF,ISNUMBER和FIND函数完成题目一的需求

公式写法:=IF(ISNUMBER(FIND("EXCEL",A2)),FIND("EXCEL",A2),"不存在")

Excel常用函数之Find函数

公式解析:使用ISNUMBER判断FIND返回的是否为数值,如果是数值则显示查询到的位置,不为数值,则显示文本“不存在”。

  1. 总结
  • 如果 find_text 为空文本 (""),则 FIND 会匹配搜索字符串中的首字符(即编号为 start_num 或 1 的字符)。
  • Find_text 不能包含任何通配符。
  • 如果find_text中未显示within_text,则 FIND 和 FINDB 返回#VALUE! 错误值。
  • 如果start_num不大于零,则 FIND 和 FINDB 返回#VALUE! 错误值。
  • 如果start_num大于最大长度,则 FIND within_text FINDB 返回#VALUE! 错误值。
  • 可以使用 start_num 来跳过指定数目的字符。 以 FIND 为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的编号,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分。 FIND 从第 8 个字符开始查找,在下一个字符处找到 find_text,然后返回其编号 9。 FIND 始终返回从 within_text 的起始位置计算的字符编号,如果 start_num 大于 1,则会对跳过的字符计数。
  1. 常见问题
  • FIND 和 FINDB 区分大小写,并且不允许使用通配符。 如果您不希望执行区分大小写的搜索或使用通配符,则可以使用 SEARCH 和 SEARCHB 函数。

继续阅读