楼主 LOGO |
工作中经常会遇到先判断某单元格内容是否为空,若为空,则显示为"",否则执行下一步操作.如蒸版这一帖中加班工资列用的公式
用sumproduct的话则可以得到正确的结果,且简化公式.如加班工资一列可用
相乘可以用sumproduct来简化逻辑判断,相除则不可以. |
2楼 liuguansky |
sumproduct单元素的话,运行规则不能参照SUMPRODUCT的帮助说明,如果有文本出现会显示#VALUE sumproduct(""*2)这样的。。 =sumproduct(C5*D5) 比如这样的公式,如果C5中出现""或者其他文本,就会返回#VALUE! |
3楼 gouweicao78 |
不过,存在几个问题: 1、没有数组运算,不需SUMPRODUCT,而只需SUM 2、=sumproduct(E5+H5+J5+I5)——中的+号不仅是多余的,而且可能是导致错误的,比如其中某个单元格为"",那么就返回#VALUE!错误。 3、除法问题:=IF(OR(A1=0,B1=0),"",B1/A1),也可以用=IF(A1*B1,B1/A1,""),并非要SUMPRODUCT。 4、附件中的公式,仍然是蒸蒸版提问的,而没有使用新的公式来说明效果。 因此,整个问题的解决,并非SUMPRODUCT在简化逻辑判断,而是利用数据相乘*代替AND函数判断并列条件(即AND(A1<>0,B1<>0),或者AND(C5<>"",D5<>"")等)。 |
4楼 LOGO |
学习了,谢谢各位高手,学到了不少,在数值的类型相对规范的前提下(如蒸版的帖子中工资表的数据应都为数值型,或用查找替换功能将"",替换为空规范数值类型),用*可以来代替一些逻辑判断,再结合设置为零值不显示,或者设置单元格格式为零值显示为-,可以满足工作的需要.用sum(a*b)也是可以的. |
5楼 蒸蒸日上 |
报到,学习来了!没想到还有这么简单实用的公式! |
6楼 lrlxxqxa |
1楼整理得态度相当认真,2楼3楼分析的很透彻,这种氛围真好 |
7楼 gouweicao78 |
是的。整理得很认真,有着劲儿,很快就会提高水平的。 |
8楼 poiuyman5 |
VERY NICE!!! |