我一直在制作 Excel 预算工作表,以帮助我了解每份薪水需要支付哪些账单。我每两周领一次工资。在第一栏中列出了当年的所有发薪日期。此付款清单由公式 =SEQUENCE(26,1,I2,14) 创建。
A 至 F 列逐项列出每张账单。 A 列是帐单频率(每周、每两周、每月和每年),C 是帐单金额,D 是基于大致每月总额的计算,E 是到期日,F 是帐单是否支付一张信用卡。如果使用信用卡,我还有另一张表格,其中列出了信用卡每月付款并添加到最低应付金额中。
我遇到的问题是计算每月账单的 J 列。例如,查看第 2 行“租金”,账单到期日为每月 1 日。我想查看每个付款周期,并将租金金额(单元格 C2)添加到将包含在内的所有付款周期中。例如,2024 年 1 月 26 日(单元格 I4)- 2024 年 2 月 8 日(单元格 I5 -1)。如果适用,这将适用于所有付款期间的所有账单。
我的计算总结如下,以及迄今为止我完成的代码。当付款期的结束日期在数字上高于开始日期(即 1/12/2024 - 1/26/2026)时,此方法适用。但它不适用于以新月份结束的期间,即 1/26/2024 - 2/9/2024。
IF A:A = W (Weekly)
SUM(SUMIFS(C:C, A:A, "=W", F:F, "<>X") * 2)
SUM C:C
- Plus -
IF A:A = B (Bi-weekly)
SUMIFS(C:C, A:A, "=B", F:F, "<>X")
SUM C:C
- Plus -
IF A:A = M (Monthly)
IF E:E as <day of month> >= I3
and E:E as <day of month> < I4
and F:F not X
SUM C:C
- Plus -
IF A:A = Y (Yearly)
SUMIFS(C:C, A:A, "=Y", E:E,">="&I3, E:E, "<"&I4, F:F, "<>X")
SUM C:C
J 列的完成代码(到目前为止):
=SUMIFS(C:C, A:A, "=W", F:F, "<>X")*2 + SUMIFS(C:C, A:A, "=B", F:F, "<>X") + SUMIFS(C:C, A:A, "=M", E:E,">="&DAY(I3), E:E, "<"&DAY(I4), F:F, "<>X") + SUMIFS(C:C, A:A, "=Y", E:E,">="&I3, E:E, "<"&I4, F:F, "<>X")
有谁知道在新月份的结束日期执行此操作的好方法吗?我喜欢在公式中完成此任务,而不是在 VBA 代码或宏中。
尝试使用不同的日期公式作为每月频率,包括
SUMIFS(D4, DATE(YEAR(I3), MONTH(I3), E:E), ">="&DATE(YEAR(I3), MONTH(I3), DAY(I3)), DATE(YEAR(I4), MONTH(I4), E:E), ">="&DATE(YEAR(I4), MONTH(I4), DAY(I4)))
我建议您在两周=周期间分为两个不同月份的情况下使用两个单独的 sumis,如下所示:
=IF(MONTH(I4)=MONTH(I3),
SUMIFS(C$2:C$26,A$2:A$26,"M",E$2:E$26,">="&DAY(I3),E$2:E$26,"<"&DAY(I4),F$2:F$26,"<>"&"X"),
SUMIFS(C$2:C$26,A$2:A$26,"M",E$2:E$26,">="&DAY(I3),F$2:F$26,"<>"&"X")+SUMIFS(C$2:C$26,A$2:A$26,"M",E$2:E$26,"<"&DAY(I4),F$2:F$26,"<>"&"X"))
这只做月份部分 - 我认为其余的应该没问题。
一些测试数据: