你能帮我理解一下Excel公式

我正在使用excel报告,其中包括公式被devise了很久以前,因为最近几天我开始面临在Excel报告单元格中的公式的问题。

使用的公式是:

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

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

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

这个SUM实际上计算了该工作表的D列中包含1 - High 同一行的列P包含Zero行。

这是一个小表格的例子:

 AB 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)) 

现在,在Excel中,True与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 

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

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

而这些值的总和是1。


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

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