分享

有#N/A金额求和出错,别怕,用这5个方法轻松解决

 Excel不加班 2022-10-14 发布于广东
与 30万 粉丝一起学Excel

假如金额含有错误值,求和就会出错,怎么解决?

这个问题,有一大堆粉丝提供了自己的想法,但都没用电脑验证,那卢子就来逐一帮你验证。

1.*换成,

测试失败,依然是错误值。

=SUMPRODUCT(--(MONTH($B$2:$B$8)=D2),$A$2:$A$8)

这种用法,作用是忽略文本求和,不是忽略错误值。现在将错误值换成文本,就可以正常统计。

2.技巧法去除错误值

如果是一列,直接筛选错误值,然后删除掉就行,这种比较简单,就不做演示。

表格的列数不确定,存在多处有错误值。选择区域,按Ctrl+G,定位公式,取消勾选数字、文本、逻辑值,只留下错误,确定,再按Delete。

去除后,原来的公式就能解决。

3.公式去除错误值

一般都用辅助列,有好几个公式能去除。

=IFERROR(A2,0)

=IF(ISNUMBER(A2),A2,0)

=IF(ISNA(A2),0,A2)

去除后,引用辅助列的区域就能解决。

=SUMPRODUCT((MONTH($B$2:$B$8)=D2)*$C$2:$C$8)

4.数组公式直接求和

数组公式可以省略掉辅助列,不过要按Ctrl+Shift+Enter三键结束。

=SUMPRODUCT((MONTH($B$2:$B$8)=D2)*IFERROR($A$2:$A$8,0))

5.特殊公式求和

几个月前,有老学员写过,能解决,不过感觉比较绕。

=SUMIFS(A:A,A:A,"<9e307",B:B,">="&DATE(2022,D2,1),B:B,"<="&DATE(2022,D2+1,0))

9e307是最大的数字,条件"<9e307",就是对所有数字求和,也就是忽略错误值、文本。

=SUMIFS(A:A,A:A,"<9e307")

DATE(2022,D2,1)是获取D2这个月份的第1天,也就是2022/9/1。

DATE(2022,D2+1,1),是获取D2+1这个月份的第1天,也就是下个月的第1天。而第3参数1变成0,也就是少了1天,也就是9月的最后一天2022/9/30。

绕了一圈,就是为了判断日期是这个月份的。

这个公式也有一个好处,就是可以直接引用整列,比较方便。

错误值正常情况下都是没啥用的,而且还会给你带来一大堆麻烦。但对于图表高手来说,却经常变废为宝。详见文章:领导这个另类需求真要了我的老命,搞了半天没整出来

思考题,如何根据左边的明细,统计每个区间的人数、金额?

陪你学Excel,一生够不够?




推荐:有错误值没法查找、求和?这2个公式,包你一看就会
上篇:用SUMIF计算余额绕晕了,可以尝试这个简洁的公式

请把「Excel不加班」推荐给你的朋友

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多