对复杂的副产品配方的解释

时间:2017-04-21 12:40:44

标签: excel

这个问题与此question有关。

有人愿意帮助我理解这个公式吗?

=SUMPRODUCT((($A$3:$A$6=B9)+($C$1:$F$1=B9)>0)*($C$3:$F$6="YES"))

2 个答案:

答案 0 :(得分:1)

1 - $A$3:$A$6=B9是什么意思?
当您的示例中的任何单元格A3:A6=B9 =“Team1”时,它的计算结果为True $ 3 $:$ A $ 6 $用于在您拖动公式

的情况下修复引用

2 - $C$1:$F$1=B9是什么意思?
与上面相同,当您的示例中的任何单元格C1:F1=B9 =“Team1”时,它的计算结果为True $ C $ 1:$ F $ 1 $用于在拖动公式时修复引用

3 - (($A$3:$A$6=B9)+($C$1:$F$1=B9)>0)是什么意思?
上述1&中的每个True当True(使用+)
时,2将变为1 如果True 1 + 1> 0,如果其中一个为真1 + 0> 0或0 + 1> 0

4 - $C$3:$F$6="YES"是什么意思?
如果在C3:F6之间的任何单元格中有“是”,则它将评估为True(1)

5 - 将(($A$3:$A$6=B9)+($C$1:$F$1=B9)>0)$C$3:$F$6="YES"相乘意味着什么? True = 1,False = 0
当您只乘以1 * 1时,将计数

6-采取以下措施:  SUMPRODUCT(($A$3:$A$6=B9)+($C$1:$F$1=B9)>0)*($C$3:$F$6="YES")是什么意思? Sumproduct将产品的1加起来,它表示产品为1时的计数

答案 1 :(得分:0)

SUMPRODUCT((($ A $ 3:$ A $ 6 = B9)+($ C $ 1:$ F $ 1 = B9)大于0)*($ C $ 3:$ F $ 6 = “YES”))

首先要接受的是,此函数使用数组,而不是单个值,因此参数中的范围。

$A$3:$A$6=B9创建一个True / False的一维数组,具体取决于该范围内的每个单元格是否等于B9。

$C$1:$F$1=B9做同样的事情,虽然这个引用是水平的

因此,公式现在包含两个长度相等的一维数组,这些数组填充了True / False个值(也表示为零和一个)。

将它们加在一起的行为意味着我们现在有一个值为0的数组,如果两个单元格的值都不等于B9,则一个值相等则为1,如果两个值相等则为2 。

然后通过逻辑>0运行,它表示如果一维数组中的值为零,一个和两个的值大于零,则为真。这基本上保留了所有零并将它们转换为false并将任何其他值更改为true。

如果范围值等于“是”则另一部分$C$3:$F$6="YES"创建一个长度相等的数组true,如果不是,则创建false

请记住,true / false的每个数组都可以表示为0/1并且两个值相乘,这会产生一个1和0的数组,可以求和给出一个对应于的总数:

A3:A6等于B9或C1的值的数量:F1等于B9和C3:F6等于'是'

以下数组公式做同样的事情(按ctrl + shift + enter,而不是在输入单元格时输入以使其工作),然后使用FORMULAS菜单下的'Evaluate Formula'来查看它行动一步一步:

=SUM(--((--(A3:A6=A9)+--(C1:F1=A9))>0)*--(C3:F6="YES"))