手机版

Excel如何得到满足多个条件的值的和?

时间:2021-09-17 来源:互联网 编辑:宝哥软件园 浏览:

有一组数据,我们要在去掉一些数据后,求剩余数据的总和,如下图,需要数据区除代码FA、PD、SS外的分数总和。

您可以使用以下公式:

=SUM(B2:I2)-(SUMIF(b 1: I 1,“FA”,B2:I2) SUMIF(B1:I1,“PD”,B2:I2) SUMIF(B1:I1,“SS”,b 2: I 2))

但是如果数据很多,这个公式就会很长,不简洁。此时,我们可以使用SUMPRODUCT函数的公式:

=SUM(b 2: I2)-SUM product(((b 1: i1)=({“FA”;“PD”;" SS"}))*(B2:I2))

下面将解释这个公式的工作原理。公式的主要部分:

SUMPRODUCT(((b 1: i1)=({“FA”;“PD”;" SS"}))*(B2:I2))

它由两部分组成:

((b 1: i1)=({“FA”;“PD”;" SS"}))

(B2:I2)

其中,(B2:I2)被转换为由单元格区域中的数值组成的单行数组:{10,10,10,10,10,10,10,10,10}。很容易理解。

现在主要看一下:

((b 1: i1)=({“FA”;“PD”;" SS"}))

Excel将单元格区域B1:I1中的每个值依次与“FA”、“PD”和“SS”进行比较,生成一个3行8列的数组:

{假,真,假,假,假,假,假,假,假;假,假,假,假,真,假,假,假;假,假,假,假,假,假,真,假}

第一行是B1:I1中每个值与“FA”比较的结果,第二行是与“PD”比较的结果,第三行是与“SS”比较的结果。如下图所示。

将上面生成的两个中间数组相乘:

((b 1: i1)=({“FA”;“PD”;" SS"}))*(B2:I2)

那就是:

{假,真,假,假,假,假,假,假,假;假,假,假,假,真,假,假,假;假,假,假,假,假,假,真,假}*{10,10,10,10,10,10,10,10,10,10}

第一个数组的每一行中的每个元素乘以第二个数组中的相应元素,得到:

{0,10,0,0,0,0,0,0;0,0,0,0,10,0,0,0;0,0,0,0,0,0,10,0}

传递给SUMPRODUCT函数:

SUMPRODUCT(((b 1: i1)=({“FA”;“PD”;" SS"}))*(B2:I2))

那就是:

SUMPRODUCT({0,10,0,0,0,0,0,0;0,0,0,0,10,0,0,0;0,0,0,0,0,0,10,0})

获取:

30

因此:

=SUM(B2:I2)-(SUMIF(b 1: I 1,“FA”,B2:I2) SUMIF(B1:I1,“PD”,B2:I2) SUMIF(B1:I1,“SS”,b 2: I 2))

=80-30

=50

版权声明:Excel如何得到满足多个条件的值的和?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。