欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天和大家分享一道数字处理题目。在一串儿数字中,找出0-9中没有出现的数字。
原题目是这样的:
比如,在第一行中,只有0、1、2、3和9这5个数字没有出现。
怎么样,朋友们有兴趣来试一下吗?
01
NPV函数法
在远古时代,解这道题目是需要用到加权技术的。我也写过相关的帖子,但由于公式过长,我已经记不清公式是怎么书写的了。有兴趣的小伙伴们自己去公众号里搜搜看吧!
现在常用NPV函数来解这类题目。
在单元格B2中输入下列公式,三键确认后并向下拖曳即可。
=0&MID(NPV(9,IF(ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1),ROW($1:$10)-1,"")),3,10)
一般地,这类题目都会用到MID函数、FIND函数来答题。
FIND(ROW($1:$10)-1,A2)
首先利用FIND函数在源数据中查找0-9这是个数字。
ISERR(FIND(ROW($1:$10)-1,A2))
有些可以找到,有些又找不到。利用ISERR函数将因找不到而返回的错误值转换为“TRUE”。这部分的结果是{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}。
ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1)
将上面的结果和数列相乘,返回的结果就是没有在源数据中出现的数字。这部分的结果是{0;1;2;3;0;0;0;0;0;9}。
IF(ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1),ROW($1:$10)-1,"")
利用IF函数来做一个判断,将“0”都转换为空,结果为{"";1;2;3;"";"";"";"";"";9}。
NPV(9,IF(ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1),ROW($1:$10)-1,""))
接下来该NPV函数登场了。它返回的结果是0.1239。
MID(NPV(9,IF(ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1),ROW($1:$10)-1,"")),3,10)
利用MID函数从第三位开始,提取长度为10(足够长的一个数字),这部分得到的结果是"1239"。
0&MID(NPV(9,IF(ISERR(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1),ROW($1:$10)-1,"")),3,10)
最后不要忘了还有一个“0”需要处理。
02
加权法
算啦,我把加权法的公式也贴出来,省得你们再去搜索了!
在单元格B2中输入下列公式,三键确认后向下拖曳即可。
=MID(SUM(IFERROR(SMALL(IF(ISERR(FIND(ROW($1:$10)-1,A2)),(ROW($1:$10)-1)),ROW($1:$10))/10^ROW($1:$10),0)),3,9)
这里主要讲讲加权。
IF(ISERR(FIND(ROW($1:$10)-1,A2)),(ROW($1:$10)-1)),ROW($1:$10))
利用IF公式返回没有出现的数字。注意,这里不能像NPV函数那列写成()*()的形式。朋友们知道是为什么嘛?
这部分返回的结果是{0;1;2;3;FALSE;FALSE;FALSE;FALSE;FALSE;9}
SMALL(IF(ISERR(FIND(ROW($1:$10)-1,A2)),(ROW($1:$10)-1)),ROW($1:$10))
利用SMALL函数来排序。这部分返回的结果是{0;1;2;3;9;#NUM!;#NUM!;#NUM!;#NUM!;#NUM!}。
SMALL(IF(ISERR(FIND(ROW($1:$10)-1,A2)),(ROW($1:$10)-1)),ROW($1:$10))/10^ROW($1:$10)
这部分很关键,是一种常用的加权手法。其结果为{0;0.01;0.002;0.0003;0.00009;#NUM!;#NUM!;#NUM!;#NUM!;#NUM!}。
SUM(IFERROR(SMALL(IF(ISERR(FIND(ROW($1:$10)-1,A2)),(ROW($1:$10)-1)),ROW($1:$10))/10^ROW($1:$10),0))
屏蔽错误值后求和,得到结果是0.01239。
本期内容练习文件提取方式:
链接: https://pan.baidu.com/s/1xuuwfJikBKcJqUfsEIgrEA?pwd=jxbc 提取码: jxbc
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”