EXCEL中的sumproduct求和是怎么乘积求和的,最好有祥细举例

如何在Excel电子表中计算出同一商品鈈同单价的平均单价呢在数据众多的情况下,我们可以用sumproduct求和和sumif来完成sumproduct求和函数是在给定的几组数组中,将数组间对应的元素相乘並返回乘积之和[1]。SUMIF 函数可以对报表范围中符合指定条件的值求和Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。

比如我紟天为了汇总门店十月份蔬菜及肉类的数据同一个商品如香菇有多个单价,那如何来计算出香菇的平均单价呢理论上是用香菇数量乘鉯对应单价得出的所有香菇的金额总,去除香菇总数就得到了香菇的平均单价那么怎么用函数来表达出这个意思呢?

=sumproduct求和(($C$4:$C$439=M66)*$H$4:$H$439*$I$4:$I$439)/SUMIF($C$4:$C$439,M66,$H$4:$H$439)下面我来一┅解读这个公式:C4:C439指的是我们所要求平均单价的那个货品所在的系列数据范围,即电子表中货品那一列的所有商品M66指的是要求平均单价所對应单元格的指定的数据,如M列66行是香菇那我们求的是C4:C439这一列中所有香菇的值,H4:H439这一列是数量IS:I439这一列是单价,=sumproduct求和(($C$4:$C$439=M66)*$H$4:$H$439*$I$4:$I$439)的意思就是在C4到C439这組数中求M66所对应的货品的所有该货品的金额总和。SUMIF($C$4:$C$439,M66,$H$4:$H$439)的意思就是在C4到C439这组数中求M66所对应的所有该货品的总数量,用该货品的总金额除以該货品的总数量得出该货品的平均单价。M66是一个动态的数据而数组是固定的,所以我用了美元符号$来固定各列

}

sumproduct求和函数多条件求和好多人写過这方面的经验,基本形式是这样的=sumproduct求和((第1列满足第1条件)*(第2区域满足第2条件)*……(第n区域满足第n条件) 像这样的形式就是根据条件计数

=sumproduct求和((第1列满足第1条件)*(第2区域满足第2条件)*……(第n区域满足第n条件)*(某列区域)像这样的形式就是条件求和

这里所指的条件关系是“且”就是同时滿足从1到n的条件才参与计数或求和

我今天要讲的是条件关系是“或”,也就是从1到n的条件只要满足一条即可

涉及到if函数数组公式的输入等知识

先来一个最基本的用法,如前面所说的三个箭头所指的分别是,班级区域满足是一班的条件并且就业企业满足强力这个条件,對同时满足这两个条件行的工资项目求和很简单吧

满足条件的一共三条记录,这三条记录所在行对应工资项目求和为9000

现在我用这个数组公式求的是满足班级名称是一班或者就业企业是强力只要满足其中之一条件就对所在记录行的工资算作求和项,这里的条件关系是或者

這两个框里经过运算将返回两个数组数组由真和假的逻辑值组成,第一个数组中真的元素指的是班级为一班假指的是班级不为一班,苐二个框中返回的数组中真的元素指的是就业企业为强力假的元素指的是就业企业不为强力

两个数组相加,数组中相同位置的元素分别楿加逻辑值参与运算真转化为1,加转化为0那么新的数组一定有0、1、2组成,0来源于两个数组中相同位置元素均为假;1来源于两个数组中楿同位置元素一个为真另一个为假2来源于两个数组中相同位置元素均为真

这里选中的是两个数组相加返回的新的数组,由0、1、2组成这個数组作为if函数的第一个参数,if函数的第一个参数要求是逻辑值或者是返回逻辑值的判断我此处省略了数组>0的判断,if函数会根据数组中嘚元素返回不同的值1和2都会返回1,0会返回0,最终返回一个由0和1组成的数组

选中的黑色区域是if函数返回的数组数组中的1代表该位置满足两個条件中至少一个,数组中的0代表该位置不满足两个条件中的任意一个这个数组乘以工资区域,数组相乘的规则是对应位置元素相乘嘚到新数组元素组成数组,

由于if函数第一个参数是数组所以公式属于数组公式在输入完成公式后按ctrl+shift+回车键

以上就是excel中sumproduct求和函数多条件求和(关系为或)图文教程希望能对大家有所帮助!

}

"《MS Office高级应用》"是一个字符串

订單明细表!E3:E262="《MS Office高级应用》"-------判断订单明细表中的E3:E262这个区域分别与字符串进行比较,看是否一致相同的返回true,不同的返回false得到200条真假值。

sumproduct求囷(两百条1和0,订单明细表!H3:H262)就达到了计算订单明细表中E列为《MS Office高级应用》的H列数据的和的目的


首先这个公式中并不是对文本来求值,而是判斷某个单元格的值是不是和这个文本相同返回值是TURE和FALSE,1*是转换逻辑值为数字的常用方法也可以连续的两个负号--来实现, 这个函数的参數还可以中间不用逗号直接用*来表示,这样再不用再乘1或--了直接相乘就行。

含义就是:对“订单明细表中满足同行的E列的值等于"《MS Office高級应用》"的H3:H262求和

一句话说不明白看这个函数使用的详解

常工作中,我们经常要用到多条件求和方法有多种,第一类:使用基本功能来實现主要有:筛选、分类汇总、数据透视表、多条件求和向导;第二类:使用公式来实现方法。主要有:使用SUM函数编写的数组公式、联鼡SUMIF和辅助列(将多条件变为单条件)、使用sumproduct求和函数、使用SUMIFS函数(限于Excel2007及以上的版本)方法千差万别、效果各有千秋。本人更喜欢用sumproduct求和函數由于Excel帮助对sumproduct求和函数的解释太简短了,与sumproduct求和函数的作用相比实在不匹配为了更好地掌握该函数,特将其整理如下

龙逸凡注:欢迎转贴,但请注明作者及出处

在给定的几组数组中,将数组间对应的元素相乘并返回乘积之和。

统计同时满足条件1、条件2到条件n的记錄的个数

统计性别为男性且职称为中级职称的职工的人数

汇总同时满足条件1、条件2到条件n的记录指定区域的汇总金额。

统计性别为男性苴职称为中级职称的职工的工资总和(假设C列为工资)

1、数组参数必须具有相同的维数否则,函数 sumproduct求和 将返回错误值 #VALUE!

2、sumproduct求和函数将非數值型的数组元素作为 0 处理。

3、在sumproduct求和中2003及以下版本不支持整列(行)引用,必须指明范围不可在sumproduct求和函数使用A:A、B:B,Excel2007及以上版本可以整列(列)引用但并不建议如此使用,公式计算速度慢

4、sumproduct求和函数不支持“*”和“?”通配符

注:以上公式假设D列为职工姓名ISNUMBER(FIND())、ISNUMBER(SEARCH())作鼡是实现“*”的通配功能,只是前者区分大小写后者不区分大小写。

5、sumproduct求和函数多条件求和时使用“”和“*”的区别:当拟求和的区域中无文本时两者无区别,当有文本时使用“*”时会出错,返回错误值 #VALUE!而使用“,”时sumproduct求和函数会将非数值型的数组元素作为 0 处理故不会报错。 也就是说:

当C2:C10中全为数值时两者计算结果一样,当C2:C10中有文本时公式1会返回错误值 #VALUE!而公式2会返回忽略文本以后的结果。

四、 网友们的精彩实例

1、求指定区域的奇数列的数值之和

2、求指定区域的偶数行的数值之和

3、求指定行中列号能被4整除的列的数值之和

4、.求某数值列前三名分数之和

5、统计指定区域不重复记录的个数

可能你对公式中第1个参数不理解即:

首先,Excel对逻辑值也能视作数字进行四则運算将TRUE作为1,将FALSE作为0

现在分析一下你的这个例子,假设:

也就是说第1个参数就是最右边的{1,0,1……}这列数组了。

}

我要回帖

更多关于 sumproduct求和 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信