2014-03-26 31 views
0

我使用的是包含公式的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在这里工作,你能帮我理解上面的公式。我尝试了很多,但无法弄清楚它的含义。谢谢你的帮助。

回答

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)结果给出了真假的数组。当上述适用于数据,我们得到:

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 

这意味着如果我们在上述公式中替换的结果,我们得到:

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

而且这些值的总和是1


请注意,您的特定情况下相当于公式将是:

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

谢谢杰瑞。COUNTIFS()函数为我工作。但是当我尝试使用SUM()函数时,它不起作用。假设我想计算列A中值为1的单元格,则= SUM(A:A = 1)应该输出值'2',但它显示为'0'。 'SUM'功能是否接受范围,是否只有A:A,不能是A1:A12。你能否帮助我更多地了解SUM函数与各种值的关系。 – Srekk

+0

@Srekk当你以这种方式调用SUM函数时,你必须“数组输入”它(因为它使用数组并且本质上不是数组函数)。要输入数组,请按住Ctrl + Shift,然后在输入公式后按Enter键。 – Jerry

+0

哦,那是我犯错的地方。现在很清楚。感谢您给出清晰的图片。 – Srekk