跳转至

FIND 函数

一、函数概述

在 Excel 中,FIND 函数用于在一段文本中查找指定子字符串首次出现的位置,并返回其起始字符的序号。它常用于文本拆分、定位关键字、提取结构化信息等场景。

需要注意的核心特性如下:

  • 区分大小写:FIND 查找时会区分大小写(例如 Aa 视为不同字符)。
  • 返回位置序号:返回的是子字符串在文本中的位置(从 1 开始计数)。
  • 支持指定起始查找位置:可以从文本的某个位置开始向后查找。

二、基础语法

FIND(find_text, within_text, [start_num])

三、参数说明

1)find_text

  • 含义:要查找的目标子字符串
  • 类型:文本(字符串)或引用到包含文本的单元格。
  • 说明:可以是一个或多个字符,例如 "@""SKU""AB"

2)within_text

  • 含义:进行查找的源文本(在哪段文本里找)。
  • 类型:文本(字符串)或引用到包含文本的单元格。

3)[start_num]

  • 含义:从源文本的第几个字符开始查找(可选)。
  • 类型:数字。
  • 默认值:如果省略,则默认从第 1 个字符开始查找。
  • 说明:用于跳过前面的内容,从指定位置开始向后寻找第一个匹配项。

四、基础用法示范

用法 1:查找子字符串在文本中的位置

示例:在文本中查找 @ 的位置。

=FIND("@", "jerry@example.com")

返回结果说明:返回 @ 在文本中的位置序号(从 1 开始计数)。


用法 2:引用单元格进行查找

假设:

  • A1 单元格内容为:jerry@example.com
=FIND("@", A1)

返回结果说明:返回 A1 文本中 @ 的位置。


用法 3:指定起始位置进行查找

示例:在文本 "abc_abc_abc" 中,从第 5 个字符开始查找 "abc"

=FIND("abc", "abc_abc_abc", 5)

返回结果说明:从第 5 位开始向后找,找到的第一个 "abc" 的起始位置会被返回(用于跳过第一次出现的位置)。


用法 4:结合 LEFT/RIGHT/MID 进行拆分

示例:从邮箱中提取用户名(@ 前的部分)。

=LEFT(A1, FIND("@", A1) - 1)

适用场景:从结构化文本中截取某一段,例如邮箱用户名、带分隔符的编号前缀等。


用法 5:定位分隔符以提取指定字段

假设:

  • A1 为:订单号-商品ID-日期
  • 示例内容:ORD-9087-20260114

目标:提取 商品ID(两个 - 之间的部分)。

=MID(A1, FIND("-", A1) + 1, FIND("-", A1, FIND("-", A1) + 1) - FIND("-", A1) - 1)

思路说明:

  • 第一个 FIND("-", A1) 定位第一个分隔符
  • 第二个 FIND("-", A1, FIND("-", A1)+1) 从第一个分隔符后继续找第二个分隔符
  • MID 在两者之间截取字段内容

五、总结

  • FIND 用于定位子字符串首次出现的位置,并返回从 1 开始的字符序号。
  • 它的关键特点是:区分大小写、可设置起始查找位置
  • FIND 常用于配合 LEFT / MID / RIGHT 做文本拆分与字段提取,尤其适用于带分隔符的结构化文本(如邮箱、订单号、路径、编码等)。
  • 当你需要严格按字符定位、并区分大小写的查找时,FIND 是非常高频且可靠的文本函数。