admin 管理员组

文章数量: 887016


2024年2月29日发(作者:游戏移动服务框架)

EXCEL里FIND,FINDF,MID函数用法差别详解

MID既不从第一位开始截取,也不从最后一位开始截取,而是由用户自行指定开始的位置和字符的长度。因此,若用户指定从第一位开始,便和Left函数一样。

使用语法

MID(text,start_num,num_chars)

Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。

Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的

start_num 为 1,以此类推。

Num_chars 指定希望 MID 从文本中返回字符的个数。

注意:

如果 start_num 大于文本长度,则 MID 返回空文本 ("")。

如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。

如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。

如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。

如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。

应用示例:

详细解释

公式“=MID(A2,7,8)”中A2表示要截取的数据为A2单元格的内容“******19851221****”,“7”表示从第7位开始,共截取8个字符,因此系统返回用户想截取的生日时间“19851221”。

FIND用来对原始数据中某个字符串进行定位,以确定其位置。因为该招进行定位时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串,有点像瞎子摸象,摸到哪就说哪,因此取名“瞎子摸象”。

使用语法

FIND(find_text,within_text,start_num)

Find_text 是要查找的文本。

Within_text 是包含要查找文本的文本。

Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。

注意:

使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串“ensApparel”,如果要查找文本字符串中说明部分的第一个“Y”的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。FIND 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。FIND 总是从

within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。

如果 find_text 是空文本 (""),则 FIND 则会返回数值1。

Find_text 中不能包含通配符。

如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。

如果 start_num 不大于 0,则 FIND返回错误值 #VALUE!。

如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE!。

应用示例:

上图中,对含有不同地方的数据,利用“Find”函数,非常简单地确定了“省”出现的位置。

详细解释

公式“=FIND("省",A2)”中,“省”表示要查找的文本为“省”,(实际使用中,也可以很长的一串字符)。要找查找的对象是A2单元格的内容“广东省东莞市东城区…”,因为没有指定起始位置,所以系统从第一位开始。返回的“3”,表示“省“字在第三位。而“黑龙江省哈尔滨市…”则返回4。

与Find类似,Search函数也有相同的功能。它们的区别是,Find区分大小写,而Search不分大小写(当被查找的文本为英文时)。

另外,在Excel中,对文本进行处理的很多函数都提供了一个特别用来处理双字节字符(如中文,日文)的函数,一般是在原函数后加“B”,如FIND, 就有一个FINDB。之前讲过的LEFT,相对应的就是LEFTB等。其实,我们在实际应用中,使用不带“B”的函数就足够了。如果你想使用带“B”的函数,则要特别注意,尤其是在组合运用函数时,其中一个函数使用带“B”的形式,则其它有带“B”形式的函数,全部都要使用其带“B”的形式,否则结果极可能是错的。

FIND

用途:FIND用于查找其他文本串(within_text)内的文本串(find_text),并从within_text的首字符开始返回find_text的起始位置编号。此函数适用于双字节字符,它区分大小写但不允许使用通配符。

语法:FIND(find_text,within_text,start_num),

参数:Find_text是待查找的目标文本;Within_text是包含待查找文本的源文本;Start_num指定从其开始进行查找的字符,即within_text中编号为1的字符。如果忽略start_num,则假设其为1。

实例:如果A1=软件报,则公式“=FIND("软件",A1,1)”返回1。

.FINDB

用途:FINDB用于查找其他文本串(within_text)内的文本串(find_text),并根据每个字符使用的字节数从within_text的首字符开始返回find_text的起始位置编号。FIND与FINDB的区别在于:前者是以字符数为单位返回起始位置编号,后者是以字节数为单位返回起始位置编号。

语法:FINDB(find_text,within_text,start_num),

参数:Find_text是待查找的目标文本;Within_text是包含待查找文本的源文本;Start_num指定从其开始进行查找的字符,即within_text中编号为1的字符。如果忽略start_num,则假设其为1。

注意:此函数适用于双字节字符,它能区分大小写但不允许使用通配符。其它事项与FIND函数相同。

实例:如果A1=电脑爱好者,则公式“=FINDB("爱好者",A1,1)”返回5。因为每个字符均按字节进行计算,而一个汉字为2个字节,所以第三个汉字“爱”从第五个字节开始。

示例 (FINDB)

在以下示例中,FIND 返回 2,因为空文本 ("") 位于字符串中的第二个位置,而 FINDB 返回 3,因为每个字符均按字节进行计数,而第一个字符包含 2 个字节,所以第二个字符从第三个字节开始。

=FIND("京","东京都") 等于 2

=FINDB("京","东京都"

) 等于 3

同理:LEFT与LEFTB、RIGHT与RIGHTB、LEN与LENB、MID与MIDB、REPLACE与REPLACEB、SEARCH与SEARCHB的关系也如是。即不带字母B的函数是按字符操作的,而带字母B的函数是按字节进行操作的。

我们在编辑、修改、计算工作簿数据时,经常会用到许多汉字字符,如果使用以上带字母B的函数对汉字字符进行操作,就会很方便。


本文标签: 字符 文本 函数 返回 查找