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)
    提取单元格A2中从第一个字符到“#”的文本(CeramicInsulators)
    CeramicInsulators
    =MID(A3,1,FIND(“#”,A3,1)-1)
    提取单元格A3中从第一个字符到“#”的文本(CopperCoils)
    CopperCoils
    =MID(A4,1,FIND(“#”,A4,1)-1)
    提取单元格A4中从第一个字符到“#”的文本(VariableResistors)
    【FIND、FINDB 函数】VariableResistors

      推荐阅读