我正在为我的家庭创建每月预算,并且希望能够显示给定月份的预期支付日期。每周四有一个人得到报酬,所以我只用
contentTextView.layoutIfNeeded() // restore actual size
let textViewSize = contentTextView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let insets: UIEdgeInsets = contentTextView.textContainerInset;
contentTextViewHeightConstraint.constant = textViewSize.height + insets.top + insets.bottom
self.layoutIfNeeded() // refresh main view
其中F1是我手动为其输入预算的月份的第一天。
由于并非总是有第5个星期四,所以我编写了一个if语句,如果存在的话,它将输入该月第5个星期四的日期,但如果不存在,则将其填充为“总计:”(工资在下一栏中计算)类似地)。这样,如果有第5个星期四,则该日期将被填充,并且其下一行将是“总计:”,但是如果没有,则该第5个星期四单元格将被填充为“总计:”。 (C9是第4个星期四的日期)
=DATE(YEAR(F1),MONTH(F1),1+1*7)-WEEKDAY(DATE(year(F1),month(F1),8-5))
现在,我想做同样的事情,但是每两周一次。那就是我希望发薪日期显示在给定月份的双周计划中,但前提是日期在该月之内。示例:特别是对于5月,发薪日是19/5/19,然后是下一个5/24/19(每个星期五两周)。
所以我的问题是,当我将F1作为新月的日期时,我可以正确地填充它,因为它可以是任何给定月份的第一个或第二个星期五,具体取决于发薪日的时间。我也想根据他们每月获得两次或三次报酬进行相同的计算,即,如果两次报酬不会填充,但是如果三次报酬则会填充。
奖金:有没有一种方法可以让Google表格在某个月的特定日期自动复制工作表(甚至命名它和/或更改单元格值(F1))?假设...每月的27号。
答案 0 :(得分: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)))