Excel:如何基于计算来求和值而不是范围?
问题描述:
我很难找到一种方法来创建一个公式,该公式可以基于计算值而不是范围对数据进行求和。Excel:如何基于计算来求和值而不是范围?
下面是什么我尝试实现简单的:
Task_Name User Start_Date End_Date
Task_A Peter 01/09/2016 28/10/2016
Task_B Peter 01/09/2016 05/09/2016
Total days for September
Peter 25
我需要一个公式,可以计算25天,如果输入是九月。如果我使用十月作为输入,它应该在十月的时间段内总结所有日期。
我用下面的公式来得到工作日公关。任务:
=MAX(NETWORKDAYS(MAX($C2,DATE(YEAR($B$9),MONTH($B$9),1)),MIN($D2,DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))))),0)
其中:
$B$9 = 01/09/2016
这个公式正确22天计算的第一个任务。
我的想法做一些事情,如:
{=SUM(MAX(NETWORKDAYS(MAX($C2:$C3,DATE(YEAR($B$9),MONTH($B$9),1)),MIN($D2:$D3,DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))))),0))}
上面没有工作,我一直在玩不同的选项,但不能破解密码 - 但:)
期待着一些投入。
编辑:
助手列不首选,因为它会让我的工作非常复杂。
/托马斯
答
{=SUMPRODUCT(NETWORKDAYS(
IF(DATE(YEAR($B$9),MONTH($B$9),1)<$C2:$C3+0,IF($C2:$C3+0<DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))),$C2:$C3+0,DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))+1)),DATE(YEAR($B$9),MONTH($B$9),1)),
IF(DATE(YEAR($B$9),MONTH($B$9),1)<$D2:$D3+0,IF($D2:$D3+0<DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))),$D2:$D3+0,DATE(YEAR($B$9),MONTH($B$9),DAY(EOMONTH($B$9,0))+1)),DATE(YEAR($B$9),MONTH($B$9),1))
))}
以上应该工作,它应该采取负数的照顾。从本质上讲,它确保两个日期在指定月份的开始和结束时限制(由$ B $ 9单元格指定)。当实际指定日期作为月份的开始或结束时,我不得不在每个月的末尾添加额外的一天,以避免在当月实际没有日期时计算。
我还没有广泛测试它,但随时与它玩,并反馈给我。我拆分公式跨线更好的知名度,但它是一个小怪物:)
我不明白为什么人们不喜欢助手列或“中期计算列”等。他们是至关重要的,如果你尝试建立一些复杂。如果你有一个复杂的公式,有几行高,并停止工作,这是不可能找到问题。如果计算结果以细小的步骤细分,您可以轻松查看问题出在哪里。另外...在帮手列上拉左,这是消失的。或者你创建一个计算表。所有计算均在表2中进行,您只需将finnished值链接到主表。 – Andreas
@Andreas我听到的解释总是'没有空间'和/或'混乱'。这对我来说似乎也很奇怪,因为几乎没有限制,每张纸上的'隐藏'选项和(现在)17,179,869,184个单元。因为在这里,我经常将更容易创建(并且更容易解释)的东西作为单独的组件来使用,仅仅是为了获得“单行”结果。例如,我怀疑许多与嵌套IFs斗争的人很容易用这种方法进行管理。 – pnuts
@pnuts!总是有计算空间,并且可以始终隐藏。 – Andreas