Могу ли я отсортировать выходные данные ЗАПРОСА и включить метки?

#google-sheets #sql-order-by #google-sheets-formula #google-query-language

Вопрос:

Я пытаюсь отформатировать свою бюджетную таблицу, которая автоматически обновляется с помощью прикрепленной формы. ColA скрыт, поскольку это временная метка, ColB — это дата совершения покупки, ColC — категория, а ColD — сумма.

Я пытаюсь суммировать все суммы внутри категории и отсортировать выходные данные (в холодном виде) в порядке убывания, а также выводить метки рядом с суммами (в ColC). Я пытался использовать SUMIF, но это разочаровывает, когда я хочу добавить несколько категорий в определенных диапазонах вместе. Вот текущий код, который я использую:

=QUERY(C3:D64, "SELECT SUM(D) WHERE C <> 'Income' GROUP BY C LABEL SUM(D)''")

Это выводит мои данные, но без меток, а не в порядке убывания. Я могу упорядочить порядок в ColE с помощью этого кода, но, опять же, не помечен:

=QUERY(D65:D72, "SELECT D ORDER BY D")

Есть ли способ упростить мой код и вывести его с метками в порядке убывания, включая метки для сумм, где выходные данные равны 0? Вот скриншот моей текущей настройки. Скриншот электронной таблицы

Ответ №1:

Если вы хотите включить метку (столбец C), вам нужно select указать столбец C в вашем запросе.

Порядок формул на основе имени столбца C в порядке убывания (см. Ячейку F2):

 =query(C3:D64,"Select C, sum(D) where C<>'Income' group by C order by C desc label sum(D) ''")
 

Порядок формул основан на сумме столбцов D для каждой категории в порядке убывания (см. Ячейку I2):

 =query(C3:D64,"Select C, sum(D) where C<>'Income' group by C order by Sum(D) desc label sum(D) ''")
 

введите описание изображения здесь

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

1. Привет, Рон! Большое вам спасибо — этот второй вариант — именно то, что я искал. Я ценю, что в нем нет никаких ненужных вещей (например, слово «сумма» постоянно появлялось перед использованием этой формулы). Я изучу это и узнаю, почему это работает! Еще раз спасибо!

2. Рад слышать, что, кстати, если мы ответили на ваш вопрос, пожалуйста, нажмите кнопку принять. Поступая таким образом, другие люди в сообществе, у которых могут быть те же проблемы, что и у вас, будут знать, что их проблему можно решить. Если кнопка «Принять» для вас недоступна, не стесняйтесь сообщить мне. Как принять ответ

Ответ №2:

Вы можете добавлять метки в любом случае, но убедитесь, что соблюдаете надлежащий порядок. 1 ВЫБЕРИТЕ 2, ГДЕ 3 ГРУППИРУЙТЕ ПО 4, УПОРЯДОЧИВАЙТЕ ПО 5 МЕТОК (полный список команд доступен в [documentation]: 1)

Я не уверен, что вы подразумеваете под «Ярлыками» — если вы имеете в виду такие категории, как «бакалея и т. Д. вы должны использовать:

 =QUERY(C3:D64, "SELECT C, SUM(D) WHERE C <> 'Income' GROUP BY C ORDER BY SUM (D) LABEL C 'Category', SUM(D) ''")
 

Извините, если я неправильно понял ваш вопрос