用于查找另一个 sheet 上日期在过去 7 天内的行的数组公式

Array Formula to find rows on another sheet dated within the last 7 days

我在 Sheet 1(“基本统计信息”)上有几行数据,其中 A 列包含插入数据行的日期。有一个 header 行跨越 Col A 到 Col I。第一行数据是第 2 行,依此类推。

我有一个 Sheet 2(“最新”),它复制了 Sheet 1 的 header 行。我正在尝试在 Sheet 2 上使用 ArrayFormula输出在 TODAY() 的最后 7 天内过时(已输入)的行。

Sheet 2 单元格 K2 包含 =TODAY(),L2 包含 =TODAY()-7,M2 包含 =COUNTIF('Sheet 1'!A:A, ">"&TODAY()-7)。我在 Sheet 2 的单元格 A1 中尝试了以下操作:

={"Date Added";ARRAY_CONSTRAIN(ARRAYFORMULA(IF(ROWS(A:A2)>$M,"",INDEX('Base Stats'!$A:$A,SMALL(IF('Base Stats'!$A:$A>=$L,IF('Base Stats'!$A:$A<=$K,ROW('Base Stats'!$A:$A)-ROW('Base Stats'!$A)+1)),ROWS(A:A2))))), 1, 1)}

这有效,但只填充 Sheet 2 上的第 2 行 A2,不会继续 A3、A4 等

我做错了什么!?提前致谢。

https://docs.google.com/spreadsheets/d/1VzHY8fTq8OsXhpHYHESSSPxeVNOnqxpjcsyWJpbuEOs/edit?usp=sharing

删除“最新”中的所有内容sheet(您不需要任何内容​​,包括您在 K、L、M 中的公式)。

然后把下面的公式放在A1中:

=ArrayFormula({'Base Stats'!A1:I1; SORT(FILTER('Base Stats'!A2:I,'Base Stats'!A2:A>=TODAY()-7),1,0)})

这将生成所有 headers 和过去 7 天的所有结果,最新的在最前面。如果您希望最新的在底部但仍希望它们排序,只需将公式中最后的 0 更改为 1.