在Excel中平均时将-ve数转换为零
在Excel中写入平均函数时,如何将数字转换为0?
我有一个混合+ ve和-ve值的列,并希望在运行平均函数时将-ve值转换为+ ve。
这是我到目前为止所做的内容。 理想情况下,我宁愿不涉及VBA使用情况。
= AVERAGE(C:C)
要忽略负数,请使用
=AVERAGEIF(C:C,">0")
要使用零作为平均值的一部分,请使用:
=SUMIF(C:C,">0")/COUNT(C:C)
C:C
是你的范围来得到平均值(来自你的例子)。
为了回应grandocu的build议,为了得到STDEV,你可以使用一个数组公式:
=STDEV.P(IF(C:C>0,C:C,0))
根据您关注的logging数量,我也可能会build议创build一个与您的原始date相关的值的新列。 即如果你有一个列C:C
与正值和负值,进入列D:D
像这样的公式:
=IF(C2>0,C2,0)
然后,在D列上运行平均值/ stdev计算。 这将有助于避免使用复杂/不太常见的公式,并且在查看数据表时可能会使事情变得更容易理解。
你可以input=AVERAGE(IF(LEN(C:C)>0,ABS(C:C),""))
如果你想变成+ ve然后平均它们。 记住,当你input这个单元格时,你需要Ctrl+Shift+Enter
,这样它就像一个数组公式一样。
为了把它变成0,然后使用这个=AVERAGE(IF(LEN(C:C)>0,IF(C:C<0,0,C:C),""))
并input数组公式(Ctrl + Shift + Enter)
要回应上面的评论,你可以用STDEV.P
代替AVERAGE
来获得标准偏差。 公式的其他部分只是检查单元格,如果它是空白,忽略它,如果它是负值,则将其设为0;如果> = 0,则将其忽略。