本文介绍 Microsoft Excel 中 FINDFINDB 函数的公式语法和用法。

说明

函数 FIND 和 FINDB 用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。

重要: 

  • 这些函数可能并不适用于所有语言。

  • FIND 适用于使用单字节字符集 (SBCS) 的语言,而 FINDB 适用于使用双字节字符集 (DBCS) 的语言。 您的计算机上的默认语言设置对返回值的影响方式如下:

  • 无论默认语言设置如何,函数 FIND 始终将每个字符(不管是单字节还是双字节)按 1 计数。

  • 当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,FINDB 会将每个双字节字符按 2 计数。 否则,FINDB 会将每个字符按 1 计数。

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

语法

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。

备注

  • FIND 和 FINDB 区分大小写,并且不允许使用通配符。 如果您不希望执行区分大小写的搜索或使用通配符,则可以使用 SEARCH 和 SEARCHB 函数。

  • 如果 find_text 为空文本 (""),则 FIND 会匹配搜索字符串中的首字符(即编号为 start_num 或 1 的字符)。

  • Find_text 不能包含任何通配符。

  • 如果within_text中未显示find_text,FIND 和 FINDB 将返回 #VALUE! 。

  • 如果start_num不大于零,FIND 和 FINDB 将返回 #VALUE! 。

  • 如果start_num大于within_text的长度,FIND 和 FINDB 将返回 #VALUE! 。

  • 可以使用 start_num 来跳过指定数目的字符。 以 FIND 为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的编号,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分。 FIND 从第 8 个字符开始查找,在下一个字符处找到 find_text,然后返回其编号 9。 FIND 始终返回从 within_text 的起始位置计算的字符编号,如果 start_num 大于 1,则会对跳过的字符计数。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

数据

Miriam McGovern

公式

说明

结果

=FIND("M",A2)

单元格 A2 中第一个“M”的位置

1

=FIND("m",A2)

单元格 A2 中第一个“m”的位置

6

=FIND("M",A2,3)

从单元格 A2 的第三个字符开始查找第一个“M”的位置

8

示例 2

数据

Ceramic Insulators #124-TD45-87

Copper Coils #12-671-6772

Variable Resistors #116010

公式

描述(结果)

结果

=MID(A2,1,FIND(" #",A2,1)-1)

提取单元格 A2 中从第一个字符到“#”的文本 (Ceramic Insulators)

Ceramic Insulators

=MID(A3,1,FIND(" #",A3,1)-1)

提取单元格 A3 中从第一个字符到“#”的文本 (Copper Coils)

Copper Coils

=MID(A4,1,FIND(" #",A4,1)-1)

提取单元格 A4 中从第一个字符到“#”的文本 (Variable Resistors)

Variable Resistors

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。