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

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

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

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

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

工具/原料

电脑

excel

方法/步骤

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

满足条件的一共三条记录,这三条记录所在行对应工资项目求和为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代表该位置不满足两个条件中的任意一个,这个数组乘以工资区域,数组相乘的规则是对应位置元素相乘,得到新数组元素组成数组,

sumproduct在将此数组内元素相加

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