FIND函数
函数功能
FIND函数用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。
函数语法
FIND(find_text, within_text, [start_num])
参数解释
find_text:必需。表示要查找的文本。
within_text:必需。表示包含要查找文本的文本。
start_num:可选。表示指定要从其开始搜索的字符。within_text中的首字符是编号为1的字符。如果省略start_num,则默认其值为1。
实例1 提取出公司名称
当前数据表的A列中包括地区、公司名称、公司代表姓名。利用MID函数配合FIND函数可以提取出中间的公司名称并显示在B列中。
➊ 选中B2单元格,在公式编辑栏中输入公式:
=MID(A2,FIND(“-“,A2)+1,FIND(“-“,A2,FIND(“-“,A2)+1)-1-FIND(“-“,A2))
按“Enter”键即可提取A2单元格中间部分的公司名称。
➋ 将光标移到B2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可快速提取出其他公司名称,如图1所示。
图1
公式解析
①在A2单元格中查找“-”的位置,并确定从第一个“-”的位置加上1的位置即是公司名称开始的位置。
②确定第二个“-”的位置,并将此位置减去1再减去第一个“-”的位置,即可得到两个“-”之间的字符个数。
③ 使用MID函数从步骤①结果开始提取,共提取步骤②结果的字符数。
实例2 分离7位、8位混合显示的电话号码的区号与号码
表格C列中电话号码的位数有7位,也有8位(区号为3位或4位),下面需要分别提取出联系方式的区号和具体的号码。
➊ 选中C2单元格,在公式编辑栏中输入公式:
=MID(B2,1,FIND(“-“,B2)-1)
按“Enter”键并向下复制C2单元格的公式,即可从B列的联系方式中提取出区号,如图2所示。
图2
➋ 选中D2单元格,在公式编辑栏中输入公式:
=RIGHT(B2,LEN(B2)-FIND(“-“,B2))
按“Enter”键即可返回区号后的号码。向下复制D2单元格的公式,即可从B列电话号码中提取出号码,如图3所示。
图3
公式解析
①使用FIND函数在B2单元格中确定“-”的位置,并将此位置减去1,即可得到“-”之前的字符位置数。
②使用MID函数从第一个字符开始提取,共提取步骤①返回结果的字符数。
FINDB函数
函数功能
FINDB函数用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。
函数语法
FINDB(find_text,within_text,start_num)
参数解释
find_text:要查找的文本。
within_text:包含要查找文本的文本。
start_num:指定要从其开始搜索的字符。within_text中的首字符是编号为1的字符。如果省略start_num,则假设其值为1。
实例1 返回文本字符串中“人”字所在的位置
➊ 选中B2单元格,在公式编辑栏中输入公式:
=FINDB(“人”,A2)
按“Enter”键即可返回“人”字在“人力资源部”字符串中所处位置为“1”。
➋ 将光标定位到B2单元格右下角,向下复制公式,即可快速判断出“人”字在其他文本字符串中所处位置,如图1所示。
图1
提示
FIND函数与FINDB函数的区别在于,前者是以字符数进行计算的,
后者是以字节数(1个字符等于两个字节)进行计算的。如B3单元格的公式返回结果为“5”,而不是“3”。