Sample Sheet - 预期结果
我需要帮助列出 Google表格列中所有缺失的日期,其中的开始日期为今天()。
日期范围:出勤率!G2:G
公式:DashBoard!T1
以下是部分工作的公式,显示第一个缺失日期仅。但我要求它列出所有缺少的日期。
部分工作公式:
Console.WriteLine($"{Finish:dd/MM/yyyy}");
谢谢! Zatin
答案 0 :(得分:2)
=FILTER(WORKDAY.INTL(Attendance!G2,ROW(A1:INDEX(A:A,today()-Attendance!G2)),"0000000"),ISNA(MATCH(WORKDAY.INTL(Attendance!G2,ROW(A1:INDEX(A:A,today()-Attendance!G2)),"0000000"),Attendance!G2:G,0)))
答案 1 :(得分:1)
=filter(
arrayformula(Attendance!G2+row(indirect("1:"&today()-Attendance!G2))),
isna(match(
arrayformula(Attendance!G2+row(indirect("1:"&today()-Attendance!G2))),
Attendance!G2:G29,
0
))
)
主要思想是“所有缺失列表”正式是从所有可能日期的集合中减去现有日期集合的结果。
为了实现集合减法(补语),我们使用公式的组合,FILTER + ISNA / MATCH。 FILTER的第一个参数是我们减去的集合,MATCH的第二个参数是减去的集合。 ARRAYFORMULA生成两个给定日期之间所有可能日期的列表。
重复ARRAYFORMULA是不幸的,但Google公式中没有“let”关键字或等效词。如果有人知道如何避免它,我将非常感谢对答案的评论或更正。