作者:乔山办公网日期:
返回目录:excel表格制作
这公式设计得很巧妙,妙在使用了数组公式。INDEX()函数用于返回区间复E2:E12中指定位置的值,而这公式中只给出了指定的行号1或者0的值。行号由SMALL()函数提供,当条件E2:E12>0成立制时,SMALL()函数结果是1,反之结果是0。条件语句IF(E2:E12>0,ROW(INDIRECT("1:"&ROWS(E2:E12))))只给出了两个参数,百这里埋伏了一个错误的地方,就是当E2:E12<=0时会出错,但这个错误在非数组公式状态下度时,SMALL()会把结果当作0处理,所以,IFERROR()无法检测错误的地方。而在数组公式状态下,IFERROR()能检测这个错误,从而让结果输出为"",当数组从新给单元格数值时,""值不会输出,巧妙地让输出结果跳过了负值。
EXCEL中全部是正数,则求和,如百有负数,则显示错误度,这种公式可以用IF函数、COUNTIF函数和SUM函数来写。
假设数据在A至D列,知E列写公式,公式如下:道
=IF(COUNTIF(A1:D1,">0")=4,SUM(A1:D1),"错误")
思路如下:
IF函数判断内由COUNTIF函数求得的大于零的个数等于四的话就容进行求和,否则就显示错误。
假如数据在C列,要合计大于0的数据,在要显示合计结果的单元格公式:
=SUMIF(C:C,">0")
同理,要合计小于0的数据,在要显示合计结果的单元格输入公式:
=SUMIF(C:C,"<0")
工具版本——Excel2010
方法步来骤如下:
打开一个Excel表格,需要求负数以外的A1:A11的和,也就是求所有正数和0得和。源
在B1单元格中输入公式=SUMPRODUCT((A1:A11)*(A1:A11>0)),按Enter回车结束,百得到结果度为89.
公式解释:sumproduct是一个加权求和函数,公式中A1:A11>0,得到的结果是TRUE或FALSE,TRUE相当于1 ,FALSE相当于0,然后用得到的结果,分别和A1:A11相乘,负数和知零相乘,得到结果0 ,正数和1相乘得到它本身,然后再用道sumproduct求和,就得到想要的结果了。