Запрос данных по недельному диапазону и значению строки - PullRequest
0 голосов
/ 27 марта 2019

У меня есть данные листа Google, расположенные согласно скриншоту ниже, где я пытаюсь запросить диапазон от A1 до C, чтобы вернуть записи, имевшие место на предыдущей неделе (weeknum(now)-1) И с определенным статусом, то есть open и * 1003. *. Мне удалось написать аналогичный запрос только для одного столбца, специально для "B", который отлично работает:

=ArrayFormula(query({B2:B,if(len(B2:B),weeknum(B2:B),)}," select Col1 where Col2 = "&weeknum(now())&"",1))

enter image description here

Однако мне нужно что-то вроде этого

QUERY(A1:C, "Select B, C, D WHERE B = "&weeknum(now())-1&" "AND (C = 'Open' OR C = 'Closed'"),1)

т.е.

ВСЕ СОБЫТИЯ ДЛЯ ПРЕДЫДУЩЕЙ НЕДЕЛИ; СОСТОЯНИЕ ОТКРЫТО ИЛИ ЗАКРЫТО

хотя я знаю, что запрос не работает с WEEKNUM(), и, следовательно, вышеприведенное явно не работает.

1 Ответ

1 голос
/ 27 марта 2019

Попробуйте и посмотрите, работает ли он:

(РЕДАКТИРОВАНИЕ)

={B1:D1; ArrayFormula(query({B2:D,if(len(B2:B),weeknum(B2:B),)}, "Select Col1, Col2, Col3 where (Col2 = 'Open' OR Col2 = 'Closed') AND Col4 = "&weeknum(now())-1&"", 0))}

Альтернативным (и более простым) способом будет использование фильтра:

={B1:D1; filter(B:D, (C:C="Open")+(C:C="Closed"), weeknum(B:B)=weeknum(today())-1)}
...