如何根据给定月份创建双周付款计划

问题描述 投票:0回答:1

我正在为我的家人创建每月预算,我希望能够显示当前月份的预期支付日期。一个人每周在周四获得报酬,所以我只是习惯了

=DATE(YEAR(F1),MONTH(F1),1+1*7)-WEEKDAY(DATE(year(F1),month(F1),8-5))

其中F1是本月的第1个,我手动输入我预算的。

由于并不总是在第五个星期四,我写了一个if语句,如果存在则会输入该月的第5个星期四的日期,但如果不存在则会填充为“Total:”(薪水在下一栏同样计算)。这样,如果有第5个星期四,日期将填充,并且它下面的一行将是“Total:”,但如果没有,那么第5个星期四单元格将填充为“Total:”。 (C9是第4个星期四的日期)

=if(C9+7>=F1+31,"Total:",DATE(YEAR(F1),MONTH(F1),1+5*7)-WEEKDAY(DATE(year(F1),month(F1),8-5)))

现在,我想做同样的事情,但每两周一次。这就是我希望支付日期在两周一次的时间表上显示给定月份,但前提是它们在该月份内。示例:对于五月,特别是发薪日是在5/10/19,然后是下一个5/24/19(每周五两周)。

所以我的问题是,当我新的一个月的F1日期时,我可以正确地填充这个,因为它可以是任何给定月份的第一个或第二个星期五,具体取决于发薪日何时发生。我也想根据他们是否会在一个月内获得两到三次付款来进行同样的计算,也就是说,如果只有两次,它就不会填充,但如果只有三次,则不会填充。

额外奖励:有没有办法让Google表格在一个月的特定日期自动复制工作表(甚至可以命名和/或更改单元格值(F1))?让我们说......每个月的第27个月。

google-sheets google-sheets-formula
1个回答
0
投票
=ARRAYFORMULA(FILTER(TEXT(FILTER(TO_DATE(ROW(
 INDIRECT("A"&        DATE(YEAR(F1), MONTH(F1), 1)):
 INDIRECT("B"&EOMONTH(DATE(YEAR(F1), MONTH(F1), 1), 0)))), 
 REGEXREPLACE(TEXT(TO_DATE(ROW(
 INDIRECT("A"&        DATE(YEAR(F1), MONTH(F1), 1)):
 INDIRECT("B"&EOMONTH(DATE(YEAR(F1), MONTH(F1), 1), 0)))), "ddd"),
 "Mon|Tue|Wed|Thu|Sat|Sun", "♠")<>"♠"), "dd-mmm-yyyy"), 
 MOD(ROW(INDIRECT("A2:A"&COUNTA(FILTER(TO_DATE(ROW(
 INDIRECT("A"&        DATE(YEAR(F1), MONTH(F1), 1)):
 INDIRECT("B"&EOMONTH(DATE(YEAR(F1), MONTH(F1), 1), 0)))), 
 REGEXREPLACE(TEXT(TO_DATE(ROW(
 INDIRECT("A"&        DATE(YEAR(F1), MONTH(F1), 1)):
 INDIRECT("B"&EOMONTH(DATE(YEAR(F1), MONTH(F1), 1), 0)))), "ddd"),
 "Mon|Tue|Wed|Thu|Sat|Sun", "♠")<>"♠"))+1)), 2)))

0

© www.soinside.com 2019 - 2024. All rights reserved.