SUMIF 函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全部显示
•range必需。
用于条件计算的单元格区域。
每个区域中的单元格都必须是数字或名称、数组或包含数字的引用。
空值和文本值将被忽略。
•criteria必需。
用于确定对哪些单元格求和的条件,其形式可以为数字、表达式、单元格引用、文本或函数。
例如,条件可以表示为 32、">32"、B5、32、"32"、"苹果" 或 TODAY()。
•sum_range可选。
要求和的实际单元格(如果要对未在 range 参数中指定的单元格求和)。
如果sum_range参数被省略,Excel 会对在range参数中指定的单元格(即应用条件的单元格)求和。
•sum_range参数与range参数的大小和形状可以不同。
求和的实际单元格通过以下方法确定:使用sum_range参数中左上角的单元格作为起始单元格,然后包括与range参数大小和形状相对应
的单元格。
例如:
如果区域是并且 SUM_RANGE 是则需要求和的实际单元格是A1:A5 B1:B5 B1:B5
A1:A5 B1:B3 B1:B5
A1:B4 C1:D4 C1:D4
A1:B4 C1:C2 C1:D4
•可以在criteria参数中使用通配符(包括问号 (?) 和星号 (*))。
问号匹配任意单个字符;星号匹配任意一串字符。
如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。
示例 1
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例?
1 2 3 4 5 6
7A B C
属性值佣金数据100,000 7,000 250,000 200,000 14,000
300,000 21,000
400,000 28,000
公式说明结果
=SUMIF(A2:A5,">160000",B2:B5) 属性值高于 160,000 的佣金之63,000
8
9
1 0
和。
=SUMIF(A2:A5,">160000") 高于 160,000 的属性值之和。
900,000
=SUMIF(A2:A5,300000,B2:B3) 属性值等于 300,000 的佣金之
和。
21,000
=SUMIF(A2:A5,">" & C2,B2:B3) 属性值高于单元格 C2 中值的佣
金之和。
49,000
示例 2
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例?
1 2 3 4 5 6 7 8
9
1 0
1A B C
类别食物销售
额
蔬菜西红柿2300
蔬菜西芹5500 水果橙子800
黄油400 蔬菜胡萝卜4200 水果苹果1200 公式说明结果
=SUMIF(A2:A7,"水果
",C2:C7)
“水果”类别下所有食物的销售额之和。
2000
=SUMIF(A2:A7,"蔬菜
",C2:C7)
“蔬菜”类别下所有食物的销售额之和。
12000
1
1 2=SUMIF(B2:B7,"西*",C2:C7) 以“西”开头的所有食物(西红柿、西芹)的销
售额之和。
7800 =SUMIF(A2:A7,"",C2:C7) 未指定类别的所有食物的销售额之和。
400
在excel中
sumif函数是一个非常有用的函数,它可以按条件进行求和。
具体的用法搜集了本站
几个有关sumif用法的贴子,共大家学习和共享。
1 SUMIF函数的一个怪异用途(excel)
Excel表格中的SUMIF函数在条件求和时经常使用,我们一般习惯于于根据某一列计算另一列的数字之和。
例1:假设置A列是部门,B列是姓名,C列是工资,可以用下面的公式算出所有财务部员工的工资总和:
=SUM(A1:A100,"财务部",C1:C100)
我们今天说的不是这个正规用法,而是给大家介绍一种看上去和SUMIF毫无一毛钱关系的例子。
例2 如下图中,是一些不规则的数据,我们只关注填充颜色的区域,现在我们要计算所有A下面数字之和,看上去这个题没有好的思路,其实这个题恰好可以用SUMIF函数轻松解决。
=SUMIF(B2:E7,B12,B3:E8)
我们分析一下这个公式,第二个参数是条件我们可以了解,第一个参数和第二个参数有什么关系呢?大家仔细看会发现第三个参数正好是第一个参数的区域向下偏移一个单位。
总结,SUMIF函数并不是只对规则区域求和,还可以对不规则的排列进行条件求和
SUMIF入门篇
SUMIF作为Excel2003中一个条件求和函数,在实际工作中发挥着强大的作用,虽然在2007以
后被SUMIFS所取代,但它依旧是一个EXCEL函数的经典。
特别是高级用法,依旧适用于后面的
版本。
本文由兰色幻想原创,转载时请注明转自“Excel精英培训”。
SUM是求和,IF是如果。
如果什么。
就求和,其实就是按条件求和。
它的结构如下:
SUMIF(条件判断区域,条件,求和区域)
说明:
1 条件判断区域。
即然是条件求和,一是要有条件,二是要有判断的区域,SUMIF的第二个参数
就是求和的条件,第一个参数呢就是拿条件来这个区域进行对比的区域。
第一个参数必须是单元
格引用。
2、条件。
按条件求和就得有条件,该条件可以是字符串("ABC",可以用大于等对比符号连接起来的条件表达式(">100"),也可以使用通配符来表示匹配求和("AB*C")。
3、求和区域。
求和函数可以没有求和的区域算什么求和函数,该参数为单元格区域引用。
如C2:C100。
4、如果求和区域和判断区域是一个区域该怎么办呢?如在C2:C100中计算大于100的数字之和。
在这种情况下SUMIF函数由三个参数变换为两个参数。
即:
SUMIF(求和区域,条件)
例1;如下图所示。
要求根据左表中的商家明细表,生成右侧的汇总表,汇总出商家的总进货量
和总金额。
公式:
=SUMIF($A$2:$A$8,$F3,C$2:C$8)
公式说明:
$A$2:$A$8是判断区域,拿F3的商家名称在这个区域进行判断是否相同,如果上同,就把C2:C8区域的金额进行求和。
如果只按C列进判断求和呢?比如,计算C列金额大于200的金额之和。
公式可以变换为:SUMIF(C$2:C$8,">200")
关于入门级的SUMIF函数用法就介绍到这里了,进一步的用法将在“初级篇”中进行详细介绍,包括条件参数的组合、条件参数的模糊设置等。
敬请关注。
二、技巧篇
我们在学习了入门篇后,在常用技巧篇中将学习SUMIF常用的一些技巧。
谈到隔列求和,可能就会想到用数组公式,其实只需要用SUMIF函数就可以轻松实现。
例:计算费用表中的计划和实际合计数。
公式;=SUMIF(B$2:G$2,B$2,B3:G3)
提示;SUMIF函数不只是左右示和,还可以上下求和。
三进阶篇
SUMIF函数一般情况下只能进行一个条件的求和,但在二般情况下却可以实现对多个条件的求和。
什么是二般情况下呢?
SUMIF函数的第二个参数是“求和的条件”,这个参数可以用数组形式。
比如
{"A","B"} {">5","<10"}
条件使用数组形式后,SUMIF会分别根据两个条件计算出结果,然后再用SUM计算出结果。
一、对多个商品进行求和
例:如下图所示。
要求计算商品名称为手机和冰箱的销售之和。
公式:=SUM(SUMIF(A1:A9,{"手机","冰箱"},C2:C9))
公式说明:
SUMIF(A1:A9,{"手机","冰箱"},C2:C9) 会分别计算出手机的销量(16)和与冰箱的销售量(14)。
返回一个数组,即:{16,14},
SUM():对SUMIF返回的两个销售量进行二次求和。
二、按数字区间求和
例:如图一所示。
要求计算销售数量大于等5,小于10的销售数字之和。
公式:=SUM(SUMIF(C2:C9,{"<10","<5"})*{1,-1})
公式说明:
SUM(SUMIF(C2:C9,{"<10","<5"}):因为大于等5,小于10的区间和可以用<10的和减去<5的和。
所以先分别计算出这两个区间的和{21,10}
SUMIF()*{1,-1} 因为最终的结果是两个数相减,所以这里用数组与数组的计算,把第二个数变成负数{21,-10}。
这样在后面用SUM求和时就可以让这两个数相减了。
即SUM( {21,-10})
=11
SUMIF函数的进阶篇就介绍到这里,敬请期待SUMIF函数的高级篇(跨表多表求和求及数组公式应用)
示例下载:
upload/2012_04/12042413533149.rar
多条件求和
sumif可以在第二个参数处设置多个条件,如,要求计算A列值为"张三"和"李四"的C列和.公式为:
=sum(sumif(a:a,{"张三","李四"},c:c)
谈谈 Excel SUMIF函数用法多条件求和
2010年9月1日Surda
上篇文章跟大家分享了SUM函数非一般的用法,本文我们来品味SUMIF的魅力。
SUMIF,根据指定条件对若干单元格求和。
其函数原型:SUMIF(range,criteria,sum_range),参数:
range 为用于条件判断的单元格区域
criteria 为确定哪些单元格将被相加的条件,其形式可以为数字、表达式或文本。
例如,条件可以表示为32、”32″、”>32″或”surda”
sum_range 求和的实际单元格区域
我们知道,SUMIF函数是一个很常用且有用的条件求和函数,但估计大家常用只是单条件求和.
我们通过例子来看SUMIF函数的用法.(文末附实例下载)
(表名=sumif1)
单列条件区域求和
公式一=SUMIF(A2:A9,”t*”,C2:C9) = 1200
公式二=SUMIF(A1:A9,”t*”,C2:C9) = 1100
公式为计算域名t开头的google访问量,为什么两公式结果不一样?
特别说明:求和区域与条件区域错开1行,则参与求和单元格与原单平行单元格错开1行,再求和(SUMIF会自动偏移)
公式三=SUMIF(A2:A9,”t*”,C2) = 1200
特别说明:SUMIF第三参数可略写为求和区域的第1单元格
多列条件区域求和
我们同样计算域名t开头的google访问量,条件区域为A2:F9
公式四=SUMIF(A1:F9,”T*”,C1) = 2400
公式五=SUMIF(A1:F9,”T*”,C1:F9) = 2400
公式六=SUMIF(A1:F9,”T*”,C2) = 2200 //再次偏移1行
特别说明:SUMIF函数条件区域可以跨不同字段,第一参数(range)在同列并与第三参数(sum_range)水平距离保持一致。
域名字段分别在A\D,google字段分别在C\F,A->C的距离等于D->F的距离。
以上两例公式同样可以用SUM函数(数组公式)代替:
=SUMIF(A2:A9,”t*”,C2:C9)可替代为=SUM((LEFT(A2:A9)=”t”)*C2:C9) 数组公式
=SUMIF(A1:F9,”T*”,C1:F9)可替代为=SUM((LEFT(A2:A9)=”t”)*(C2:C9),(LEFT(D2:D9)=”t”)*(F2:F9))
跨表条件求和 SUM+SUMIF+INDIRET
表sumif2有如上图一样的数据区域,现在对两表A2:A9 开头为”t”的google访问量求和。
答案为600*4=2400
看公式:(数组公式 CTRL+SHIFT+ENTER)
=SUM(SUMIF(INDIRECT(“sumif”&{1,2}&”!A2:A9″),”t*”,INDIRECT(“sumif”&{1,2}&”!C2:C9″)))
以上应该是我们常用于单条件求和的SUMIF应用,如何实现双条件乃至多条件的求和。
还是用上面的例子:求以 t 开头域名来自google的访问量,但排除 t 本身。
公式十=SUM(SUMIF(A2:A9,{“t*”,”t”},C2:C9)*{1,-1}) = 600
我们用{}将双条件包裹起来做为常量数组,其原理由于篇幅关系就不深究,其实就是
=SUMIF(A2:A9,”t*”,C2:C9)-SUMIF(A2:A9,”t”,C2:C9) 的变体。
另:实例中还有个用单元格引用作为条件求和,在此也不多讲,估计实际应用中不多,看实例吧!
SUMIFS对某一区域内满足多重条件的单元格求和。
要点 SUMIFS 和 SUMIF 的参数顺序不同。
具体而言,sum_range 参数在 SUMIFS 中是第一个参数,而在 SUMIF 中则是第三个参数。
如果要复制和编
辑这些相似函数,请确保按正确顺序放置参数。
语法
SUMIFS(sum_range,criteria_range1,criteria1,criteria_range2,criteria2…)
Sum_range 是要求和的一个或多个单元格,其中包括数字或包含数字的名称、数组或引用。
空值和文本值会被忽略。
Criteria_range1, criteria_ra nge2, …是计算关联条件的 1 至 127 个区域。
Criteria1, criteria2, …是数字、表达式、单元格引用或文本形式的 1 至 127 个条件,用于定义要对哪些单元格求和。
例如,条件可以表示为
32、""32""、"">32""、""apples"" 或 B4。
我们可以从AVERAGEIF函数表中看到2003函数公式中有用到SUMIF,但是到了多条件AVERAGEIFS函数表中SUMIF却有点无能为力了,但是SUMIFS却是轻而
易举的解决了。
EXCEL2003时没有此新增函数公式为
方法一:数组公式
=SUM((B4:B11="一班")*(D4:D11="男")*F4:F11)
注此公式如不想三键组合可用SUMPRODUCT但运算原理仍是数组
=SUMPRODUCT((B4:B11="一班")*(D4:D11="男")*F4:F11)
EXCEL2007版SUMIFS公式为
=SUMIFS(F4:F11,B4:B11,"一班",D4:D11,"男")
公式中sum_range是指F4:F11,即“语文”这列的所有成绩。
Criteria_range1是指D4:D11,即性别这列数据,Criteria1是指条件“男
生”,Criteria_range2是指B4:B11,即“班级”这列数据,Criteria2是指条件“一班”。
趣味题:
熟悉函数三维运算的人都知道,SUMIF在三维合计运算中是一个非常不错的方法,但是SUMIF只能单条件,从而限制了此函数的更好运用,而SUMIFS就顺利
的解决了此问题。
在这个工作薄中有1、2、3三个工作表,要求计算日期大于11月1日小于12月5日项目为“乙”的数值合计结果
公式为:
=SUM(SUMIFS(INDIRECT(ROW($A1:$A3)&"!"&ADDRESS(2,MATCH("乙
",'1'!1:1,0))&":"&ADDRESS(6,MATCH("乙",'1'!1:1,0))),INDIRECT(ROW($A1:$A3)
&"!A2:A6"),">"&DATE(2007,11,1),INDIRECT(ROW($A1:$A3)&"!A2:A6"),"<"&DATE(2007,12,5))) "COUNTIFS计算某个区域中满足多重条件的单元格数目。
语法COUNTIFS(range1,
criteria1,range2, criteria2…)Range1, range2, …是计算关联
条件的 1 至 127 个区域。
每个区域中的单元格必须是数字或包含数字的名称、数组或引用。
空值和文本值会被忽略。
Criteria1, criteria2, …是数字、表达式、单元格引用或文本形式的 1 至 127 个条件,用于定义要对哪些单元格进行计算。
例如,条件可以表
示为 32、""32""、"">32""、""apples"" 或 B4。
我们可以从AVERAGEIF函数表中看到2003函数公式中有用到COUNTIF,但是到了多条件AVERAGEIFS函数表中COUNTIF却有点无能为力了,但是COUNTIFS却
是轻而易举的解决了。
EXCEL2003时没有此新增函数公式为
方法一:数组公式
=SUM((B4:B11="一班")*(D4:D11="男"))
注此公式如不想三键组合可用SUMPRODUCT但运算原理仍是数组
=SUMPRODUCT((B4:B11="一班")*(D4:D11="男"))
EXCEL2007版COUNTIFS公式为
=COUNTIFS(B4:B11,"一班",D4:D11,"男")
range1是指D4:D11,即性别这列数据,Criteria1是指条件“男生”,range2是指B4:B11,即“班级”这列数据,Criteria2是指条件“一班”。
Excel中product函数实例应用教程
时间:2013-07-04 00:02来源:Office教程学习网 编辑:麦田守望者本文通过五个实例来讲解Excel中product函数的使用方法和应用场景。
Excel中product是什么函数,一些朋友会忽略还有此函数。
product函数就是用来将所有以参数形式给出的数字相乘,并返回最终的乘积值。
有很多时候我们会直接使用四则运算的乘*号来代替product函数,但是在一些稍复杂的计算中,还是用PRODUCT函数来计算会更加方便。
首先看看product函数的用法:PRODUCT(数1,数2, (30)
为什么要到数30呢,因为PRODUCT函数最多可以有30个参数,如果超过30个参数的话,PRODUCT函数就会出错。
PRODUCT函数在使用时需要注意:当参数为数字、逻辑值或数字的文字型表达式时可以被计算;当参数为错误值或是不能转换成数字的文字时,将导致错误。
如果参数为数组或引用,只有其中的数字将被计算。
数组或引用中的空白单元格、逻辑值、文本或错误值将被忽略。
文字说明总是枯燥的,下面我们以几个小实例来认识理解product函数。
product函数实例一:利用product函数来求阶乘。
比如要求1*2*3*4*5*6*7*8*9*10的乘积。
可以使用数组公式:=PRODUCT(ROW(1:10)),结果为:3628800。
公式解析:ROW(1:10),用F9键可以看到结果为:{1;2;3;4;5;6;7;8;9;10},也就是用PRODUCT函数来求这些数的乘积,相当于:=1*2*3*4*5*6*7*8*9*10的结果3628800。
product函数实例二:取代PERMUT函数
Excel中PERMUT函数可以用来计算从给定数目的对象集合中选取的若干对象的排列数。
PERMUT(N,M) 可以来计算从N个数中选取M个数的排列数(N>=M),其实这样的算法也可以使用product函数来实现。
如下图:
C2公式为:=PERMUT(A2,B2),D2公式为数组公式:=PRODUCT(ROW(INDIRECT(((A2-B2)+1&":"&A2))))。
PERMUT函数和product函数都可以得到最终的结果。
product函数实例三:取代combin函数
Excel中combin函数是用来计算从给定数目的对象集合中提取若干对象的组合数,
combin(N,M) N>=M。
用product函数也可以来实现,如下图:
C2公式为:=COMBIN(A2,B2),D2公式为数组公式:=PRODUCT(ROW(INDIRECT(((A2-B2)+1&":"&A2))))/PRODUCT(ROW(INDIRECT("1:"&B2)))
combin函数和product函数都可以得到最终的结果。
product函数实例四:计算金额。
上图所示:如果计算A列乘以B列,除了直接使用=A2*B2以外,如果是使用product函数来写公式,需要稍微转换,公式为:=PRODUCT(A2*1,B2*1),如果直接使用:=PRODUCT(A2,B2),得到结果为1,显然是不对的,因为单价都没有,结果应该为0。
product函数实例五:活期利息计算
如下图所示:
D3单元格公式为: =PRODUCT(A3,B3,C3),下拉复制。
通过上面五个小小的实例,应该会使用product函数了。
Excel中sumproduct函数的使用方法和用途
•
•|
•浏览:8639
•|
•更新:2013-12-09 13:13
•
•
•
•
•
•
分步阅读
Sumproduct函数名字很长,我也不愿意记,但它是很有用的函数。
为方便记忆,可以费解为Sum.product,很显然,它是统计总和相关的。
工具/原料
• Excel2007
方法/步骤1
1.1
上表是公司人员,所属工段,年龄,工资等信息。
现在要统计每个工段所有人员的工资总和。
2. 2
从拆解工段开始。
输入=SUMPRODUCT(($B$2:$B$9=A12)*($D$2:$D$9));
$B$2:$B$9=A12,表示B2:B9区域中和A12单元格“拆解”一致的单元格,
$D$2:$D$9就是对应的工资区域,$表示绝对引用,这个很重要,保证公式复制到其他单元格时,查找区域不会发生变化。
3. 3
结果是9000,正确
4. 4
这时,我再考虑年龄因素,统计拆解工段年龄<30岁的人员的工资总和那么在公式中,就添加($C$2:$C$9<30),用乘号*与前面的相连。
整个公式为=SUMPRODUCT(($B$2:$B$9=A12)*($D$2:$D$9)*($C$2:$C$9<30))
5. 5
结果为3000,就张三是<30岁的,结果正确
6. 6
将公式复制到其他工段的单元格,得到所有工段<30岁的人员的工资总和。
在EXCEL中,有一种不常见的特殊运算,涉及到的"符号"有四种,分别是:--、*1、^0、&""
这些"符号",通常在特殊的运算中使用。
这些其实不应该称为“符号”。
它们都是实实在在的
运算,--和*1是算
术运算,^0是幂运算,&""则是文本运算。
它们的原理都是应用了Excel中的数据类型自动转换(日期、文本形式的数
字、货币等在参与算术运算时都将自动转换为数字,而多数类型在参与文本运算时都将自动转换
为文本)。
下面,给大家介绍这四种符号的用法。
①--两个减号的用法(减负运算)
--可以将文本型数值转换为数值型数字
举例:A1单元格内容为 '8,文本型数值经运算时转换成数值型数字8,第一个"-"(理解成,减)0
减8当然是-8 (减八
,负八各人理解),第二个"-",将-8前再加一个减。
这样可以理解成“减负(减去负八)”返回8
譬如:A1单元格内容为 '-8 注意,此时,A1单元格是文本-8,而不是数字-8
如果直接使用公式=IF(A1>7,"√","×")那么,所得结果为√;这是错误的结果,并不是“EXCEL自动将文本
-8变成了8”,而是在不等式中文本永远大于数字。
事实上在EXCEL不等式中,True>False>文本>数经过运算,就得出
√了。
要想正确的对A1单元格进行运算,我们就得使用--符号,将A1单元格的文本转换成为数字,正确的公式应该如下
:
=IF(--A1>7,"√","×")结果应该为×。
②^0符号的用法
^0 符号的作用是将数字转换成为1,^0通常用于有数组参与运算的公式,从而得到一个数
组元素全为1的数组。
比如,E3单元格的值的内容是数字6,那么,想在F3单元格中,将E3的内容变成1,那么,公式函数如下:结果就
为1了
=E3^0 结果就等于1了
③*1符号的用法
*1 符号的作用是将文本转换成为数字
比如,A9单元格等于 '-6注意,A9是文本,不是数字。
如果我们直接使用公式:
=IF(A9>5,"√","×")那么,结果就等于√,这样,明明是负6的,怎么可能大于5,应该输
出×的,结果却输出
√了。
因此,在这种情况下,我们需要使用 *1 符号,正确的将A9单元格转换成为数字。
如下公式
就是正确的公式了:
=IF((A9*1)>5,"√","×")结果等于×
④&""符号的用法
&""某些情况下可用在数组公式中修正显示值。
&""符号的作用是空格显示"空"(在VBA中则该叫Range对象),&""通常用在返回“引用”的公式后面,使得引用空
单元格时不返回数字0,而返回空字符串。
用EXCEL的sumproduct函数做条件统计
2012-08-08
sumproduct函数在多条件统计中具有王者之风,是一个Excel高手必备的技能之一。
前面已经写过一篇,这里再学习一下。
以下参考于:张志强——用EXCEL的sumproduct函数做条件统计
基本用法
sumproduct的正常用法是
= sumproduct(array1, array2, array3, ...)
它可以支持最高30个参数。
但必须要注意,这里每个参数都必须为数值型,连逻辑型都不行。
所以任何以下式子得到的结果都是0:
= sumproduct(A1:A100, B1:B100<>"a") ' 错误用法,结果总是返回0!
解决方法之一是通过显性或隐性的转换将逻辑值转为数值型:
= sumproduct(A1:A100, N(B1:B100<>"a")) ' 显性转换
= sumproduct(A1:A100, --(B1:B100<>"a")) ' 隐性转换,速度更快,推荐
另一个方法是使用连乘:
= sumproduct((A1:A100)*(B1:B100<>"a"))
使用连乘的技术原理可参考Excel区域计算的原理。
它比上面的多参数形式运算速度要稍微慢一些,但也有以下两个好处:
•连乘的表达式不需要转换逻辑表达式,写法更为简单。
•连乘可突破最多30个参数式子的限制。
和sumifs的区别
office 2007引入了sumifs,可进行多条件求和,可以部分实现sumproduct的功能。
但sumpr oduct有一个功能,sumifs无法做到。
比如:
= sumproduct((A1:A100)*((B1:B100="a")+(B1:B100="b")))
即sumproduct可以实现嵌套的条件求和(包括and和or),而sumifs只能实现并列条件求和(即只能是and)。
其实sumproduct的适用范围要宽的多,比如以下条件求和,sumifs都无法实现:
= sumproduct((A1:A100)*((C1:C100+D1:D100)>0))
' sumproduct可对不同区域进行预算
= sumproduct((A1:A100)*(C1:C100<D1:D100))
' sumproduct可对不同区域进行比较
= sumproduct((A1:A100)*(LOG(C1:C100,2)))
' sumproduct可使用excel内置函数
其它
数组公式
sumproduct的所有功能都可以用公式组实现。
比如将sumproduct换成sum,然后按CTRL+ SHIFT+ENTER确认,可得到一模一样的结果
= sumproduct((A1:A100)*((B1:B100="a")+(B1:B100="b")))
{= sum((A1:A100)*((B1:B100="a")+(B1:B100="b")))}
但数组公式难以被理解,输入速度慢(无法拖动等等),并且一般情况下数组公式比普通公式效率要低,所以能用普通函数实现的功能,建议直接使用普通函数。
加权平均值
value和weight分别为值和权重,那么可以通过以下方法
= sumproduct(value*weight) / sum(weight)
公式可包含数据
Excel支持直接输入数据,所以我们可以使用下面这样的表达式:
= sumproduct((A1:A4)*{1;2;3;4})
注意下面公式得到的结果是一样的,但运算效率要低很多。
从Excel区域计算的原理知道,下面的式子中sumproduct的参数被展开成一个4×4的方块,所以运算速度要慢一个级别(线性 vs 平方):
= sumproduct((A1:A4)*{1,2,3,4})
这里区别在于”;”号表示换行,而”,”号表示下一列,所以{1;2;3;4}是一个列向量,而{1, 2, 3, 4}是一个行向量。
我们也可以将其结合,{1,2,3,4;5,6,7,8;9,10,11,12;}是一个3×4的矩阵。
EXCEL中SUMPRODUCT的使用
2010-11-08 00:27 提问者悬赏:10分|匿名|分类:办公软件|浏览1393次
=SUMPRODUCT((A$21:A$46>=$A21)/COUNTIF($A$21:$A$46,$A$21:$A$46))如何理解?
分享到:
2010-11-08 08:54网友采纳
上楼解释很精辟,意思完全正确,我觉得楼主需要的是详细的解释,即公式执行的过程,这样以后自己写公式就可以借鉴相似的思路,我解释如下:
sumproduct函数是用来求对应数组两两相乘后的和.
你的这个公式可以表示为
=SUMPRODUCT((A$21:A$46>=$A21)*1/(COUNTIF($A$21:$A$46,$A$21:$A$46)))
为了好举例说明我们把公式改为
=SUMPRODUCT((A$1:A$5>=$A1)*1/(COUNTIF($A$1:$A$5,$A$1:$A$5)))
举例说明如下:
A1~A5单元格分别存放着
3
2
3
4
2
1,那么a$1:a$5>=$a1,即把a1到a5的每个值与a1进行比较,是不是大于等于a1,这个判断语句会产生一个真假值序列(真值为1,假值为0),这样就产生了(1;0;1;1;0)这样一个序列
2,另外一个语句1/(COUNTIF($A$1:$A$5,$A$1:$A$5)),条件计数语句countif($A$1:$A$5,$A$1:$A$5),即a
1~a5这5个数中的每一个数在A1~A5中有几个,这样也产生了一个序列(2;2;2;1;2),用1除以这个序列每
个数产生新序列即(1/2;1/2;1/2;1/1;1/2)
3,把1生成的序列和2生成的序列两两相乘然后求和,即(1;0;1;1;0)*(1/2;1/2;1/2;1/1;1/2)生成最终序列 {1/2;0; 1/2;1;0}求和等于2,所以A列中大于等于A1而且不重复的数字个数是2个.
Excel财务函数:SUMPRODUCT
会计网2013-03-01 14:02 |
分享到:
收藏文章
财务人员平常使用Excel是件很平常的事,下面给大家介绍介绍sumproduct函数的使用方法,sumproduct函数实例,Excel财务函数SUMPRODUCT。
一、SUMPRODUCT函数语法及功能
SUMPRODUCT函数功能:计算工作表内多列中对应值相乘之后的和,即乘积之和。
其语法为:
SUMPRODUCT(array1,array2,array3, …)
其中,Array1, array2, array3, …为 2 到 30 个数组,其相应元素需要进行相乘并求和。
数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。
该函数将非数值型的数组元素作为 0 处理。
二、SUMPRODUCT函数乘积之和举例
表如下:
A B C D (列号)
1 2 10 20 (第2行)
3 4 30 40 (第3行)
5 6 50 60 (第4行)
公式: =SUMPRODUCT(A2:B4, C2:D4),说明:两个数组的所有元素对应相乘,然后
把乘积相加,即 1*10 + 2*20 + 3*30 + 4*40 + 5*50 + 6*60(结果为910)
二、多条件求和+求个数
A、使用SUMPRODUCT进行多条件计数,计数就是统计满足条件的个数。
语法:=SUMPRODUCT((条件1)*(条件2)*(条件3)* …(条件n))
作用:统计同时满足条件1、条件2到条件n的记录的个数。
实例:=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称")),公式解释:统计性别为男且职称为中级职称的职工的人数
B、使用SUMPRODUCT进行多条件求和
语法:=SUMPRODUCT((条件1)*(条件2)* (条件3) *…(条件n)*某区域)
作用:汇总同时满足条件1、条件2到条件n的记录指定区域的汇总金额。
实例:=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称")*C2:C10)
公式解释:统计性别为男性且职称为中级职称的职工的工资总和(假设C列为工资)
SUMPRODUCT(条件1*条件2*条件3...条件N)利用此函数进行多条件计数时,* :满足所有条件;
SUMPRODUCT(条件1+条件2+条件3...+条件N) + :满足任一条件
例子一:
=SUMPRODUCT((G1:G3="男")*(E1:E3<=60))
这个公式的意思就是要这样来统计,G1:G3满足条件是男的,同时E1:E3的数值小于等于60,满足这两个条件的总人数。
首先这是一个数组公式,要按Ctrl+Shift+Enter 结束。
例子二:多条件求和
求男性及格人数:=SUMPRODUCT((C2:C13>=60)*1,(B2:B13="男")*1)
例子三:多条件求和
汇总三班籍贯为浙男性人数,=SUMPRODUCT((B2:B13="男")*1,(D2:D13="三班
")*1,(E2:E13="浙")*1)
Excel中区分使用COUNT函数和COUNTA函数
•
•|
•浏览:8797
•|
•更新:2012-12-25 14:28
•1
•2
•3
•4
分步阅读
在日常工作中,经常需要对含有数值或者内容的单元格数量进行统计,会用到统计函数。
这里,要区分常见的统计函数COUNT和COUNTA的使用。
1. 1
如图:在A7中输入“=COUNT(A1:D5)”,会对A1:D5区域统计包含数字值的单元格个数。
COUNT函数是对“()”内含数字值的参数的个数进行统计,参数可以是单元格、单元格区域、数字、字符等,对于含数字值的参数只按个数统计,数字值内容不影响:比如输入“=COUNT(A1:D5,1)”,显示“6”;
输入“=COUNT(A1:D5,1,百度)”显示“6”。
END
COUNTA函数的使用
1. 1
如图:在A7中输入“=COUNTA(A1:D5)”,会对A1:D5区域统计非空白单元格的个数。
COUNTA函数是对“()”内参数的个数进行统计,参数可以是单元格、单元格区域、数字、字符等,统计只按个数统计,内容不影响:
比如输入“=COUNTA(A1:D5,1)”,显示“8”;
输入“=COUNTA(A1:D5,1,888)”显示“9”;。