Создание запроса, который будет фильтровать на основе нескольких критериев из выпадающих меню в Google Sheets - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь создать панель мониторинга, которая будет фильтровать данные по нескольким критериям.

Вот копия электронной таблицы: https://docs.google.com/spreadsheets/d/1sJcsu0VpnLBi7wh4l-NEFdYfkxWgC6vpX8AeN9u-KlQ/edit?usp=sharing

Я мне трудно заставить запрос работать так, как я хочу.

Я создал ячейки проверки данных для нескольких критериев поиска (имя, репортер, тип инцидента, местоположение, дата начала, дата окончания).

Есть четыре столбца для имен учеников, в зависимости от того, как настроена форма. Я могу настроить фильтр по имени студента по следующей формуле: = QUERY ('Данные формы'! $ A $ 2: M, "Выбрать *, где B = '" & E1 & "' OR C = '" & E1 & "'OR D ='" & E1 & "'OR E ='" & E1 & "'", 0)

Когда я пытаюсь добавить другие критерии, формула ломается. Я пробовал:

Выберите *, где B = '"& E1 &"' OR C = '"& E1 &"' OR D = '"& E1 &"' OR E = '"& E1 &"' AND D> = Date '"& B11 &"' AND A <= Date '"& B12 &"', чтобы попытаться отфильтровать дату, но я получаю ошибку. В нем говорится, что формат даты неверен, но он отформатирован гггг / мм / дд, как и должно быть. </p>

Я также попытался: = QUERY ('Данные формы'! $ A $ 2: M, " Выберите *, где B = '"& E1 &"' OR C = '"& E1 &"' OR D = '"& E1 &"' OR E = '"& E1 &"' "& if (B5 =" All ",," '"& B5 & "'"), 0); это работает, когда выбрано «Все», но не когда я выбираю другое имя из выпадающего списка.

Любая помощь будет чрезвычайно признательна

1 Ответ

0 голосов
/ 29 января 2020

попробовать:

=QUERY('Form Data'!A2:M, 
 "where (B = '"&E1&"' 
     or  C = '"&E1&"' 
     or  D = '"&E1&"' 
     or  E = '"&E1&"') 
    and  A >= date '"&TEXT(B11, "yyyy-mm-dd")&"'
    and  A <= date '"&TEXT(B12, "yyyy-mm-dd")&"'", 0)

0

...