Запрос последних 7 дней в Google листе - PullRequest
1 голос
/ 07 мая 2019

У меня есть набор данных в этом формате:

Col1                    Col2    Col3
26/04/19 10:10:00   0.03    0.037
26/04/19 16:30:00   0.03    0.037
26/04/19 22:01:00   0.03    0.037
27/04/19 04:15:00   0.03    0.037
27/04/19 10:15:00   0.03    0.037
04/05/19 01:15:00   0.03    0.037
04/05/19 06:05:00   0.03    0.037
04/05/19 11:12:00   0.03    0.037
04/05/19 16:21:00   0.00    0.037
04/05/19 22:27:00   0.03    0.037
05/05/19 04:35:00   0.03    0.037
05/05/19 10:31:00   0.03    0.037
05/05/19 16:13:00   0.03    0.037
05/05/19 22:05:00   0.03    0.037
06/05/19 04:10:00   0.00    0.037

И я хочу запросить данные за последние 7 дней.В этом случае будут последние данные за 7 дней с 05.05.1904 по 04:10.что до 31/4/19 04:10:00.Поэтому я хочу запросить все данные с 31/4/19 04:10 до 06/05/19 04:10:00.

Ожидаемый результат:

Col1                    Col2    Col3
04/05/19 01:15:00   0.03    0.037
04/05/19 06:05:00   0.03    0.037
04/05/19 11:12:00   0.03    0.037
04/05/19 16:21:00   0.00    0.037
04/05/19 22:27:00   0.03    0.037
05/05/19 04:35:00   0.03    0.037
05/05/19 10:31:00   0.03    0.037
05/05/19 16:13:00   0.03    0.037
05/05/19 22:05:00   0.03    0.037
06/05/19 04:10:00   0.00    0.037

Загвоздка в том, что этот лист Google не является статичным.Это динамично и постоянно обновляется.Даты всегда в порядке, но могут иметь более 1 записи в день.

Формулы, которые я пробовал до сих пор:

=SORT(QUERY(A14:C,"order by A desc limit 7"),1,1)

и

=QUERY(A14:C,"Select * where A >= date '"&TEXT(INDEX(SORT(A14:C,1,false),MATCH(true,ISNUMBER(INDEX(SORT(A14:C,1,false),,2)),0),1)-6,"yyyy-mm-dd")&"' limit 7")

1-я формула дает мне общее число последних 7 дат в моем диапазоне.2-я формула специфична для даты и возможна только при отсутствии дублирования даты.Следовательно, обе формулы не соответствуют моим потребностям

Данные Google Листа

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Посмотрите, работает ли это

=sort(query(A14:C, "Where A is not null order by A desc limit 7"), 1, 1)

Кроме того, вы также можете попробовать

=offset(A1, counta(A:A)-7, 0, 7, 3)
0 голосов
/ 07 мая 2019
=QUERY({A:C}, "where Col1 <= date '"&TEXT(TODAY(),   "yyyy-MM-dd")&"' 
                 and Col1 >  date '"&TEXT(TODAY()-7, "yyyy-MM-dd")&"'", 0)

0


=ARRAYFORMULA(QUERY({A2:C, DATE(20&MID(A2:A, 7, 2), MID(A2:A, 4, 2), LEFT(A2:A, 2))},
 "select Col1,Col2,Col3
  where Col4 <= date '"&TEXT(TODAY(),   "yyyy-MM-dd")&"' 
    and Col4 >  date '"&TEXT(TODAY()-7, "yyyy-MM-dd")&"'", 0))

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...