能帮我理解Excel公式吗?

时间:2014-03-26 06:40:33

标签: excel

我正在使用包含公式的excel报告设计得很久,因为最近几天我开始面对excel报告中的单元格中的公式问题。

使用的公式是:

=SUM(('Defects Past SLA'!D4:D72="1 - High")*('Defects Past SLA'!P4:P72="Zero"))  

'here 'Defects Past SLA'是工作表名称 '在该表中,D列的几个单元格的值为"1 - High",而P column的单元格值很少,值为"Zero".

我唯一的问题是Sum function如何在这里工作,请你帮我理解上面的公式。我尝试了很多,但无法弄清楚它的含义。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

SUM实际计算该工作表的D列包含1 - High 的所有行,其中同一行的P列包含Zero

以下是一个较小的表格的示例:

A    B
1    0
0    1
0    0
1    1

如果我这样做:

=SUM((A:A=1)*(B:B=1))

我会得到1

的结果

(A:A=1)给出一个TRUE和FALSE数组。当应用于上面的数据时,我们得到:

A 
1  => True
0  => False
0  => False
1  => True

在公式中代替,我们得到:

=SUM((True; False; False; True)*(B:B=1))

B栏也是如此:

B 
0  => False
1  => True
0  => False
1  => True

在公式中代替,我们得到:

=SUM((True; False; False; True)*(False; True; False; True))

现在,True与excel中的1相同,而False与0相同。这意味着,我们可以将上述内容重写为:

=SUM((1; 0; 0; 1)*(0; 1; 0; 1))

这是数组的乘法。数组的第一项将乘以下一个数组的第一项,以便我们得到:

1 x 0 = 0
0 x 1 = 0
0 x 0 = 0
1 x 1 = 1

这意味着如果我们用上面的公式代替结果,我们得到:

=SUM((0; 0; 0; 1))

这些值的总和为1。


请注意,您给定情况的等效公式为:

=COUNTIFS('Defects Past SLA'!D4:D72,"1 - High",'Defects Past SLA'!P4:P72,"Zero")