"《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……}这列数组了。