摘要:=FIND(find_text,within_text,start_num)=SEARCH(find_text,within_text,start_num)
FIND和SEARCH这两个连参数都一样的函数,什么时候该用哪个?
=FIND(find_text,within_text,start_num)=SEARCH(find_text,within_text,start_num)搞清楚二者的相同之处和不同之处自然就能量材而用。
相同之处
FIND和SEARCH的基本工作原理都是在字符串中查找指定字符并返回起始位置。
以下两个公式都返回”CH”在字符串中的起始位置11:
=FIND("CH","FIND还是SEARCH?")=SEARCH("CH","FIND还是SEARCH?")不同之处
FIND要区分大小写,SEARCH不区分大小写。=FIND("ch","FIND还是SEARCH?")找不到”ch”报错,返回错误值。
而SEARCH没有大小写的区别,ch和CH是一回事儿:
=SEARCH("ch","FIND还是SEARCH?")这样就很明显了,需要区分大小写的场合只能用FIND,需要用到通配符的场合只能用SEARCH,其他场合任选。
扩展
FIND和SEARCH属于文本类函数,通常用来解决关键字问题,搭配ISNUMBER来判断是否包含指定关键字是十分广泛的应用。
如下案例中要提取“大盒”数据,SEARCH(或FIND)+ISNUMBER组合判断是否包含关键字,返回数组作为FILTER的第二参数:
=FILTER(A2:B7,ISNUMBER(SEARCH("大盒",A2:A7)))在高版本Excel中其实有一个更好的解决方法,那就是正则函数REGEXTEST。把关键字设置为第二参数判断是否包含该关键字:
=REGEXTEST(A2:A7,"大盒")无论是否区分大小写,是否用到通配符,正则函数都能轻松应对。
不久的将来REGEXTEST将逐步取代FIND和SEARCH的大部分应用,毫无悬念。
来源:张跃银看英语