当前位置: 首页 > 考评动态 > 数组公式Part II:数组公式的计算过程

数组公式Part II:数组公式的计算过程

2019年06月25日 10:22:30 访问量:1269

问题:求产品AA的总价

 

B

C

D

3

产品编号

产品单价

产品数量

4

AA

1

100

5

BB

2

150

6

CC

3

200

7

AA

1

250

8

BB

2

300

350{=SUM(IF(($B$4:$B$8="AA"),($C$4:$C$8)*($D$4:$D$8),0))}

它的运算过程是这样的:

1. IF函数先判断$B$4:$B$8=AA的参数返回的结果为:


用公式表述为:

{=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

3. 到了这一步,公式返回出的是一组符合要求的数字了,该组数字用数组常量表示为{100;0;0;250;0}

4. 最后用SUM函数把这一组数组常量相加,得到最后结果:

350=SUM({100;0;0;250;0})

该公式可简化为:

350{=SUM(($B$4:$B$8="AA")*($C$4:$C$8)*($D$4:$D$8))}

在加减乘除的运算中TRUE=1FALSE=0,所以逻辑值能直接参与运算。

但是SUM函数中如果引用的数据区域中含有逻辑值的话,是忽略逻辑值的,除非是直接作为参数。

所以当你需要在SUM中使数据区域中的TRUE=1,FALSE=0的话,必须要使TRUE/FALSE先参与一次四则运算,转换成数值。

看看下面的例子能帮助你理解逻辑值是如何出来的,并能更好地理解上面这段话。

 

C

D

41

TRUE

=(1=1)

42

FALSE

=(1+1=1)

43

1

=TRUE+FALSE

44

-1

=FALSE-TRUE

45

0

=TRUE*FALSE

46

1

=SUM(TRUE,FALSE)

47

0

=SUM(C41,C42)

48

1

=SUM(C41*1,C42*1)

(来源于网络)

编辑:考核评价处
评论区
发表评论

评论仅供会员表达个人看法,并不表明网校同意其观点或证实其描述
教育部 中国现代教育网 不良信息 垃圾信息 网警110
正规网投平台版权所有 陕ICP备17018201号-1
中华人民共和国电信经营许可证 京ICP备13002626号-8
联系地址:陕西省宝鸡市东开发区高新大道29号
京公网安备11010502032087
现代教育网 提供技术支持 违法和不良信息举报中心
Copyright 2006-2020 www.baozhong.com.cn , All Rights Reserved
绵阳市科创区博雅学校 正规网投平台 邵阳县教师进修学校 北斗观察网 原平教育科技局 原平市第一小学 黑龙江庆安县第四小学 教育观察网 贵州新兴中等职业学校 聊城文轩中学 忻州市创奇高中学校 延津县清华园学校 商城思源实验学校 河南省汝南县第三小学 三五集团网 宝鸡高新第一中学 湖南益阳国基实验学校 上蔡县第一初级中学 衡水市冀州区信都学校 五寨县教育科技局