![如何根据日期范围计算每月开支](https://linux22.com/image/1583883/%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%E6%97%A5%E6%9C%9F%E8%8C%83%E5%9B%B4%E8%AE%A1%E7%AE%97%E6%AF%8F%E6%9C%88%E5%BC%80%E6%94%AF.png)
我甚至不知道如何正确表达这个标题。提前感谢您的耐心。
我有多张跨越不同时间段的账单,我需要计算出每月的金额。
例如:
10/09/2018 - 12/11/2019 Water $ 77.58
11/15/2018 - 01/14/2019 Sewer $124.12
12/01/2018 - 01/31/2019 Trash $ 43.14
12/11/2018 - 02/14/2019 Water $ 68.99
02/01/2019 - 03/31/2019 Trash $ 43.14
它们各自跨越 2 个月,但开始/结束点不同,而不是在月份的开始/结束。
我想将上述数据输入到一个表格中,然后计算一月、二月、三月等月份的水费 + 下水道费 + 垃圾费。
我的第一个想法是计算该期间覆盖的天数,然后计算每天的费用。但后来我陷入了困境,因为我不知道下一步该怎么做一月份的总数是....
我不确定解决这个问题的正确方法。如果能提供任何提示、网页参考,我将不胜感激。我实际上应该如何称呼/归类这个问题——我甚至不知道该如何措辞。
谢谢。
答案1
您走在正确的道路上。以下是使用辅助单元格和列来简化一些事情的模型:
这些是此表上的公式:
以下是可供复制和粘贴的文本公式。
月初和月末:
=DATEVALUE( G1 & " 1, " & F1)
=EOMONTH(F2,0)
每日费用:=D3/DAYS(B3,A3)
月初是否在结算日期范围内?从本月月初到结算日期范围结束或月底的天数(以先到者为准)。乘以每日费用。
=IF(AND(F$2>=$A3,F$2<=$B3),$E3*DAYS(IF($B3<G$2,$B3,G$2),F$2) +1,"")
月底在范围内...但有额外的限制,即月初不在此日期范围内。如果是,则计费范围涵盖整个月,并且已在月初列中计算。
=IF(AND(G$2>=$A3,G$2<=$B3,$A3>F$2),$E3*DAYS(G$2,IF($A3>F$2,$A3,F$2)) +1,"")
最终总计,查看月初和月末的列。如果有数字,则它是本月费用的一部分。将与此月效用(行)标题相对应的每个条目的两列相加:
水=SUMIF(C3:C7,H2,F3:G7)
下水道=SUMIF(C4:C8,H3,F4:G8)
垃圾=SUMIF(C5:C9,H4,F5:G9)
答案2
使用您的数据集,我想建议使用此公式来获取一月至三月的水、下水道和垃圾的总费用。
=SUM(SUMIFS($D$2:$D$6,$C$2:$C$6,{"Water","Sewer","Trash"},$A$2:$A$6,">=01/01/18",$B$2:$B$64,"<=03/31/19"))
为了使公式动态我建议使用单元格引用作为开始日期和结束日期的标准。
你的公式应该是:
=SUM(SUMIFS($D$2:$D$6,$C$2:$C$6,{"Water","Sewer","Trash"},$A$2:$A$6,">="&$E$1,$B$2:$B$6,"<="&$F$1))
注意:
由于您的数据集有日期2018 年至 2019 年期间所以我用这个句号第一公式否则可能会2019 年 1 月至 2019 年 3 月。
E1
并且F1
单元格包含开始日期和结束日期。
編輯:
通过在 E1 和 F1 中对开始日期和结束日期进行少量修改,可以使用相同的公式来获取其他值。
例如,要得到总费用(水费+下水道费+垃圾费)为了仅限一月,
01/01/19
写入E1
和。01/31/19
F1
另一个应该,3个月水费总额,为此只需消除下水道和垃圾从列表中并仅保留 {“Water”},或者您也可以这样写
$C$2:$C$6,"=Water"
。根据需要调整公式中的单元格引用。