我正在为我的家庭创建每月预算,我希望能够显示当前月份的预期支付日期。一个人在周四拿到周薪,所以我简单地用了
=DATE(YEAR(F1),MONTH(F1),1+1*7)-WEEKDAY(DATE(year(F1),month(F1),8-5))其中,F1是我手动输入的一个月的第一个月的预算。
因为并不总是有第5个星期四,所以我写了一个if语句,如果存在,将输入该月的第5个星期四的日期,但如果没有,则填充为"Total:“(工资在下一列中的计算方式类似)。这样,如果有第5个星期四,将填充日期,其下方的行将为"Total:",但如果没有,则第5个星期四的单元格将填充为"Total:“。(C9是第四个星期四的日期)
=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 Sheets在每月的某一天自动复制一个工作表(甚至可以给它命名和/或更改一个单元格的值(F1))?比方说。每个月的27号。
发布于 2019-04-20 07:32:12
=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)))

https://stackoverflow.com/questions/55768689
复制相似问题