【在职场中学Excel】FIND函数查找的字符重复,如何对条件进行判断?




01
问题描述
Excel情报局
今天在工作中遇到这样的一个问题:
A列中有这样一列数据,数据很有特点:每个单元格中的数据都含有一个型号和编码数据,并且用符号“/”间隔开了。现在我们想在B列做一个条件判断:A列符号"/"后面,含有字母A的,则在B列标记为"国标"
我们第一时间想到的方法就是使用FIND函数,但是仔细观察数据后发现,每个单元格数据中的字母A,并不是唯一而是重复的。其实FIND函数可以实现这个目的,前提是需要设置好FIND函数的第三参数。

02
FIND函数参数解析
Excel情报局
FIND函数语法:
=FIND(要找的文本,哪里找,[开始位置])
第三个参数[开始位置]是从第几个开始,不填默认为1,从第一个开始。
从第几个位置开始查找,不影响返回位置,返回的是数值是在整个字段的位置
例如:第三个参数为3,那么就会第3个字符位置开始查找参数1,找到的参数1,是位于整个字段中的位置。
03
整体公式
Excel情报局
在B2单元格输入公式:
=IFERROR(IF(FIND("A",A2,FIND("/",A2))>0,"国标",""),"")
向下下拉填充即可完成。

04
公式拆分讲解
Excel情报局
在B2单元格输入:
=FIND("/",A2)
即可查询出“/”位于A2单元格中的第10个字符处。

在B2单元格输入:
=FIND("A",A2,FIND("/",A2))
将FIND("/",A2)作为FIND函数的第三参数。即可查询出字母A位于A2单元格中字符的位置,注意:第三参数显示10,那么就会从第10个字符开始查找字母A,找到的字母A,是位于整个A2字段中的位置,即16。

在B2单元格输入:
=IF(FIND("A",A2,FIND("/",A2))>0,"国标","")
继续用IF函数做判断,因为得到的位置位于第16个字符处,即大于0,则显示“国际”,否则显示空值。
但是我们会发现第二行结果是一个错误值,原因就是从第8个字符位置开始查找以后不存在字母A,即显示了错误值。

在B2单元格输入:
=IFERROR(IF(FIND("A",A2,FIND("/",A2))>0,"国标",""),"")
最后再用IFERROR函数做判断,如果得到的值为错误值,则显示为空值。

阅读完文章之后,希望小伙伴们在文章底部帮小编点亮[在看]并分享转发到[朋友圈],坚持持续分享的路上需要有你们的鼓励与支持!





