如何使用excel快速获取指定数据在单元格哪个位置

小编:思敏 2453阅读 2020.05.29

本文介绍 Microsoft Excel 中 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

数据

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

关联标签:

相关推荐