用加权法找数字已经过时了,现在最厉害的是NPV函数!

文摘   2024-10-21 20:00   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天和大家分享一道数字处理题目。在一串儿数字中,找出0-9中没有出现的数字。

原题目是这样的:




比如,在第一行中,只有012395个数字没有出现。

怎么样,朋友们有兴趣来试一下吗?


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操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章