对于条件求和,我们一般首选的函数就是SUMIFS函数,但SUMIFS函数有一个弊端,就是对于求和列是以文本形式存储的数字(广联达导出的报表中的数字大多数为此格式),SUMIFS函数往往不能直接进行求和,需要把求和列添加辅助列通过VALUE()函数转化成数字形式才可以,下面介绍一种新的方法直可以处理文本形式存储的数字,直接进行条件求和,那就是运用SUMPRODUCT函数。
公式=SUMPRODUCT(VALUE(求和列)*(条件列1=条件值)*(条件列2=条件值))
一般两个条件就够用了,如果条件列不够,可以在后面增加(条件n=条件值),求和列和各个条件用*相连。
上面公式是SUMPRODUCT函数的最基本形式,
下面用一个实例进行讲解,
目标:按做法分标段汇总下图楼地面工程量。
先分享最终效果图
核心公式F3
=SUMPRODUCT(VALUE(INDIRECT($H3&$J3))*(INDIRECT($H3&$K3)=$C3)*(INDIRECT($H3&$L3)=F$2)
分析:
1)INDIRECT($H3&$J3)=汇总1楼地面!D3:D1000——公式中的:(求和列)
2)VALUE(INDIRECT($H3&$J3))——通过添加VALUE()函数使求和列区域转化为数字格式,注意:此方法不能在SUMIFS函数的求和区域中使用。
3)(INDIRECT($H3&$K3)=$C3)——公式中的:(条件列1=条件值)
4)(INDIRECT($H3&$L3)=F$2)——公式中的:(条件列2=条件值)
公式G3(原理同公式F3)
=SUMPRODUCT(VALUE(INDIRECT($H3&$J3))*(INDIRECT($H3&$K3)=$C3)*(INDIRECT($H3&$L3)=G$2))
这就是SUMPRODUCT的条件求和用法,欢迎大家留言讨论。
举报/反馈