在 Google 表格中,如何在列表中获取今天的日期和前 19 天的日期。如果可能,不包括周末甚至节假日?

In Google Sheets, how can I get todays date and the previous 19 days in a list. Excluding Weekends and even Holidays if possible?

我从第一个单元格中的 =today() 开始,效果很好。然后使用我在互联网上找到的 =A2-IF(WEEKDAY(A2)<5,3,1) 但给了我错误的日期。

还有 19 天:

=INDEX(TEXT(SEQUENCE(19, 1, TODAY()-18), "dd/mm/yyyy"))

排除这 19 天中的周末:

=INDEX(QUERY(TEXT(SEQUENCE(19, 1, TODAY()-18), {"dd/mm/yyyy", "ddd"}), 
 "where not Col2 matches 'Sat|Sun'"),, 1)

添加也应排除的假期列表:

=INDEX(QUERY(TEXT(SEQUENCE(19, 1, TODAY()-18), {"dd/mm/yyyy", "ddd"}), 
 "where not Col2 matches 'Sat|Sun'
    and not Col1 matches '"&TEXTJOIN("|", 1, D2:D)&"'"),, 1)

排除周末和节假日后获得 19 个条目:

=INDEX(SORT(QUERY(TEXT(SEQUENCE(50, 1, TODAY()-49), 
 {"dd/mm/yyyy", "ddd", "@"}), 
 "where not Col2 matches 'Sat|Sun'
    and not Col1 matches '"&TEXTJOIN("|", 1, D2:D)&"'
  order by Col3 desc 
  limit 19"), 3, 1),, 1)

如果您出于某种原因需要 有效 日期,请使用:

=INDEX(TO_DATE(1*SORT(QUERY(TEXT(SEQUENCE(50, 1, TODAY()-49), 
 {"dd/mm/yyy", "ddd", "@"}), 
 "where not Col2 matches 'Sat|Sun'
    and not Col1 matches '"&TEXTJOIN("|", 1, D2:D)&"'
  order by Col3 desc 
  limit 19"), 3, 1)),, 1)