Функция запроса неправильно подсчитывает совпадающие значения с критериями ИЛИ в таблицах Google

#google-sheets #google-sheets-formula

#google-sheets #google-sheets-формула

Вопрос:

[Цель] Я пытаюсь подсчитать количество обращений на одного сотрудника со статусом «Завершено», «Завершено (область)» или «Перенаправлено (продажи)». Данные, которые я извлекаю для подсчета билетов, имеют следующие имена столбцов.

Столбец A: идентификатор билета, столбец B: статус, столбец C: сотрудник, столбец D: дата

В формуле вы заметите, что она ссылается на ячейку H1, в которой ячейка содержит текущую неделю по следующей формуле: TODAY()-MOD(TODAY()-2,7)-1

[Текущая формула]

 =QUERY('Data'!$A$3:$F,"Select C, COUNT(A)
      where B matches 'Finished|Finished (Scope)|Routed (Sales)'
      AND D >= "amp;H1amp;" GROUP BY C
      LABEL COUNT(A) 'Total Tickets'",0) 

[Проблема]
Мне удалось создать формулу, которая подсчитывает количество заявок на одного сотрудника со статусом «Завершено», однако по какой-то причине не учитываются заявки с именем статуса «Завершено (область)» или «Перенаправлено (продажи)». Может кто-нибудь, пожалуйста, помочь?

Комментарии:

1. Почему бы просто не использовать IN() ? WHERE B IN ('Finished', 'Finished (Scope)', 'Routed (Sales)') . Тогда нет проблем с тем, чтобы забыть экранировать скобки в регулярном выражении.

2. @MatBailie IN() не поддерживается в запросе Google таблиц

Ответ №1:

это регулярное выражение, поэтому вам может потребоваться экранировать скобки. попробуйте:

 =QUERY('Data'!$A$3:$F,
 "select C,count(A)
  where lower(B) matches 'finished (scope)|routed (sales)|finished'
    and D >= "amp;H1amp;" 
  group by C
  label count(A) 'Total Tickets'", 0)
 

Комментарии:

1. Поскольку op может не знать: регулярные выражения — это регулярные выражения, целый язык обработки строк. В регулярных выражениях скобки имеют определенные цели, и поэтому, чтобы рассматривать их как любой другой символ в строке, вам нужно «экранировать» их с помощью «