Лада готовит отчёт по длительности посещений. В вымышленном журнале строки 2–4 содержат 40 минут клиента А, 20 минут клиента Б и ещё 30 минут клиента А. После фильтра по А видны 40 и 30. Ладе нужны 70 минут выбранного клиента, а не 90 минут всех записей.
Формула для вертикального списка
Если минуты стоят в B2:B4, пример формулы в английской локализации — =SUBTOTAL(109,B2:B4). В русской локализации функция называется ПРОМЕЖУТОЧНЫЕ.ИТОГИ; разделитель аргументов зависит от настроек. Здесь 109 означает суммирование с исключением вручную скрытых строк.
В справке Microsoft SUBTOTAL указано: строки, исключённые фильтром, не входят в итог при любом допустимом номере функции. Поэтому и 9, и 109 после фильтра по А дадут в этом примере 70. Формулу размещают вне её собственного диапазона.
Лада спрятала строку ради короткого скриншота
Затем Лада вручную скрывает строку с 30 минутами. Она боится, что длинный журнал неудобно читать, и оставляет в кадре только 40. Теперь SUBTOTAL с номером 109 даст 40, а с номером 9 — 70: номер 9 включает строки, скрытые вручную, но по-прежнему исключает отфильтрованного клиента Б.
Ни одна цифра не означает автоматически «правильный отчёт». Для вопроса о всех посещениях клиента А нужно вернуть вручную скрытую запись и показать 70. Если вопрос сознательно ограничен видимыми строками, можно оставить 40, но такое ограничение должно быть явно подписано. Оформление скриншота не должно незаметно менять набор событий.
Как проверить итог перед отправкой
Лада сверяет три вещи: какой клиент выбран фильтром, какие строки скрыты вручную и какой диапазон указан в формуле. После снятия фильтра в исходном трёхстрочном примере общий итог равен 90. Проверка проводится на этих условных данных, а не на ожидании удобной цифры.
SUBTOTAL рассчитана на вертикальные диапазоны. При 109 скрытие столбца в горизонтальном диапазоне не действует так же, как скрытие строки. Поэтому нельзя переносить эту проверку без изменений на журнал, где занятия размещены по колонкам.
Формула выбирает записи по техническому состоянию листа, но не объясняет отсутствующий замер. Если в числовом поле нет данных, Лада сначала выясняет причину: пустая ячейка не равна реальному нулю. Минуты посещений также не доказывают эффективность программы: здесь проверяется состав отчёта, а не результат обучения или тренировки.