В Google Query возвращайте 0 в ячейку, когда запрос возвращает пустой набор для определенного месяца

Используя Google Query, я хотел бы вернуть 0 в ячейку, когда запрос возвращает пустой набор для определенного месяца в 2018 году.

Это запрос, который я использую с именованным диапазоном all_data:

=query(all_data,"SELECT SUM(A) WHERE F <> 'Converted' GROUP BY MONTH(N),1)

Колонка N содержит список дат. Результат, который я получаю:

blank_cell
1
2
4
14

Но то, что я хотел бы получить на основе набора данных, если пустые месяцы возвращаются как 0, это

0
0
0
0
0
1
0
0
0
2
4
14

Обратите внимание, что в моем желаемом выводе есть 12 значений, каждое из которых соответствует определенному месяцу.

Как только я выясню вышеизложенное, моей следующей задачей будет выяснить, как это сделать для данных за 2 года (2017-2018).

До сих пор у меня есть

  • Просмотрел документацию по Google Query, но не нашел там ответа.
  • Пробовал использовать IFERROR - не помогает, потому что технически ошибки нет.

Я настоятельно предпочитаю реализовать это с помощью QUERY, а не VLOOKUP, SUMIF или какой-либо другой функции, потому что именно так генерируются остальные данные в этом анализе, а согласованность поможет другим пользователям таблицы.

Спасибо за любые ваши идеи!


person Adam    schedule 18.12.2018    source источник


Ответы (1)


Самый простой способ — убедиться, что в вашем наборе данных есть хотя бы один экземпляр каждого месяца без Converted в ColumnF и с 0s в ColumnA.

person pnuts    schedule 18.12.2018
comment
Простое и элегантное решение - спасибо! Вместо добавления к моему набору данных я создал отдельный именованный диапазон на отдельном листе с именем fix_month, который исключил заголовок и использовал массив в качестве данных для функции запроса, чтобы получить =query({all_data; fix_month},"SELECT SUM(Col1) WHERE Col6 <> 'Converted' GROUP BY MONTH(Col14),1) . Обратите внимание, что по какой-то причине введение массива не понравилось именованию столбцов по букве, поэтому я перешел на нотацию ColX. Работает отлично. - person Adam; 19.12.2018