9E307,在Excel里可以这么用~

2021-10-04 22:04:12   |  554 人气

今天给大家聊一个数字:9E307,完整的表述是9E+307。在Excel里它属于科学计数法,表示9*10^307,是一个非常接近Excel能够容纳的最大数值的数值。
那这东西有啥用呢?
打个响指,我举几个小例子。

1、忽略错误值求和

如下图所示,B2:B9区域内存在错误值,现在需要在B10单元格求和。

有的朋友会直接使用SUM函数:
=SUM(B2:B9)
结果会返回一个错误值,这是由于SUM函数不会忽视错误值,一旦求和范围内存在,就会返回错误值自身——传说中的一见杨过误终身。

有朋友说,这事简单啊,可以把SUM函数改成下面这样:
=SUM(B2,B4:B6,B8:B9)
小拳拳捶你胸口,你真的好棒棒哦~
……

正确的解答公式是使用SUMIF函数:

=SUMIF(B2:B9,”<9E307″)

SUMIF省略了第3参数求和区域,也就默认使用第1参数的条件区域作为求和区域,求和的条件是小于数值9E307,也就是对所有的数值进行求和。

 

2、最后的查询

如下图所示,如果需要查询A列最后出现的数值。

这个问题最佳公式是使用LOOKUP函数。

A列最后出现的数值 ▼
=LOOKUP(9E+307,A:A)

这是LOOKUP一个固定的套路,当查找值大于查找范围内所有的同类型值时,固定返回最后的同类值。
9E307是一个极大的数值,所以上述公式会固定返回A列最后出现的数值。
把这个套路延伸一下,可以解决两个常见的问题。
如下图所示,A1:M8是数据明细,需要在N列查询每个人最后考评的月份。

所谓最后考评的月份,也就是最后出现数值的月份。
比如,A2单元格的看见星光,最后考评的月份是3月(3月就辞职去看奥运了),A4单元格的肥书记,最后考评月份是12月(8月就把12月的考评得分做好了)
N2单元格输入以下公式向下复制填充即可:
=LOOKUP(9E+307,B2:M2,B$1:M$1)
B2:M2是单行查询范围,B$1:M$1是对应的单行结果范围,9E307比查询范围内所有的同类数据都大,因此返回最后出现的数值对应的月份。

再如下图所示,A列是数据源,需要查询前面出现的连续数值

B列参考公式如下:
=LOOKUP(9E+307,–LEFT(A2,ROW($1:$15)))
LEFT(A2,ROW($1:$15))部分,从A2单元格的左边,依次提取1、2、3、4……直至15位的数据,返回结果:2,20,204,204看,204看见……
再通过减负运算(–),将LEFT函数的计算结果转换为数值。此时纯文本无法进行数学运算,例如–204看,它将返回错误值#VALUE!。
这个部分计算结果是一个内存数组▼
{2;20;204;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
LOOKUP天生忽略错误值,再用一个比查询范围所有数值都大的9E307进行查询,也就返回最后出现的数值204。
就这么回事。


上一篇:推荐一个很好用的函数:MEDIAN

下一篇:怎样将excel中的几个明细表中的每一条记录依次汇总到一个总表中
收藏

本文标签

热门资讯
怎样将excel中的几个明细表中的每一条记录依次汇总到一个总表中
9E307,在Excel里可以这么用~
VLOOKUP函数有个BUG,你——知道吗?
推荐一个很好用的函数:MEDIAN

当前位置:首页 > 新闻中心 > excel教程


关于我们  网站声明   联系我们

       copyright@ 2022 布米米文库(布米米网站) All Rights Reserved  赣ICP备2021007278号  赣公网安备 36010402000315号