【发布时间】:2016-02-29 17:09:53
【问题描述】:
我正在绞尽脑汁思考如何做到这一点,在使用 SUMIF、数组、SUMPRODUCT 进行了多次试验后,我无法找到任何解决方案,所以我希望有人能提供帮助。
鉴于下面的数据,我想在每个“周”列的底部有一个总和,该总和是该周第一列中每个项目的值。问题是它应该只计算每个项目的值一次,如果它们可用的话,要么采用实际值要么采用预测值(但永远不要同时采用两者)。如果两者都可用,则应使用实际值而不是预测值。
底行表示每列的正确总数,我希望有一个公式来计算它。
请注意,由于工作表的结构,我需要在没有帮助列的情况下执行此操作,并且项目可能并不总是以正确的顺序添加(即它可能是实际、预测、实际、预测)。此外,将有多达 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
【问题讨论】:
-
为什么第 2 周要 300? 0 和空白一样吗?不应该是100吗?为什么第 3 周要 400? Item2和Item1的两个条目都没有数据,不应该是100吗?
-
如果您对这种数据结构感到困惑,那么我会使用 VBA 解决方案。但是,如果您可以更改数据结构,您将能够使用 SUMIF,而无需费尽心思。
-
@zaptask,呵呵!对不起,你是对的,这两个都应该是 100。
-
@dev1998,谢谢,如果可能的话,我会尽量避免使用 VBA,我真的希望有某种形式的查找与 SUMIF 相结合可以帮助...
-
我认为@devuxer 提供了一个很好的解决方案。我认为您也无法在没有帮助列的情况下获得公式解决方案。看看它,如果它适合你,那么一定要选择它是正确的。