FIND、FINDB 函数

网友投稿 418 2022-11-24

FIND、FINDB 函数

本文介绍MicrosoftExcel中FIND和FINDB函数的公式语法和用法。

说明函数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不能包含任何通配符。

如果find_text未显示在within_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

数据

CeramicInsulators#124-TD45-87

CopperCoils#12-671-6772

VariableResistors#116010

公式

描述(结果)

结果

=MID(A2,1,FIND(“#”,A2,1)-1)

FIND、FINDB 函数

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

CeramicInsulators

=MID(A3,1,FIND(“#”,A3,1)-1)

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

CopperCoils

=MID(A4,1,FIND(“#”,A4,1)-1)

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

VariableResistors

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SEARCH、SEARCHB 函数
下一篇:CONCAT 函数
相关文章