你能帮我理解一下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")