SUMOR与XOR条件的数据对

我在绞尽脑汁谈论如何做到这一点,经过多次使用SUMIF,arrays,SUMPRODUCT的试验后,我无法接近任何解决scheme,所以我希望有人可以协助。

鉴于下面的数据,我想有一个总和在每周“每周”列的底部总计了每周的第一列的每个项目的价值。 值得注意的是,它只应该计算每个项目的价值,如果它们可用(但从来都不是),则通过采取实际或预测。 如果两者都可用,实际值应该用于预测值。

最下面的一行显示了每列的正确总数,我希望有一个公式可以计算出来。

请注意,由于工作表的结构,我需要这样做没有帮手列和项目可能并不总是以正确的顺序(即它可以去实际,预测,实际,预测)添加。 此外,将有多达50个独特的项目,所以我真的需要一个更通用的公式,将适用于许多项目。

Week1 Week2 Week3 Week4 Week5 Item1 Actual 500 0 100 0 Item2 Actual 400 100 0 Item1 Forecast 200 200 300 200 Item2 Forecast 100 0 100 900 100 100 0 300 

我不相信这完全可以用公式和辅助列来完成。 我想出了一个使用公式和只有一个帮助列的解决scheme。

鉴于表格是这样设置的…

在这里输入图像说明

…您需要执行以下操作:

  • Enter =OR(COUNTIF(A$2:A$7,A2)=1,B2="Actual")到I2
  • 复制公式以涵盖所有项目
  • 在C9中input=SUMIF($I2:$I7,TRUE,C2:C7)
  • 复制公式到右边来覆盖所有星期

I2中的公式计算与当前项目匹配的项目数量。 如果总共有一个或者总共有两个,但是当前的是“实际”,那么它置为TRUE ,否则置为FALSE 。 (我在这里假设你只有一个“预测”和一个“实际”每个项目,如果不是这样,请让我知道)。

有了这个帮助栏, SUMIF公式就相当简单了 – 它只是将那一周在第一列中有TRUE值的值加起来。

助理专栏在单独的工作表上

如果您绝对不能在Sheet1上放置帮助器公式(或者您的工作表名称),则可以添加一个新工作表(Sheet2),然后将帮助器列放在该工作表上。 在这种情况下,您需要执行以下操作:

  • input=OR(COUNTIF(Sheet1!A$2:A$7,Sheet1!A2)=1,Sheet1!B2="Actual"))到工作表2,A2(用Sheet1replace现有工作表的名称)
  • 复制公式以涵盖所有项目
  • input=SUMIF(Sheet2!$A2:$A7,TRUE,C2:C7)到C9中(使用新工作表的名称replaceSheet2)
  • 复制公式到右边来覆盖所有星期

这应该没有帮手列。

 =SUMPRODUCT((COUNTIFS($A$2:$A$5,$A$2:$A$5,C2:C5,"")+($B$2:$B$5="Actual")>0)*1,C2:C5) 

用Ctrl + Alt + Enter确认

这是Week1的公式,即单元格C7。