SUM函数的使用
语法:
SUM(参数1,参数2,...,参数30)
结果:返回所有参数中的数字之和。
说明:参数最多只能有30个,并且可以省略(即,,间没有参数或最后有一个,);
参数可以为引用、返回数值和文本及逻辑值的计算表达式、数组;
参数如为引用,可以是区域联合、区域交叉、三维区域引用,只要引用不再参与数组运算就可以如果参数为错误值或为不能转换成数字的文本,将会导致错误。
下面作一些详细的分析:
A.对文本、逻辑值及错误值的计算
对引用中的文本、数字型的文本、逻辑值忽略不计算。
3500
公式=SUM(H11:J14),只计单元格中的数值,不计文本、逻辑值
和I12格中的文本1000
sumif函数的使用方法绝对引用对数组中的文本、数字型的文本、逻辑值忽略不计。
3500数组公式,不带{、}号输入,按ctrl+shift+enter三键结束。
公式{=SUM({"姓名","a1","1000",TRUE,2000,FALSE,1500},H11:H14="a2")}
excel的帮助中有错误。
F中提出的方法。
参数或作为参数的计算表达式为逻辑值时,TRUE算1,FALSE算0。
34公式为=SUM(10,2>1,1>2,TRUE,FALSE,"2","2"&"0")
其中的2>1为逻辑值TRUE算1,直接参数TRUE算1,其他的FALSE算0,文本2和表达式文本B.以引用的运算作参数
区域联合86
此运算在SUM函数中算1个参数,当SUM中的参数
多于30个时可用此法来减少参数。
区域交叉70注意括号及2个引用间的空格,交叉引用
在SUM函数中也只算1个参数,此处实际运算返回
的是H31:K32和I29:J34相交的B31:C32区域。
联合区域不能在数组公式中继续进行计算。
交叉引用在数组公式中可以可以继续进行计算。
42公式为{=SUM(((H29:K34 I:I)>12)*(H29:K34 I:I))}
实际计算的是I29:I34区域大于12的值的和
C.以三维引用作参数
63公式为=SUM(SUM:SUMIF!H29:H34),其中SUM:SUMIF!H29:H34为对从SUM工作表开始至的H29:H34的区域引用。
象这样的直接三维引用不可继续用于数组计算中。
象下面这样的数组公式为什么是可以正确运算的?
191公式为{=SUM((H28:H34,I34,J29:K29),((H29:K34 I:I)>12)*(H29:K34 I:I),SUM:SUMIF!H29:H 请注意上面的数组公式中SUM函数有3个参数,第1个是联合区域引用,第2个是交叉区域引用计算的数
由于联合区域和三维引用区域均没有继续进行数组运算,所以在SUM函数的数组公式中作为单独的参数提示:我们在使用SUM函数的数组公式时,经常只考虑有1个参数,其实是忘了SUM函数最多可有30个
D.以没有打开的工作薄的指定表的指定区域引用作参数
600公式为=SUM('C:\excelhomefunction\[INDIRECT函数的使用.xls]Sheet2'!$B:$B)引用了C:\excelhomefunction\INDIRECT函数的使用.xls  工作薄Sheet2表的整个B列。
只要路径所指定的文件存在就不需要打开文件,如不存在就返回错误。
E.以(由一个元素的数组参数产生的)单元格区域引用作SUM
SUM函数不作为其他函数的参数可以使用,见G54格,1020
公式为=SUM(INDIRECT("H"&ROW()/2&":J"&ROW()/2+4))
实际相当于SUM(INDIRECT({"H27:J31"})),即对H27:J31区域求和。
H54格是将这样的SUM函数放在IF函数中作为参数,就错误了,
因为ROW()返回的是一个数组并不是一个数值,这样在数组公式中INDIRECT函数返回的并不是一个二而是三维的区域引用(第3维的尺寸是1),所以SUM的计算出错。
可以将公式改为I54格的样子(本论坛的会员提出的方法,先用SUM函数将ROW函数的数组变为数值),或
E.以(由多个元素的数组参数产生的)单元格区域引用作SUM函数的参数
一般是INDIRECT函数和OFFSET函数才能以多个数组元素,产生一系列对多个单元格区域的引用,返回SUM函数只能对第1个元素指定的区域求和,如H64格的公式。61
用内嵌SUMIF函数代替就正确了,见H65格。130
F.以非数字型文本作参数的方法
A中指出参数或作为参数的计算表达式为不是数字型的文本,返回错误。
要解决直接参数为非数字的问题,可按图设置。#VALUE!
按图设置后,Lotus1-2-
不利因素是,所有的公式均按
很多excel的表达式就会出错G.SUM函数在数组公式中的一些应用
多条件计数A部门的男性员工有几人?3
姓名部门性别工资(B92:B105="A")*(C92:C105="男")返回2个逻辑数组的乘积,A1A男1000TRUE*TRUE=1;TRUE*FALSE=0;FALSE*FALSE=0
A2B女1500所以此处是逻辑与的关系,在excel的IF函数的条件中,0表示A3C女1000去除IF函数可以简化公式为3
A4D女800A、B两部门的男性员工有几人?4
A5B女2000基于TRUE+FALSE=1;FALSE+FALSE=0;TRUE+TRUE=2 A6C男2500而(B92:B105="A")和(B92:B105="B")不可能同时满足,所以此A7D男1500再乘以(C92:C105="男")作为并列条件。
A8A男1000A部门所有女性员工和A部门工资1500以上的男性员工总数是A9C女10003
A10D男2000因为(C92:C105="女")和(D92:D105>=1500)可能同时满足,所A11A男3000NOT(TRUE)=FALSE;NOT(FALSE)=TRUE;NOT(0)=TRU A12B男900
A13A女1800
A14A女2500
多条件求和
A部门女性员工的工资总额是多少?4300
基于:FALSE*任何数=0;TRUE*任何数=原来的数
(B92:B105="A")*(C92:C105="女")为并列条件,*D92:D105后就是满足条件的工资。
所有女性员工的工资和男性员工工资1500以上的工资总额是多少?19600
如加IF函数就可以不用NOT(NOT())19600
提示:以(C92:C105="女")+(D92:D105>=1500)这样的形式表示条件或的关系,在条件可能同时满足时要或用IF函数判别。否则会多计数量的。
统计偶数行的工资总和是多少?11300
其中的(MOD(ROW(D92:D105),2)=0)就是判别是否偶数行。
特别提示:SUM函数在绝大多数的情况下用于数组公式中只能返回一个值,以后会讲到在某些特殊的在多单元格数组公式中,可在不同的单元格返回不同的值,好象是返回了一个数组,但那
中表现,而不能继续进行数组运算的。
Excelhome中有很多的相关帖子,请大家多看看。
引用不再参与数组运算就可以;
助中有错误。
F中提出的方法。
式作为参数
LSE算0,文本2和表达式文本20转换后计算。
75
29 H34为对从SUM工作表开始至SUMIF工作表结束
9:K34 I:I),SUM:SUMIF!H29:H34)}
2个是交叉区域引用计算的数组,第3个是三维区域引用。
的数组公式中作为单独的参数是可以的。
是忘了SUM函数最多可有30个参数。
s]Sheet2'!$B:$B)
薄Sheet2表的整个B列。
CT函数返回的并不是一个二维的区域引用,
ROW函数的数组变为数值),或用SUMIF代替(见J54格)。对多个单元格区域的引用,返回的是三维的区域引用,
置后,就按Lotus1-2-3的方式忽略文本。见H69格。
素是,所有的公式均按Loutus1-2-3的方式处理,
excel的表达式就会出错。
男")返回2个逻辑数组的乘积,基于
E=0;FALSE*FALSE=0
cel的IF函数的条件中,0表示FALSE,非0的数值表示TRUE。
如有2个以上并列条件,可将几个条件式相乘。
+FALSE=0;TRUE+TRUE=2
="B")不可能同时满足,所以此处是条件或的关系,
资1500以上的男性员工总数是多少?
105>=1500)可能同时满足,所以再用NOT(NOT())转换,基于LSE)=TRUE;NOT(0)=TRUE;NOT(非0数值)=FALSE
关系,在条件可能同时满足时要用NOT(NOT())转换
值,以后会讲到在某些特殊的函数组合中
好象是返回了一个数组,但那只能在单元格

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。