如何对N / A值的单元格范围求和?


11

我有一个范围,需要使用SUM函数求和,但如果有任何N / A值,则结果为N / A。如何使SUM函数将N / A值视为0值?请帮忙!

Answers:


16

使用数组公式

=SUM(IF(ISNA(A1:A4),0,A1:A4))

输入公式后按Ctrl+ Shift+Enter

注意:替换A1:A4为您的范围


1
+1:我的解决方案有一个不错的改进-无需修改原始数据。
Mike Fitzpatrick

1
真好 从来没有想过使用数组公式。我对使用= SUMIF(A1:A4,“ <>#N / A”)感到满意,直到发现如果电子表格在本地化为另一种语言的Excel副本中打开时它会中断!不幸的是,用“ ISNA()”替换“ <>#N / A”不起作用,但是数组公式是一种不错的多语言解决方案。遗憾的是,它不是通过AVERAGEIF()来应对相同挑战的合适方法……:-(
Joe Carroll

@JoeCarroll,您可以使用=AVERAGE(IF(ISNA(A1:A4),"",A1:A4))
威尔逊

谢谢@wilson!当我简短地考虑时,我没有想到使用“”代替零,愚蠢的我:-)当然,使用零会影响样本量,这导致我放弃了解决方案,但是空单元格只是被忽略了。
2014年

不适用于神奇的Cr @ pXcel 2013,但以下答案(=汇总)的工作方式就像魅力!

5

最简单的方法:

使用SUMIF值> 0。

所以那个的语法是

=SUMIF(A1:B2, "> 0")

您将获得相同的结果,因为它将忽略任何非数字或0值。


2
您的建议不适用于负数。不管怎么说,还是要谢谢你。
Nam G VU 2010年

1
可以=SUMIF(A1:B2, ">=0") + SUMIF(A1:B2, "<0")包含负数。我怀疑,如果要考虑性能,那会比公认的数组公式解决方案快。
kizzx2

3

Excel中有一个新功能,它将在忽略NA的同时添加所有正或负值。

=aggregate(9,6, range of your data) 

9用于求和,而6用于忽略所有NA。除了添加之外,还有其他选择。例如,您可以进行乘积,标准偏差等。

有关AGGREGATE的更多信息,请参见此处


Excel 2010及更高版本的
完美


0

您可以在源范围内将#N / A转换为零,然后使用常规的SUM函数:

= IF(ISNA(OriginalFormula),0,OriginalFormula)

2
从Office 2007开始,有一个新功能,IFERROR然后它看起来像这样:=IFERROR(OriginalFormula,0)变得更好。
迈克尔(Michael)

@agentmike,同意,这些天我经常使用它。
迈克·菲茨帕特里克

0

如果存在要复制为数字的公式,则将列中的#N / A替换为0,然后照常求和


-1

这样看来可行:

SUMIF(range;"<>#N/A";range)

不太强大但有效!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.