在excel公式编辑时,需要对一些条件进行判断,空值和0都是条件判断中经常出现的参数。那么在输入公式时,怎么写单元格不为空或者不等于0的条件呢?
下面就以一个实例来说明。
上图中是一个产品数据表,我们需要计算当单价不等于0,和不为空值时的订单总数量。
很明显这里会用到求和函数,而重点就在于求和函数的条件参数怎么写。
首先我们先来写单元格不为空的条件。
既然是条件求和,肯定是首选sumif函数,在上图中作者局已经写入了公式:=SUMIF(I2:I26,”<>”&””,J2:J26)
sumif函数的表达式为=sumif(条件区域,条件,求和区域),根据它的表达式,我们来看第二个参数,条件。
“<>”&””,从字面上来看,就是大于小于和双引号,大于小于我们可以理解为不等于,而双引号是什么意思?
在excel中,空值的表达式不是空格,也不是0,而是直接两个双引号,它中间没有任何数据和符号,它是一种固定表达。
而“&”是联结符号,将运算符号和值相连,便成为完整的条件格式。
那么单元格为空,它的表达式则是:“=”&””
需要注意的是写运算符号时必须加上双引号,否则运算会出现错误。
既然已经了解了运算符号的写法,那第二个条件照葫芦画瓢,就很简单了。
由于是多条件求和,这次我们直接使用sumifs函数,一次性解决两个条件。
输入公式:=SUMIFS(J2:J26,I2:I26,”<>”&””,I2:I26,”<>”&0)
sumifs函数的表达式与sumif稍有不同,=sumifs(求和区域,条件区,1,条件1,条件区域2,条件2……),所以“<>”&””和“<>”&0就是它的两个判断条件,分别是不为空值和不等于0.
我们也可以发现不等于0的条件中0并没有添加双引号,因为它是数值,并非文本,而可以直接进行运算,所以不需要加上双引号,当然,加上的话,结果也不会出错。
此外除了sumifs函数可以进行多条件求和,其他函数也可以达到同样效果,例如SUMPRODUCT函数。
=SUMPRODUCT((I2:I26<>””)*(I2:I26<>0)*J2:J26)
从两个公式来看,它们的表达式不一样,条件的写法也不一样,在这里因为区域和条件是统一未分隔的,所以并没有给大小于的运算符号加上双引号。
在此童鞋们也要注意这些小细节,既不要多加双引号,也不要忘记加了,不同位置不同写入方式。但空值的表达为“”,不等于的表达为“<>”,这个大家要记牢了!