9E307在Excel中还能这么用?

时间:2023-04-08
阅读:

今天给大家聊一个数字:9E307,完整的表述是9E+307。在Excel里它属于科学计数法,表示9*10^307,是一个非常接近Excel能够容纳的最大数值的数值。

那这东西有啥用呢?

打个响指,我举几个小例子。

1、忽略错误值求和

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

9E307在Excel中还能这么用?

有的朋友会直接使用SUM函数:

=SUM(B2:B9)

结果会返回一个错误值,这是由于SUM函数不会忽视错误值,一旦求和范围内存在,就会返回错误值自身——传说中的一见杨过误终身。

9E307在Excel中还能这么用?

有朋友说,这事简单啊,可以把SUM函数改成下面这样:

=SUM(B2,B4:B6,B8:B9)

小拳拳捶你胸口,你真的好棒棒哦~

……

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

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

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

2、最后的查询

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

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

9E307在Excel中还能这么用?

A列最后出现的数值

=LOOKUP(9E+307,A:A)

这是LOOKUP一个固定的套路,当查找值大于查找范围内所有的同类型值时,固定返回最后的同类值。

9E307是一个极大的数值,所以上述公式会固定返回A列最后出现的数值。

把这个套路延伸一下,可以解决两个常见的问题。

如下图所示,A1:M8是数据明细,需要在N列查询每个人最后考评的月份。

9E307在Excel中还能这么用?

所谓最后考评的月份,也就是最后出现数值的月份。

比如,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列是数据源,需要查询前面出现的连续数值

9E307在Excel中还能这么用?

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。

就这么回事。

返回顶部
顶部