Excel - FIND 函数
FIND 函数
Excel 文本函数包含各种用于解决问题的文本处理函数。在这些函数中,有一个隐藏函数是 FIND 函数。Excel FIND 函数返回不同输入文本字符串中搜索字符/子字符串的特定位置。 FINDB 函数与 FIND 函数类似,因为它可以有效地处理 DBCS 集字符。
兼容性
此著名的 FIND 函数与以下版本的 MS Excel 兼容 −
- Excel for Microsoft 365
- Excel for Microsoft 365 for Mac
- Excel for the web
- Excel 2024
- Excel 2024 for Mac
- Excel 2021
- Excel 2021 for Mac
- Excel 2019
- Excel 2016
语法
FIND 函数的语法如下 −
FIND(find_text, within_text, [start_num])
参数
您可以将以下参数与 FIND 函数一起使用 −
参数 | 描述 | 必需/可选 |
---|---|---|
find_text | 它表示将在 with_text 参数中搜索的字符串的子部分。 | 必需 |
within_text | 它指定另一个文本字符串,其中搜索 find_text 中定义的子字符串。 | 必需 |
start_num | 表示在"within_text"中开始搜索的字符位置。 | 可选 |
要记住的要点
- 如果在 find_text 中定义了通配符,则 FIND 函数将检索 #VALUE!错误。
- 如果在输入字符串中未找到字符/子字符串,则 FIND 函数将返回 #VALUE! 错误。
- 如果 find_text 包含空字符串,则 FIND 函数将返回 1,表示输入字符串的起始位置。
- 在 FIND 函数中严格考虑大小写差异。
- 如果 start_num 为非正数,则 FIND 函数将检索 #VALUE! 错误。
- 如果"start_num">"within_text"参数,则 FIND 函数将检索 #VALUE! 错误。
- 为了进步,您可以在 SEARCH/SEARCH 函数中使用通配符。
FIND 函数示例
让我们通过几个精彩的 FIND 函数示例来详细说明,以便在 Excel 工作表上练习。
示例 1
FIND 函数用于在较大的字符串中定位子字符串(文本)的位置。
解决方案
步骤 1 − 假设示例数据集包含三列,标题分别为"输入字符串"、"子字符串"和"公式"。
首先,在 C3 单元格中写入公式 =FIND(B3,A3)。在这个公式中,将在输入文本"Intense fog"中搜索字符"s"。

之后,按 Enter 键获取索引位置。

步骤 2 − 此外,选择 C4 单元格并输入公式 =FIND(B4, A4, 5)。在此公式中,e 字符 (B4) 从输入文本"股票份额"中的第 5 个位置开始。

之后,点击 Enter 选项卡。因此,e 字符的索引位置为 11,由 FIND 函数提取。

步骤 3 −然后,双击 C5 单元格,输入 =FIND(B5,A5) 公式,然后按 Enter 键。在此公式中,B5单元格指向子字符串"tycoon",将在A5单元格中搜索"Business tycoon"。

因此,FIND 函数将返回 10 作为结果。

示例 2
如果在 find_text 中定义了通配符,则 FIND 函数将检索 #VALUE!错误。
解决方案
您可以在 B2 单元格中写入公式 =FIND("?a", "Anamika"),然后按 Enter 键。

因此,FIND 函数将检索 #VALUE!错误,因为第一个参数中不允许使用通配符。
示例 3
如果 find_text 包含空字符串,FIND 函数将返回 1,表示输入字符串的起始位置。
解决方案
假设您在 B2 单元格中输入公式 =FIND(" ", "Intense Fog"),然后点击 Enter 选项卡。在公式中,find_text参数包含空值。

因此,FIND 函数返回结果 1。

示例 4
如果 start_num 为非正数,或者"start_num"大于"within_text"参数的长度,则在这些情况下,FIND 函数将检索#VALUE! 错误。
案例 1 − 您可以在 C2 单元格中写入公式 =FIND(-12, "Page Layout")。在此表达式中,第一个参数包含负值。

按下 Enter 键后,FIND 函数将为您提供 #VALUE!错误。

为确保 FIND 函数成功执行,您可以在 FIND_TEXT 中将负值修改为正数。
案例 2 − 假设您在 C4 单元格中写入公式 =FIND("g","Page Layout",40) 并点击 Enter 选项卡。

因此,FIND 函数将获得 #VALUE!错误,因为 start_num 的值大于 within_text 的总长度。

下载练习表
您可以下载并使用示例数据表来练习 FIND 函数。