FIND-返回字符所在位置

1. 概述

类别

描述

函数写法

FIND(find_text,within_text,start_num)

函数作用

从指定的索引 start_num 处开始,返回第一次出现的指定子字符串 find_text 在此字符串 within_text 中的索引

参数说明

find_text:需要查找的文本

within_text:包含需要查找文本

start_num:非必填项,从字符串哪个位置开始查找,within_text 里的索引从 1 开始,如果省略 start_num,则假设值为 1

参数个数

2 或 3(第三个参数可缺省,如果需要,必须为数值格式)

参数类型

文本,文本,数值

返回值类型

数值

备注

如果 find_text 不在 within_text 中,FIND 函数返回值为 #VALUE!

如果 start_num 不大于 0,FIND 函数返回错误信息 #VALUE!

如果 start_num 大于 within_text 的长度,FIND 函数返回错误信息 #VALUE!

如果 find_text 是空白文本,FIND 函数将在搜索串中匹配第一个字符(即编号为 start_num 或 1 的字符)

下表中有一些简单的示例:

公式

结果

FIND("I","Information")

1

FIND("i","Information")

9

FIND("o","Information",2)

4

FIND("o","Information",12)

#VALUE!

FIND("o","Information",-1)

#VALUE!

FIND("o","Information",2) 这个例子,表示从第 2 个位置开始查字母 o,但不决定最终输出的字母位置,o 还是排在第 4 位。下面的例子中将会用实际场景再次说明。

2. 示例

例如有订单明细表,订单来源的字段值是各个网站的产品链接,想要先截取链接的前面一部分,比较各网站已售卖的订单数。

2.1 FIND 函数返回“/”所在位置

1)需要截图的内容为红框中斜杠及之前的内容,所以需要用到 FIND 函数返回“/”所在位置,如下图所示:

2)公式为:FIND("/",订单来源,9) ,第 3 个参数要保证从“//”之后开始数,也可以是 10。这样第一个“/”的位置就是从“//”之后开始查,但最终输出的数值是从字母“h”开始计算的。

2.2 LEFT 函数截取字符串

在 2.1 节中已经得到了“/”的位置数,下面就要截取前面多少位字符。比如第一行数据中的“/”是在 25 位,就要截取前面 25 为的数值。

用 LEFT 函数写公式:LEFT(订单来源,FIND("/",订单来源,10)) ,根据 FIND 函数的计算值截图前多少位字符,如下图所示:

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验