在日常的工作中,查找特定字符在一个字符串中的位置是非常常见的操作,但是如果熟悉excel的朋友应该都知道,在Excel中提供的字符查找函数FIND中,无法设置出现次数这个参数。今天,我们就给大家讲解一下,通过集合替换函数SUBSTITUTE快速的实现查找某个字符第N次出现的位置。请看下面的例子。

首先,我们先来对这两个函数做一个简单的介绍。

1.FIND函数

语法:=FIND(find_text,within_text,start_num)

参数解释:

find_text:要查找的字符串,如果该参数为空,则函数返回值为1。该参数中的字符串不能包含通配符。

within_text:包含要查找关键字的字符串或者单元格。如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。

start_num: 指定开始进行查找的字符数。比如Start_num为1,则从字符串内第一个字符开始查找关键字。如果忽略 start_num,则假设其为 1。该参数的值必须是大于0且不大于within_text的长度(0

2. SUBSTITUTE函数

语法:SUBSTITUTE(text,old_text,new_text,[instance_num])

参数解释:

text:需要替换其中字符的文本,或是含有文本的单元格引用;

old_text:需要替换的旧文本;

new_text:用于替换old_text 的文本;

instance_num: 该参数为数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text。

根据上面的介绍,我们可以看到,SUBSTITUTE提供了出现次数N的参数,这个就是我们希望用到的地方。上面的例子中的公式如下:

D2公式为:=FIND("龢龢",SUBSTITUTE(A2,B2,"龢龢",C2))

D3公式为:=FIND("龢",SUBSTITUTE(A3,B3,"龢",C3))

特别注意:用于替换的字符要和查找的字符的长度是一致的,替换成的字符需要设置一个原文本中没有出现的字,可以是任意字,为了简单,我们用很少会用到的字"龢"(读音hé)来替换。

结果如下:

如果需要获取本教程的演示文件,请点击我名字后面的关注,然后私信【查找N次】获取。