Формула Google QUERY для включения "Все" из раскрывающегося списка - PullRequest
0 голосов
/ 17 июня 2020

У меня есть 3 отдельных раскрывающихся списка для создания следующей функции QUERY в моем листе Google:

    =QUERY('HISOP Training'!A2:D,"select A, B, C, D where A contains '"&M5&"' and C contains '"&M6&"' and D contains '"&M7&"' order by D asc", 1)

раскрывающийся список в ячейке M5 ссылки на столбец A:A (ветвь). Выпадающий список в ячейке M6 ссылается на столбец C:C (Сотрудник). Раскрывающийся список в ячейке M7 ссылается на столбец D:D ((Документ). Столбец B:B - это дата, и для этого нет раскрывающегося списка.

В каждом раскрывающемся списке есть список, который ссылается на каждый столбец . В каждом раскрывающемся списке также есть слово «Все». Когда выбрано «Все», я хочу, чтобы каждая строка возвращалась в ЗАПРОС в зависимости от того, что выбрано в двух других раскрывающихся списках. Например, если в списке выбрана ветка «Нью-Йорк» раскрывающийся список M5 и «Все» выбрано в раскрывающемся списке M6 и M7, я хочу, чтобы все сотрудники и все документы возвращались для Нью-Йорка.

Я не могу понять, как создать IF / AND в QUERY. Буду признателен за помощь.

1 Ответ

2 голосов
/ 17 июня 2020

Попробуйте следующее:

=QUERY(
  'HISOP Training'!A2:D,
    "select A, B, C, D "
  & IF(
      OR(M5 <> "All", M6 <> "All", M7 <> "All"),
          "where "
        & TEXTJOIN(
            "and ",
            True,
            IF(M5 <> "All", "A contains '" & M5 & "' ", ""),
            IF(M6 <> "All", "C contains '" & M6 & "' ", ""),
            IF(M7 <> "All", "D contains '" & M7 & "' ", "")
          ),
        ""
    )
  & "order by D asc",
  1
)

...