#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) ''")
Извините, если я неправильно понял ваш вопрос