【问题标题】:List of dates (Every 2 weeks) that includes the first of the month as well日期列表(每 2 周),包括当月的第一天
【发布时间】:2020-06-10 20:59:34
【问题描述】:

我正在尝试想出一个简单的公式,我可以无限扩展它以向我显示相隔 2 周(14 天)的日期列表,还包括本月的第一天。 2 周的部分很容易完成:

=A2+14

其中 A2 在字段中有开始计算的日期。然后我可以将它向下延伸到列:

=A3+14
=A4+14

等等...困难的部分是,我还想包括每个月的第一天。因此,该列表应动态包括每隔一个星期五和每月的第一天。所以结果会是这样的:

2/28/2020
3/01/2020
3/13/2020
3/27/2020
4/01/2020
4/10/2020

从该列表中可以看出,它每隔一个星期五查看一次,并且每月的第一天包含在结果中。我试过这样的事情:

=IF(MONTH(A3+14)>MONTH(A3),eomonth(A3+14,-1)+1,A2+14)

这个问题是,如果选择了每月的第一天条件,则下一个日期是每月第一天之后的 14 天。应该是上周五之后的 14 天。

【问题讨论】:

    标签: date if-statement google-sheets filter array-formulas


    【解决方案1】:

    尝试:

    =ARRAYFORMULA(SORT(UNIQUE({
     EOMONTH(ROW(INDIRECT(C1&":"&C2)), 0)+1; 
     FILTER(ROW(INDIRECT(C1&":"&C2)), 
     MOD(ROW(INDIRECT("A1:A"&DAYS(C2, C1)+1)), 14)=0)+1})))
    

    【讨论】:

    • 结果看起来不错,但是否可以不使用 C1 和 C2 引用?我尝试用实际日期替换它们,但它抱怨索引值。
    • 行得通!现在唯一让我感到困惑的是它的最后一部分。我将其更改为 A2:A 因为我想在第二行开始它(第一行有标题),但是当我这样做时,它会将所有内容更改为仅显示月份的第一天。不确定是什么导致了这种行为。
    • 知道了,我需要在最后一部分将 +1 更改为 +2。谢谢!
    • 您不需要将其更改为 A2:A。不管你把它放在哪里(row1、row2、row27),它都应该总是使用 A1:A,因为这是 MOD 计算(例如,它与公式所在的行无关)
    猜你喜欢
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    相关资源
    最近更新 更多