Формула массива для поиска строк на другом листе за последние 7 дней

У меня есть строки данных на листе 1 («Базовая статистика») с столбцом A, содержащим дату, когда строка данных была вставлена. Существует строка заголовка, охватывающая столбец A и столбец I. Первая строка данных — это строка 2 и так далее.

У меня есть Лист 2 ("Последний"), который копирует строку заголовка Листа 1. Я пытаюсь использовать ArrayFormula на Листе 2 для вывода строк, которые датированы (были введены) в течение последних 7 дней СЕГОДНЯ().

Лист 2 Ячейка K2 содержит =TODAY(), L2 содержит =TODAY()-7 и M2 содержит =COUNTIF('Sheet 1'!A:A, ">"&TODAY()-7). Я пробовал следующее в ячейке A1 на листе 2:

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

Это работает, но заполняет только строку 2 A2 на листе 2 и не продолжает A3, A4 и т. д.

Что я делаю не так!? Заранее спасибо.

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

Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
0
14
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Удалите все с листа «Последние» (ничего из этого вам не нужно, включая ваши формулы в K, L, M).

Затем поместите следующую формулу в A1:

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

Это выведет все заголовки и все результаты за последние семь дней, с самым последним наверху. Если вы хотите, чтобы самые последние были внизу, но при этом хотите, чтобы они были отсортированы, просто измените окончание 0 в формуле на 1.

Понятия не имею, почему я связал себя узлами! Спасибо, идеально.

Chrizh 12.05.2022 01:41

Пожалуйста. Рады, что смогли развязать узлы.

Erik Tyler 12.05.2022 01:42

Другие вопросы по теме