【问题标题】:SUM of cells based on the value of cells on the right and above基于右侧和上方单元格值的单元格总和
【发布时间】:2020-05-09 08:20:39
【问题描述】:

Y3(总预测)= 具有实际值的月份的所有实际值的总和 + 尚无实际值的剩余月份的所有预测值的总和。

目前,我使用的是这个公式:Y3

=SUMIF(A2:H2, Z2, A3:H3)+SUMIF(I2:X2, Y2, I3:X3)

它有效。但是我必须每月在实际成本中手动更新公式。所以我想设置一个公式,当单元格引用“实际”不为空时动态更改总和。

我已尝试使用偏移量、间接和地址进行 SUM。到目前为止,没有什么对我有用。

【问题讨论】:

    标签: if-statement google-sheets filter sum array-formulas


    【解决方案1】:

    Y3单元格中使用:

    =ARRAYFORMULA(SUM(FILTER(A3:X3, A2:X2="actual"),
     INDIRECT(ADDRESS(3, MIN(IF(A3:X3="", COLUMN(A:X)-1, )))&":X3")))
    

    【讨论】:

    • 谢谢@player0,我认为你的公式已经非常接近我想要的结果了。它总结了具有实际值的月份的预测,而我只想要总和中的实际值。
    • 您能分享一份带有所需输出示例的日志副本吗?
    • 当我将您的公式插入真实的电子表格时,我可能做错了什么。我使用测试数据再次测试了您的公式。它就像一个魅力。非常感谢。
    【解决方案2】:

    使用这个公式:

    =IFERROR(SUM(FILTER(A3:X3,{B3:X3,""}<>"",A2:X2=Y2)),0)
    

    =IFERROR(SUM(FILTER(A3:X3,A3:X3<>"",A2:X2=Z2)),0)
    

    更新:

    =arrayformula(sum(if(A2:X2="Actual",A3:X3,0)+
                      if(A2:X2="Forecast",if({B3:X3,""}="",A3:X3,0),0)))
    

    这可以用 sumif 改变,但我没有测试过

    另一个1:

    =arrayformula(sum(A3:X3-if(A2:X2="Forecast",if({B3:X3,""}<>"",A3:X3,0),0)))
    

    另外 2 个:

    =arrayformula(sum(if (A2:X2="forecast",if({B3:X3,0}="",A3:X3,{B3:X3,0}),0)))
    

    【讨论】:

    • 感谢@user11982798,您的公式在输出中产生了 0。我不知道为什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多