这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")
谢谢杰瑞。COUNTIFS()函数为我工作。但是当我尝试使用SUM()函数时,它不起作用。假设我想计算列A中值为1的单元格,则= SUM(A:A = 1)应该输出值'2',但它显示为'0'。 'SUM'功能是否接受范围,是否只有A:A,不能是A1:A12。你能否帮助我更多地了解SUM函数与各种值的关系。 – Srekk
@Srekk当你以这种方式调用SUM函数时,你必须“数组输入”它(因为它使用数组并且本质上不是数组函数)。要输入数组,请按住Ctrl + Shift,然后在输入公式后按Enter键。 – Jerry
哦,那是我犯错的地方。现在很清楚。感谢您给出清晰的图片。 – Srekk