质检中的定位技巧,FREQUENCY也行的!
点击上方
蓝色
文字 关注我们吧!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
在论坛上看到这样一个题目。
B列里面的产品自动对比A列里的产品规格。从当前行开始自动向下检测8次,计算螺母第几次检测中检测到的。超过8次记录不合格。到了末行下面没数据判断了就显示检测中。
例如,B2自动从单元格区域A2:A9中寻找对比判断该区域中的螺母有没有包含在产品B2中。发现A2包含于B2中就显示1;B3从单元格区域A3:A10中寻找,在检测的第二次(单元格A4)是发现包含于B3,由于是第2次检验时合格,因此记录为“2”。
虽然这是一个模型,但是在实际工作中还是有意义的。对于某些特殊的产品,设定对其检验的次数上限。在检验次数内如返回了特定数值则可判定合格,反之则是不合格。
在单元格D2中输入“=TEXT(MATCH(1,FREQUENCY(1,1-ISERR(FIND(A2:A9,B2))),),"[=9]不合格;[>"&COUNTA(A2:A9)&"]检测中;0")”并向下拖曳即可。
思路:
检测一个字符串中是否包含另一个字符串,我们首先想到的是FIND函数。对于可以查询到的字符串,FIND函数会返回其所在位置的数值
利用ISERR函数将错误值转换为TRUE,数值部分转换为FALSE
1-ISERR(FIND(A2:A9,B2))部分,将错误值转换为“0”。原因是,TRUE等价于“1”,FALSE等价于“0”,用“1”减去ISERR(FIND(A2:A9,B2)),将未查询到的部分所对应的“规格”转换为“0”,查询到的部分转换为“1”
利用FREQUENCY函数对“1”进行计频
接下来利用MATCH函数返回第一个“1”所在的位置信息
利用TEXT函数返回具体的状态值。
本题目巧妙地利用了FREQUENCY函数来计频第一个检测到的数据,并利用TEXT函数返回对应的状态。
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
戳原文,更有料!免费模板文档!