【问题标题】:Could you please help me understand the Excel formula你能帮我理解一下Excel公式吗
【发布时间】:2014-03-26 06:40:33
【问题描述】:

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

【问题讨论】:

    标签: excel


    【解决方案1】:

    这个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")
    

    【讨论】:

    • 谢谢杰瑞。 COUNTIFS() 函数对我有用。但是当我尝试使用 SUM() 函数时,它不起作用。假设我想计算 A 列中值为 1 的单元格,然后 =SUM(A:A=1) 应该输出值“2”,但它显示为“0”。 'SUM' 函数是否不接受范围,是否必须仅为 A:A 且不能为 A1:A12。您能否帮助我了解更多关于 SUM 函数与一系列值相关的信息。
    • @Srekk 当您以这种方式调用 SUM 函数时,您必须“输入数组”它(因为它使用数组并且本质上不是数组函数)。要数组输入它,请按住 Ctrl+Shift,然后在输入公式后按 Enter。
    • 哦,那是我做错的地方。现在很清楚了。感谢您提供清晰的图片。
    猜你喜欢
    • 2020-04-11
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2011-04-02
    • 2012-06-05
    • 2014-10-13
    • 2011-02-19
    相关资源
    最近更新 更多