Строка итогов в таблице: как показать сумму и охват расчёта

Строка итогов помогает быстро увидеть сумму, количество или среднее по данным таблицы, но только если понятно, какие именно записи вошли в расчёт. Подпишите показатель и единицу измерения, обозначьте охват — текущая страница, отфильтрованный набор или весь реестр — и обновляйте итог вместе с данными. Тогда число внизу таблицы не станет отдельным, вводящим в заблуждение объектом.
Сначала решите, что означает итог
«Итого» — не одно универсальное значение. В нижней строке могут оказаться сумма денег, число записей, среднее значение, минимум или количество объектов в конкретном статусе. Эти показатели отвечают на разные вопросы, поэтому подпись «Итого» без пояснения оставляет читателю работу по догадке.
Перед тем как рисовать строку, ответьте на три вопроса:
- Что именно агрегируется: сумма, количество, среднее или другая операция?
- Какие строки участвуют в расчёте?
- При каком изменении таблицы значение должно пересчитаться?
Например, в реестре заказов значение «18 450 ₽» может быть суммой всех найденных заказов, только оплаченных или заказов на текущей странице. Все варианты могут быть корректными, но интерфейс обязан назвать выбранный вариант. Не называйте сумму «выручкой», если она включает неоплаченные счета или возвраты. Формулировка должна отражать бизнес-правило, а не только формат числа.
Выберите охват и назовите его
Охват — главная причина расхождений между итогом и видимыми строками. Если таблица разбита на страницы, пользователю может быть непонятно, суммируются ли 20 строк на экране или, например, 600 результатов после фильтра.
Частые варианты охвата:
- Текущая страница — для сверки видимых строк; подпись: «На странице: 12 заказов».
- Все результаты фильтра — для оценки найденной выборки; подпись: «По 86 найденным заказам».
- Весь набор — для общей сводки независимо от фильтра; укажите период.
- Выбранные строки — для расчёта по пользовательскому выделению; подпись: «По выбранным 4 позициям».
Не полагайтесь на положение строки как на единственную подсказку. Строка внизу может относиться только к странице, а может к целому набору. Добавьте короткое пояснение возле показателя либо в подписи столбца. Если доступны несколько видов охвата, переключатель должен менять и подпись, и число одновременно.
Учитывайте взаимодействия таблицы. После применения поиска, фильтра или выбора строк итог должен либо пересчитаться по новому набору, либо явно остаться общим. После перехода на другую страницу сумма всей выборки не должна неожиданно превращаться в сумму текущих строк. При этом сортировка обычно меняет порядок записей, но не множество значений; если итог меняется после сортировки, проверьте, не суммируются ли только отображённые строки.
Подпишите показатель, единицу и период
Число без измерения не самодостаточно. Подпись «Среднее — 4,2» не объясняет, среднее чего показано; «Объём — 18» не говорит, это штуки, литры или часы. По возможности дайте показателю ясное имя: «Сумма заказов», «Количество обращений», «Средний срок, дни».
Денежное значение сопровождайте валютой. Если в наборе есть разные валюты, не складывайте их в одну сумму без понятного правила пересчёта и явно указанной валюты результата. Для периода называйте границы или используйте согласованный фильтр дат: «за 1–30 сентября» понятнее, чем «за месяц», если таблица допускает произвольный диапазон.
Выбирайте точность по задаче. Если показываете округлённое среднее, не создавайте впечатление точного измерения лишними знаками после запятой. Если в столбце видны округлённые значения, а итог рассчитывается по исходным, короткая подсказка может объяснить небольшое расхождение. Не округляйте каждую строку перед суммированием, если это меняет бизнес-результат.
Визуально итог должен быть связан со столбцом, к которому относится, и отличаться от обычной записи. Используйте подпись в первом столбце или отдельную метку рядом с показателем. Умеренного контраста, начертания или верхней границы обычно достаточно: яркая заливка всей строки конкурирует с данными и превращает итог в баннер. Не полагайтесь только на цвет, особенно если значение означает предупреждение или достижение порога.
Объясните, что происходит при пустом и частичном наборе
Пустая выборка — не то же самое, что нулевая сумма. «0 ₽» может означать, что записи найдены, но сумма равна нулю; может означать отсутствие данных; а может быть результатом округления. Выберите правило и выразите его текстом. Например: «Нет заказов за выбранный период» для пустой выборки и «Сумма заказов: 0 ₽» для набора с нулевой суммой.
Если часть строк исключается из расчёта, сообщите причину, когда она влияет на решение. Например, сводка может учитывать только завершённые операции. Не перегружайте нижнюю строку перечнем всех условий; поместите краткое правило рядом, а подробности — в доступную подсказку или описание отчёта. Подсказка не должна быть единственным местом, где раскрыт критичный охват.
При загрузке данных показывайте, что итог пересчитывается, если старое значение может быть принято за актуальное. При ошибке обновления не оставляйте старый итог рядом с новыми строками без пояснения. Безопаснее явно сообщить, что сводка не обновилась, и сохранить отметку о последнем успешном расчёте, если она нужна для работы.
Выберите подходящее место для итога
Есть три распространённых решения, и каждое подходит своему сценарию.
- Закреплённая нижняя строка. Уместна, когда пользователи часто сравнивают нижний итог с длинным списком. Проверьте, чтобы закреплённая строка не закрывала последнюю запись и была видна при прокрутке.
- Отдельный блок над таблицей. Удобен для ключевой сводки, которую важно заметить до чтения строк. Подпишите охват, чтобы блок не выглядел независимым от фильтров.
- Итог после таблицы. Подходит для короткого набора, где связь с данными очевидна и не требуется постоянное сравнение.
На узком экране широкая строка итогов может потребовать горизонтальной прокрутки. Сохраните рядом друг с другом название показателя и его значение; не переносите единицу измерения в оторванную часть. Если показателей несколько, лучше собрать короткую сводку над таблицей, чем делать длинный многострочный футер, который занимает экран.
С точки зрения доступности итог должен читаться в той же последовательности, что и данные. Если это таблица с заголовками и семантически размеченной строкой итога, связь столбца с его итогом должна сохраняться при чтении программой экранного доступа. Не вставляйте строку из нескольких визуально объединённых ячеек так, чтобы значение теряло заголовок столбца. Проверяйте итог клавиатурой и экранным диктором в реальном интерфейсе, особенно если таблица динамически обновляется.
Пример: сводка по обращениям поддержки
Представим таблицу обращений с фильтром «сентябрь» и статусом «закрыто». Внизу показано «Итого: 126». Пользователь не знает, это 126 обращений на текущей странице, во всём сентябре или только закрытые обращения.
Более ясная сводка: «Закрыто за 1–30 сентября: 126 обращений». Если отображается часть результатов, можно добавить пагинационную подпись «Показано 1–25 из 126» и не дублировать число там, где оно уже очевидно. Если отдельно отображается среднее время решения, назовите единицу: «Средний срок закрытия: 2,4 дня». После изменения фильтра периода должны измениться оба показателя и текст периода. Если сервер не смог обновить сводку, покажите это состояние отдельно от успешно загруженных строк.
Порядок проектирования и проверки
- Определите вопрос пользователя. Уточните, какое решение он принимает по итоговому значению.
- Запишите формулу словами. Укажите операцию, условия включения и единицы измерения.
- Зафиксируйте охват. Выберите текущую страницу, фильтр, весь набор или выбранные строки.
- Определите реакцию на события. Проверьте поиск, фильтры, сортировку, смену страницы, выбор записей и обновление.
- Подготовьте крайние случаи. Пустая выборка, нулевая сумма, отрицательные значения, частичные данные и ошибка пересчёта.
- Проверьте чтение. Убедитесь, что подписи видны на узком экране и понятны без цвета и наведения.
- Сверьте расчёт вручную. Возьмите небольшой набор с известным результатом и сравните интерфейс с контрольным вычислением.
Частые ошибки
- Подписать всё словом «Итого». Назовите показатель, чтобы отличить сумму от количества или среднего.
- Суммировать только видимые строки без предупреждения. Напишите, что значение относится к текущей странице.
- Оставить старую сводку после фильтрации. Обновляйте значение и подпись одним действием.
- Смешать пустое значение и ноль. Это разные состояния; используйте разные формулировки.
- Скрыть валюту или единицу. Добавьте её рядом с числом и предусмотрите локальный формат.
- Считать округлённые строки. Сверьте правило округления с источником данных и объясните ожидаемые расхождения.
- Сделать итог цветным без текстовой метки. Смысл должен оставаться понятным в монохроме.
- Не проверить мобильную ширину. Проверьте, что заголовок, значение и единица не разъезжаются при прокрутке.
Чек-лист перед выпуском
- [ ] Подпись отвечает, что именно рассчитано.
- [ ] Указан охват: страница, выборка, весь набор или выделенные записи.
- [ ] Показаны единицы измерения и нужный период.
- [ ] Итог пересчитывается при тех событиях, которые меняют множество записей.
- [ ] Пустой набор, ноль и ошибка обновления имеют разные понятные состояния.
- [ ] Точность и округление согласованы с правилом расчёта.
- [ ] Строка не перекрывает записи и остаётся связанной с нужными заголовками.
- [ ] Проверены узкий экран, клавиатурная навигация и озвучивание.
Частые вопросы
Нужно ли добавлять строку итогов в каждую таблицу?
Нет. Добавляйте её, если итог помогает принять решение или проверить набор. Если число дублирует уже заметную сводку и не помогает в сценарии, отдельная строка увеличивает визуальный шум.
Показывать сумму текущей страницы или всех отфильтрованных строк?
Выберите охват по задаче. Для локальной сверки полезна сумма страницы; для оценки результатов поиска — сумма всей выборки. Назовите охват рядом со значением и не меняйте его незаметно при переходе по страницам.
Как обозначить пустой результат?
Пишите «Нет записей» или другую фразу, соответствующую предметной области. Ноль используйте для рассчитанного нулевого значения, когда строки существуют и участвуют в расчёте.
Нужно ли показывать формулу расчёта?
Коротко назовите операцию и условия включения. Если правила сложны или имеют финансовые последствия, дайте ссылку на понятное описание расчёта и укажите, какие строки исключены.
Что делать, если итог пересчитывается долго?
Покажите состояние обновления и не выдавайте прежнее число за новое. После ошибки сообщите, что значение не обновлено, и при необходимости укажите время последнего успешного расчёта.
Можно ли разместить итог над таблицей?
Да, если сводка важна до просмотра строк. Подпишите её охват и синхронизируйте с фильтрами; положение над таблицей само по себе не объясняет, какие записи учтены.
Итог
Хорошая строка итогов сообщает не только число, но и его смысл: показатель, единицу, период и охват. Сначала определите правило расчёта, затем свяжите значение с фильтрами и состояниями таблицы и проверьте его на небольшой контрольной выборке. Если готовите собственный рукописный шрифт для таблицы отчёта, создайте его в Fontgenerator, а итоговые цифры дополнительно проверьте в реальном размере интерфейса.