1、ExcelExcel用用法法提提高高实实例例 lu_yigang lu_yigang 整整理理 初初级级(字字符符、公公式式函函数数)中中级级(数数组组公公式式)高高级级(宏宏及及VBAVBA编编程程) ExcelExcel用用法法提提高高实实例例 lu_yigang lu_yigang 整整理理 高高级级(宏宏及及VBAVBA编编程程) 数数组组公公式式的的计计算算过过程程 产产品品编编号号产产品品单单价价产产品品数数量量 AA1100 BB2150 CC3200 AA1250 BB2300 问题:求产品AA的总价 350 =SUM(IF($B$3:$B$7=“AA“),($C$3:$C$7
2、)*($D$3:$D$7),0) 它它的的运运算算过过程程是是这这样样的的: 1. IF函数先判断$B$4:$B$8里=AA的参数,返回的结果为 AATRUE1100 BBFALSE2150 CCFALSE3200 AATRUE1250 BBFALSE2300 用公式表述为:=SUM(IF(TRUE;FALSE;FALSE;TRUE;FALSE,($C$4:$C$8)*($D$4:$D$8),0) 2.然后对返回TRUE的行项执行下一个运算,($C$4:$C$8)*($D$4:$D$8) 对于返回FALSE的,则直接返回0 TRUE1100100 =1*100 FALSE2150=0 FALS
3、E3200=0 TRUE1250250 =1*250 FALSE2300=0 3.到了这一步,公式返回出的是一组符合要求的数字了,该组数字用数组常量表示为100;0;0;250;0 4.最后用SUM函数把这一组数组常量相加,得到最后结果 350 =SUM(100;0;0;250;0) *该公式可简化为 350 SUM($A$3:$A$7=“AA“)*$B$3:$B$7*$C$3:$C$7) 在加减乘除的运算中TRUE=1,FALSE=0,所以逻辑值能直接参与运算。 但是SUM函数中如果引用的数据区域中含有逻辑值的话,是忽略逻辑值的,除非是直接作为参数。 所以当你需要在SUM中使数据区域中的TR
4、UE=1,FALSE=0的话,必须要使TRUE/FALSE先参与一次四则运算,转换成数值。 看看下面的例子能帮助你理解逻辑值是如何出来的,并能更好地理解上面这段话。 TRUE=(1=1) FALSE=(1+1=1) 1 =TRUE+FALSE -1 =FALSE-TRUE =TRUE*FALSE 1 =SUM(TRUE,FALSE) =SUM(C41,C42) 1 =SUM(C41*1,C42*1) IF()的判断可以被简化,也就是利用了这一点,在Part IV里,还有更详细的例子。 相信你现在已经对数组公式有了个大概的了解了,下面让我们来看一些数组公式的应用。 所以当你需要在SUM中使数据区域中的TRUE=1,FALSE=0的话,必须要使TRUE/FALSE先参与一次四则运算,转换成数值。