Excel字符函数(3):字符查找函数Find、Search

工作中,有时候编号与时间、短信回复内容、评论内容等常有混在一起需要拆分的情况,还有一些从数据库Oracle、Mysql等导出的数据字段内容需要拆分,那么除了MID、LEN、SUBSTITUTE等字符函数外,用的最多的就是Find、Search函数了。

(菜单“分列”功能虽然也能用,但是不如函数的灵活性强)

二者的差异如下:

v2-5b7504c75fcac27cd362231c35957a3b_b.jpg


01 SEARCH 语法

SEARCH(find_text,within_text,[start_num])

  • find_text 必需。 要查找的文本。
  • within_text 必需。 要在其中搜索 find_text 参数的值的文本。
  • start_num 可选。 within_text 参数中从之开始搜索的字符编号。

02 说明

  • SEARCHSEARCHB 函数不区分大小写。 如果要执行区分大小写的搜索,可以使用 FINDFINDB 函数。
  • 可以在 find_text 参数中使用通配符 (问号 (?) 和星号 (*)) 。 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
  • 如果找不到 find_text 的值,则返回 错误值 #VALUE!。
  • 如果省略了 start_num 参数,则假设其值为 1。
  • 如果 start_num 不大于 0(零)或大于 within_text 参数的长度,则返回 错误值 #VALUE!。
  • 可以使用 start_num 来跳过指定数目的字符。 以 SEARCH 函数为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的位置,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分(即本例中的“AYF0093”)。 SEARCH 函数从第 8 个字符开始,在下一个字符处查找在 find_text 参数中指定的字符,并返回数字 9。 SEARCH 函数总是返回从 within_text 参数的起始位置计算的字符的编号,如果 start_num 参数大于 1,则会计算跳过的字符。

03 示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

v2-136eeff1cfedae6888914c6e259382a4_b.jpg

04 FIND 语法

FIND(find_text, within_text, [start_num])

  • find_text 必需。 要查找的文本。
  • within_text 必需。 包含要查找文本的文本。
  • start_num 可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。

05 说明

  • FIND 和 FINDB 区分大小写,并且不允许使用通配符。 如果您不希望执行区分大小写的搜索或使用通配符,则可以使用 SEARCH 和 SEARCHB 函数。
  • 如果 find_text 为空文本 (""),则 FIND 会匹配搜索字符串中的首字符(即编号为 start_num 或 1 的字符)。
  • Find_text 不能包含任何通配符。
  • 如果 within_text 中没有 find_text,则 FIND 和 FINDB 返回 错误值 #VALUE!。
  • 如果 start_num 不大于 0,则 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,则会对跳过的字符计数。

06 示例

数据
Miriam McGovern
公式说明结果
=FIND("M",A2)单元格 A2 中第一个“M”的位置1
=FIND("m",A2)单元格 A2 中第一个“M”的位置6
=FIND("M",A2,3)从单元格 A2 的第三个字符开始查找第一个“M”的位置8


v2-79420d4f31c1429e418edd074b429683_b.jpg
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值