Отчеты и Аналитика · 9 мин
Как суммировать выборочные ячейки в 1С
Как просуммировать выборочные ячейки в 1С: выделение с Ctrl, строка состояния, функция СУММ в табличных документах и запросах. Пошаговые инструкции и ошибки.
Задача посчитать сумму не по всей колонке, а только по отдельным ячейкам возникает в 1С постоянно: нужно сверить несколько строк накладной, проверить итог по выбранным контрагентам в отчёте или сложить произвольные значения в табличном документе. В отличие от Excel, где сумма выделения видна всегда, в 1С поведение зависит от того, где именно вы работаете — в табличном документе, в табличной части документа, в динамическом списке или в отчёте на СКД.
Универсальной кнопки «сумма выделенного» в платформе нет, но есть несколько рабочих приёмов: выделение ячеек с клавишей Ctrl и просмотр суммы в строке состояния, встроенные функции в макетах и отчётах, группировки в СКД, а также программные способы через запросы и функцию СУММ. Ниже разобраны все варианты с точными действиями и ограничениями каждого.
Важно сразу различать две ситуации: суммирование на экране для быстрой проверки (ничего не сохраняется в базе) и суммирование в данных документа или отчёта (результат становится частью учёта). Ошибка во втором случае может исказить проводки, поэтому перед изменением формул в документах делайте копию базы или тестируйте на копии документа.
Суммирование выделенных ячеек в табличном документе
Табличный документ — это форма, похожая на лист Excel: печатные формы, макеты, сохранённые отчёты в формате mxl. Здесь работает самый простой способ выборочного суммирования. Откройте табличный документ, зажмите клавишу Ctrl и кликайте по нужным ячейкам левой кнопкой мыши. Каждая ячейка добавится в выделение. Для диапазона используйте Shift: кликните первую ячейку, затем с Shift — последнюю, выделится прямоугольный блок.
Результат смотрите в строке состояния в нижней части окна программы. Если строка состояния не показывает сумму, кликните по её области правой кнопкой мыши и включите отображение показателя «Сумма» — там же доступны среднее, количество, минимум и максимум по выделенным ячейкам. Учитывайте, что суммируются только числовые ячейки: текст и пустые ячейки игнорируются, а ячейки с числом, сохранённым как текст, в сумму не попадут.
Этот способ ничего не записывает в базу — это чисто визуальная проверка. Он идеален для сверки: например, выделить несколько строк печатной формы накладной и сравнить сумму с итогом по документу. Если суммы не сошлись, ищите строку с расхождением, сужая выделение.
- 1Откройте табличный документ (печатную форму или mxl-файл)
- 2Зажмите Ctrl и кликайте по нужным ячейкам, либо выделите диапазон с Shift
- 3Посмотрите сумму в строке состояния внизу окна
- 4Если суммы нет — правой кнопкой по строке состояния включите показатель «Сумма»
- 5Снимите выделение кликом по любой ячейке
Выборочная сумма в табличной части документа
Табличная часть документа (список товаров в накладной, строки начислений) — это не табличный документ, и выделение ячеек с Ctrl там не даёт суммы в строке состояния. Здесь работают другие приёмы. Большинство типовых документов показывают итог по колонке «Сумма» автоматически в подвале формы, но это итог по всем строкам, а не по выбранным.
Для выборочного подсчёта используйте отбор строк. Во многих конфигурациях в табличной части доступна команда поиска и отбора (Ctrl+F или кнопка «Найти» в меню «Ещё»): отфильтруйте строки по нужному признаку — например, по складу или номенклатурной группе — и итог в подвале пересчитается только по видимым строкам, если конфигурация это поддерживает. В типовых решениях также часто есть кнопка «Подбор» или отчёты по документу, где можно сгруппировать данные.
Если отбор недоступен, практичный обходной путь — скопировать табличную часть в табличный документ. Выделите строки (Ctrl+A выделяет все, с Shift — диапазон строк), скопируйте через Ctrl+C, затем создайте новый табличный документ (Файл → Новый → Табличный документ) и вставьте данные. Дальше работает суммирование выделенных ячеек через строку состояния, как описано выше.
Сумма по условию в отчётах на СКД
В отчётах на системе компоновки данных (почти все отчёты в типовых конфигурациях) выборочное суммирование делается через отборы и группировки, а не через выделение ячеек. Откройте отчёт, перейдите в настройки (кнопка «Настройки» или «Ещё → Изменить вариант»), добавьте отбор по нужному полю — например, контрагент равен конкретному значению или склад входит в список. После пересчёта отчёт покажет суммы только по отобранным данным.
Если нужно видеть суммы по нескольким произвольным группам одновременно, добавьте группировку по интересующему полю. Отчёт сам выведет итоги по каждой группе и общий итог. Для нерегулярных проверок удобен расширенный режим настроек, где на вкладке «Ресурсы» видно, какие поля суммируются, а на вкладке «Отбор» можно комбинировать условия по И/ИЛИ.
Ограничение способа: быстро «ткнуть мышкой в пять произвольных строк» в отчёте СКД нельзя — отбор задаётся по значениям полей. Если нужный признак не выведен в отчёт полем, добавьте его в настройках на вкладке «Поля», иначе отобрать по нему не получится.
Функция СУММ в выражениях и макетах
Когда сумма нужна внутри формулы — в вычисляемом поле отчёта, в макете или в произвольном выражении — используется агрегатная функция СУММ (в английском синтаксисе SUM). В СКД она применяется на вкладке «Ресурсы» или в выражении вычисляемого поля: СУММ(СуммаОборот) посчитает итог по группировке, внутри которой находится. Условное суммирование делается через ВЫБОР: например, СУММ(ВЫБОР КОГДА ВидОперации = "Продажа" ТОГДА Сумма ИНАЧЕ 0 КОНЕЦ) сложит только строки с продажами.
В макетах табличных документов при программном заполнении суммы обычно накапливают в переменной при выводе строк или считают функцией СУММ по области: метод области табличного документа позволяет обратиться к значениям ячеек и сложить их в цикле. Это уже территория доработки конфигурации — менять макеты и код следует в копии базы, с пониманием того, что ошибка в формуле исказит печатные формы и итоги.
СуммаВыборочно = СУММ(ВЫБОР КОГДА ВидОперации = "Продажа" ТОГДА Сумма ИНАЧЕ 0 КОНЕЦ)Программное суммирование через запрос
Для разработчиков и продвинутых пользователей самый гибкий способ выборочного суммирования — запрос с итогами. Конструкция ВЫБРАТЬ СУММ(Поле) ... СГРУППИРОВАТЬ ПО ... даёт суммы по группам, а ИТОГИ ПО — иерархические итоги. Условия отбора задаются в секции ГДЕ, что позволяет суммировать строго нужные строки: по списку контрагентов, периоду, складу.
Проверить запрос без программирования можно в консоли запросов — внешней обработке, которую запускают в режиме предприятия. Это безопасный инструмент: запросы на выборку не меняют данные. Но будьте осторожны с обработками из непроверенных источников — запускайте их только в копии базы, поскольку внешняя обработка может содержать любой код, включая изменяющий данные.
Проверка результата и типичные ошибки
Главный признак корректной выборочной суммы — она сходится с альтернативным способом подсчёта. Пересчитайте те же данные другим методом: выделением ячеек против отбора в отчёте, запросом против итога документа. Совпадение двух независимых способов — надёжная проверка. Дополнительно убедитесь, что в сумму не попали скрытые или отфильтрованные строки, если считали в табличном документе, выгруженном из отчёта с группировками.
Числа как текст — самая коварная проблема. Если ячейка содержит число в текстовом формате (например, при выгрузке из внешней системы), она молча не попадёт в сумму. Признак: сумма меньше ожидаемой ровно на значения таких ячеек. Проверяется кликом по ячейке — в строке формул видно тип содержимого, а в свойствах ячейки табличного документа указан тип значения.
Частые вопросы
Почему в строке состояния не отображается сумма выделенных ячеек?
Либо показатель «Сумма» отключён в настройках строки состояния (включается правой кнопкой мыши по её области), либо выделенные ячейки не содержат числовых значений. Проверьте также, что вы работаете именно с табличным документом, а не с табличной частью или динамическим списком — там этот механизм не действует.
Можно ли просуммировать ячейки из разных областей документа?
Да, в табличном документе выделение с Ctrl не ограничено соседними ячейками — можно кликать по ячейкам из разных строк и колонок, все числовые значения попадут в сумму строки состояния. Следите только за тем, чтобы случайно не захватить ячейки с итогами или заголовками, содержащими числа.
Как просуммировать строки по нескольким конкретным контрагентам в отчёте?
В настройках отчёта добавьте отбор по полю «Контрагент» с видом сравнения «В списке» и перечислите нужных контрагентов. Отчёт пересчитается только по ним, а итог покажет выборочную сумму. Альтернатива — сгруппировать отчёт по контрагентам и сложить нужные строки выделением в табличном документе результата.
Сумма выделения не сходится с итогом документа на копейки. Что делать?
Чаще всего причина в округлении: в ячейках отображаются округлённые значения, а итог документа считается от полных сумм с последующим округлением. Проверьте формат ячеек и увеличьте число знаков после запятой, чтобы увидеть реальные значения. Если расхождение больше копеек — ищите строку с числом в текстовом формате или пропущенную строку.
Можно ли сохранить выборочную сумму в базе, не меняя конфигурацию?
Штатно — нет: сумма выделения существует только на экране. Если выборочные итоги нужны регулярно, используйте отчёт с отбором (его настройки сохраняются как вариант) или выгрузку в табличный документ. Изменение логики документов и макетов — уже доработка, которую следует выполнять через расширение конфигурации, а не прямое изменение типового кода.
Что важно запомнить
Для быстрой проверки выделяйте ячейки с Ctrl и смотрите сумму в строке состояния табличного документа. Для отчётов используйте отборы и группировки СКД, для формул — функцию СУММ с условием ВЫБОР. Сверяйте результат двумя способами и не правьте макеты и код без резервной копии.