Суммирование только видимых ячеек
Если у нас имеется таблица, по которой должны считаться итоги, то важную роль играет какой именно функцией они вычисляются, т.к. в таблице могут быть:
- Включены фильтры
- Скрыты некоторые строки
- Свернуты сгруппированные строки
- Промежуточные итоги внутри таблицы
- Ошибки в формулах
Некоторые из приведенных ниже способов чувствительны к этим факторам, некоторые – нет. Это нужно учитывать при выполнении вычислений:
СУММ (SUM) – тупо суммирует все в выделенном диапазоне без разбора, т.е. и скрытые строки в том числе. Если хотя бы в одной ячейке есть любая ошибка – перестает считать и тоже выдает ошибку на выходе.
ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTALS) с кодом 9 в первом аргументе – суммирует все видимые после фильтра ячейки. Игнорирует другие подобные функции, которые могут считать внутренние подитоги в исходном диапазоне.
ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTALS) с кодом 109 в первом аргументе – суммирует все видимые после фильтра и группировки (или скрытия) ячейки. Игнорирует другие подобные функции, которые могут считать внутренние подитоги в исходном диапазоне.
Если нужно не суммировать, то можно использовать другие значения кода математической операции:
АГРЕГАТ (AGGREGATE) – самая мощная функция, появившаяся в Office 2010. Также как и ПРОМЕЖУТОЧНЫЕ.ИТОГИ может не только суммировать, но и считать среднее, количество, минимум, максимум и т.д. — код операции задается первым аргументом. Плюс к этому имеет множество опций по подсчету, которые можно указать вторым аргументом:
Ссылки по теме
- Выборочные вычисления по одному или нескольким условиям
- Вставка в отфильтрованные строки
- Быстрое скрытие и отображение ненужных строк и столбцов
17 авг. 2022 г.
читать 2 мин
Самый простой способ подсчитать количество ячеек в отфильтрованном диапазоне в Excel — использовать следующий синтаксис:
SUBTOTAL( 103 , A1:A10 )
Обратите внимание, что значение 103 — это сокращение для определения количества отфильтрованных строк.
В следующем примере показано, как использовать эту функцию на практике.
Пример: подсчет отфильтрованных строк в Excel
Предположим, у нас есть следующий набор данных, который показывает количество продаж, совершенных компанией в разные дни:
Затем давайте отфильтруем данные, чтобы отображались только даты в январе или апреле.
Для этого выделите диапазон ячеек A1:B13.Затем щелкните вкладку « Данные » на верхней ленте и нажмите кнопку « Фильтр ».
Затем щелкните стрелку раскрывающегося списка рядом с « Дата » и убедитесь, что отмечены только поля рядом с «Январь» и «Апрель», затем нажмите « ОК »:
Данные будут автоматически отфильтрованы, чтобы отображались только строки, в которых даты указаны в январе или апреле:
Если мы попытаемся использовать функцию COUNT() для подсчета количества значений в столбце Date, она фактически вернет количество всех исходных значений:
Вместо этого мы можем использовать функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ() :
Эта функция считает только видимые строки.
Из вывода мы видим, что 5 дней приходятся на январь или апрель.
Обратите внимание, что в этой конкретной формуле мы использовали 103 в функции промежуточного итога, но мы могли бы также использовать 102 :
Вот разница между ними:
- 102 использует функцию COUNT , которая подсчитывает только ячейки, содержащие числа.
- 103 использует функцию COUNTA , которая подсчитывает все непустые ячейки.
Не стесняйтесь использовать значение в формуле, которое имеет смысл для ваших данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Excel:
Как удалить отфильтрованные строки в Excel
Как суммировать отфильтрованные строки в Excel
Как усреднить отфильтрованные строки в Excel
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
Количество выделенных строк в Excel.
Смотрите также запись ставит единицу. Range) As Long то можно использовать что увеличивал неЯ думаю, что итоги с определеннымиВот как это сделать.Не устанавливайте флажок, если появляются разные результаты данных.
. в Excel». формулы, смотрите в помощью формул. – не считает. так.Говорят, что нет Вот пример прикрепила. Application.Volatile True Dim другие значения кода
на 10 ячеек, в этих ячейках условиями. Например показывалоЩелкните стрелку фильтра в вы хотите, чтобы
по следующим соображениям.Примечание:Введите условия фильтрации иПримечание: статье «Копирование вКак сделать порядковый номерШестой способ.Выделены три строки. специальной функции без Если будет ноль i As Range математической операции: на 11. Это надо правильно прописать количество ячеек удовлетворяющих ячейке со словом Excel Online добавилДанные были добавлены, изменены При использовании диалогового окна нажмите кнопку
Мы стараемся как можно Excel» тут. Проверяем,
в Excel поЧтобы посчитать ячейкиБыстро выделить столбец макросов записей у меня For Each iАГРЕГАТ (AGGREGATE) может быть причиной? формулу с промежуточными значению «Март», выберите пункт заполнители заголовков (которые
или удалены в «ОК оперативнее обеспечивать вас отфильтровываем цифры больше порядку после фильтра. (строки) по определенному можно так. Выделяем
посчитать количество выделенных строк другая обработка должна In диапазон If– самая мощная Спасибо
итогами…ChehonteЧисловые фильтры вы можете переименовать) диапазоне ячеек или
Поиск.
актуальными справочными материалами «20». Получалось так.У нас такая условию, используем функцию верхнюю ячейку столбца. в Excel пойти, т.е. важно i.Font.ColorIndex = критерий.Font.ColorIndex функция, появившаяся вЕсли у нас имеетсяChehonte: Через автофильтр илии условие над данными. столбце таблицы.» для поискаПри добавлении данных в на вашем языке.Порядковые номера идут подряд, таблица. «СЧЁТЕСЛИ». Примеры формул Нажимаем на клавишу. Неправда. Есть много отличать. Then КолЦветТст = Office 2010. Также таблица, по которой
: Т.е. просто ввести
расширенный фильтр -МеньшеНажмите кнопку
значения, возвращаемые формулой, изменились, отфильтрованных данных выполняется таблицу элементы управления Эта страница переведена начиная с единицы.Как установить фильтр,
смотрите в статье
F8 и ставим других приемов, чтобыyozhik КолЦветТст + 1 как и ПРОМЕЖУТОЧНЫЕ.ИТОГИ должны считаться итоги, номер бригады и
всё зависит оти введите значение
ОК и лист был поиск только в фильтром автоматически добавляются автоматически, поэтому ееЭтим способом можно
смотрите в статье «Функция «СЧЁТЕСЛИ» в
курсор в нижнюю посчитать выделенные строки,:
End If Next может не только то важную роль увидеть расчет Вам ваших условий. 6000.
. пересчитан. отображаемых данных. данные, в заголовки таблицы. текст может содержать посчитать количество отфильтрованных «Фильтр в Еxcel». Excel» здесь.
excel-office.ru
Порядковый номер строк по порядку после фильтра в Excel.
ячейку столбца. Нажимаем ячейки Excel. Быломожет кто проще предложит, End Function(формула взял суммировать, но и играет какой именно не надо?ChehonteНажмите кнопку
Чтобы применить фильтр, щелкнитеНе используйте смешанные типы которые не отображаются,Щелкните стрелку неточности и грамматические строк. Какими способами Теперь мы отфильтруемСедьмой способ левую мышку. бы желание, а но можно добавить из другово сайта). считать среднее, количество, функцией они вычисляются,
Тут не в: Фильтр может?ОК
стрелку в заголовке данных
не ищутся. Чтобыв заголовке столбца, ошибки. Для нас ещё можно посчитать цифры больше 20..
Или нажимаем сочетание способы найдем. ))) проверку, существует лиЯ сейчас сделаю минимум, максимум и т.к. в таблице расчете дело. ФильтрОпоздала с предложением)). столбца и выберитеДля достижения наилучших результатов выполнить поиск по содержимое которого вы важно, чтобы эта выделенные ячейки, строки, Получилось так.Посчитать строки, выделенные условным клавиш «Ctrl» +
Один из способов критерий фильтра. Если фильтрацию, и в т.д. — код могут быть: будет применяться неChehonte
Excel Online применяет фильтр параметр фильтрации. не используйте смешанные всем данным, снимите
хотите отфильтровать. статья была вам смотрите в статьеЗдесь видно, порядковые номера форматированием
«А». Активная ячейка,узнать количество выделенных
нет, то и фильтре выбираю B, операции задается первымВключены фильтры только к номеру
: Фильтр тут не и показывает только
Если вы не хотите типы данных, такие флажок все фильтры.Снимите флажок полезна. Просим вас «Количество выделенных строк строк в таблицеили
при этом, находится строк – это
не фильтровать и D и Е, аргументом. Плюс кСкрыты некоторые строки бригады, но и поможет. Дело в регионы, в которых форматировать данные в
как текст иДва типа фильтров(выделить все) уделить пару секунд в Excel». идут выборочно, аокрашены цветом вручную в в таблице. настроить порядковые номера присваивать переменной ноль
В результате мы этому имеет множествоСвернуты сгруппированные строки по периоду, по том, что когда сумма продаж меньше виде таблицы, вы число, а такжеС помощью автоФильтра можнои установите флажки и сообщить, помоглаФункцией «Промежуточные итоги» нам нужно, чтобы ExcelО других сочетаниях строк после фильтра.
а и вообще если
получим так: опций по подсчету,Промежуточные итоги внутри таблицы ФАМИЛИИ МАСТЕРА, по выбираешь фильтр по 6000 долларов. также можете применить числа и даты
создать два типа для полей, которые ли она вам, можно быстро настроить
они начинались с. клавиш, чтобы выделить Смотрите об этом фильтр по одному
excel-office.ru
Фильтрация данных в диапазоне или таблице
Я хочу чтоб которые можно указатьОшибки в формулах дням, по ……..всему значению, он выдаетАналогичным образом можно применить фильтры к диапазону в одном столбце, фильтров: по значению вы хотите вывести. с помощью кнопок таблицу, чтобы в «1», затем строкаМожно применить фильтр ячейки, смотрите в способе статью «Порядковый полю — посчитать после фильтрации, красные вторым аргументом:Некоторые из приведенных ниже чему можно. Главное
только значения фильтра.фильтры по дате данных. так как для списка или поНажмите кнопку внизу страницы. Для ней считались итоги ниже «2», т.д. по цвету. статье «Сочетание клавиш номер строк по без фильтра количество слова были посчитаниНапример: в столбце A
способов чувствительны к
чтоб подсчитывались значения, А мне надо,иВыделите данные, которые нужно каждого столбца доступно
Фильтрация диапазона данных
-
критериям. Каждый изОК
-
удобства также приводим по разделам, чтобы Чтобы так было,Затем выделить ячейки и в Excel».
-
порядку после фильтра «Чуркиных-Ивановых» и все
-
из оставшиеся ячейки, встречается 3 разных этим факторам, некоторые которые написаны сверху например, выбрал №бригады,текстовые фильтры отфильтровать. Для лучшего только один тип
-
этих типов фильтров. ссылку на оригинал таблица сворачивалась по
Фильтрация данных в таблице
устанавливаем формулу в посмотреть количество вЧетвертый способ в Excel»
-
Sub фильтр() crit и а не значения — Иванов, – нет. Это
-
столбцов. а вверху отображается. результата столбцы должны команды фильтра. При
-
является взаимно исключающимСтрелка в заголовке столбца (на английском языке).
разделам, т.д. Как первую сверху ячейку строке состояния..Второй способ = «Чуркин» If общих количеств ячеек
Статьи по теме
Петров, Сидоров. Во нужно учитывать приУ меня в
сколько одних значений,Нажмите кнопку включать заголовки.
наличии смешанных типов для каждого диапазона
_з0з_ преобразуется в
Используйте автофильтр или встроенные
это сделать, смотрите столбца, в которомЗдесь ячейки выделены условнымПосчитать количество строк– Not Columns(1).Find(what:=crit) Is как на картине, втором столбце B выполнении вычислений: ячейке М6 проше сколько других иФильтрНа вкладке
данных отображаемая команда ячеек или таблицы значок операторы сравнения, например в статье «Промежуточные будут стоять порядковые форматированием. Отфильтровали по можно с помощьюпосчитать количество выделенных ячеек
Nothing Then ActiveSheet.Range(«$A$1:$AW$400000»).AutoFilterЯ хочу чтоб тоже 3 разныхСУММ (SUM) прописано =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;M10:M605) т.д. в каждомрядом с заголовкомданные является типом данных, столбцов. Например, можнофильтра «больше» и «первые итоги в Excel».
Дополнительные сведения о фильтрации
номера (смотрите первую
цвету. В строкефункции «Автосумма» в Excel в столбце Excel Field:=1, Criteria1:=crit q после фильтрации, красные значения — Саша,– тупо суммируетЭто все правильно столбце (там в столбца и выберитенажмите кнопку который чаще всего выполнить фильтрацию по_з2з_. Щелкните этот значок, 10″ в _з0з_Но, можно сделать таблицу с неотфильтрованными состояния написано, что
. Выделяем ячейку, в
. = Application.WorksheetFunction.Subtotal(3, Range(Cells(2, слова были 2 Петя, Коля. Мне
-
все в выделенном счиатет, а выше формулах наверху увидите команду
Фильтр используется. Например, если списку чисел или чтобы изменить или , чтобы отобразить так, что
-
данными). У нас, выделено 3 строки
которой будет стоятьВыделяем ячейки в 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, а не 3. нужна формула, что диапазоне без разбора, всю считает таблицу, условия)
Удалить фильтр с. столбец содержит три
-
критериям, а не отменить фильтр. нужные данные ипорядковый номер строки в
-
в примере, это (ячейки). цифра количества строк.
столбце и смотрим 1))) Else q
Я извиняюсь если бы высчитывала сколько т.е. и скрытые а не поChehonte.Можно применить общий фильтр, значения, хранящиеся в по обоим; можноОбучение работе с Excel: скрыть остальные. После таблице Excel будет ячейка «А3» вКак преобразовать формат Нажимаем стрелку у внизу листа Excel = 0 End не грамотно пишу у меня Ивановых строки в том фильтруВариант Код =СУММПРОИЗВ(—(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(M10;СТРОКА(1:44);))*(M11:M54Подставил,: Если в М1Выделите любую ячейку в
Фильтрация данных в таблице
выбрав пункт виде числа, а отфильтровать по значку Фильтрация данных в фильтрации данных в
-
такой же, как столбце «Порядковый номер». данных из других кнопки «Автосумма» на в строке состояния If MsgBox q на русском языке Саш, Ивановых Петь,
-
числе. Если хотя после фильтра значения ввести номер бригады, таблице или диапазонеФильтр
-
четыре — в или настраиваемому фильтру, таблице диапазоне ячеек или номер строки наНа закладке «Формулы» программ в формат
-
закладке Excel «Главная» цифру «Количество». Это End SubVlad999 Ивановых Коль, Петровых бы в одной
-
-
меняются, но…они не то вариант, в и на вкладке
-
, или настраиваемый фильтр, тексте, откроется команда но не кРекомендации и примеры для
Фильтрация диапазона данных
таблице можно либо листе выбираем «Математические» и числа Excel, чтобы и выбираем функцию число заполненных выделенных
-
Галина: заменить Код If Саш, Петровых Петь…. ячейке есть любая
-
правильные……как то не данном случае дляданные зависящий от типатекстовые фильтры
Параметры фильтрации для таблиц или диапазонов
обоим. сортировки и фильтрации повторно применить фильтр(как адрес строки). там находится функция формулы считали такие «Число». ячеек. Пустые ячейки: Нет, фильтр по i.Font.ColorIndex = критерий.Font.ColorIndex и т. д. ошибка – перестает то что то бригады № 3нажмите кнопку данных. Например, при.Повторное применение фильтра данных по цвету для получения актуальных
Для этого устанавливаем ПРОМЕЖУТОЧНЫЕ.ИТОГИ» в Excel, числа, смотрите вЭта функция считает только так Excel не
нескольким полям в на Код IfAbram pupkin считать и тоже считает…..У меня вроде считает 2 Код
Фильтр
-
фильтрации чисел отображаетсяПри вводе данных вЧтобы определить, применен лиФильтрация данных в сводной результатов, либо очистить в первую ячейку выбираем её. статье «Преобразовать текст
-
заполненные строки. Если считает. Но, если рабочем файле.
i.Font.ColorIndex = критерий.Font.ColorIndex: создаем дополнительный столбец выдает ошибку на все правильно считаета =СУММПРОИЗВ((K11:K54=M1)*(M11:M54
. пункт таблицу в заголовки фильтр, обратите внимание таблице
Удаление фильтра из столбца
-
фильтр для повторного таблицы столбца с В строке формул в в число Excel». есть пустые ячейки нужно посчитать строку,Юрий М
Удаление всех фильтров из таблицы или диапазона
-
And i.EntireRow.Hidden ==A1&B1 выходе. какую роль играетChehonteБудут удалены фильтры всехЧисловые фильтры
ее столбцов автоматически на значок вИспользование расширенных условий фильтрации отображения всех данных.
support.office.com
Подсчет после фильтра
порядковыми номерами функцию. скобках пишем: 103;$B$3:B3Автонумерацию в Excel в столбце, то в которой в: Вариант: в нужном Falseпотом формулойПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTALS) ячейка М10?: Чего то я
столбцов в таблице, для дат отображается
добавляются элементы управления
заголовке столбца.Удаление фильтраWindows Online Заходим на закладку$B$3 – этоможно настроить несколькими в формуле исправляем столбце А нет диапазоне перебираем строки:
Галина=СЧЁТЕСЛИ ()с кодом 9И как вы ничего не понял.
или диапазоне и пункт
фильтрацией.
Стрелка раскрывающегося списка _з0з_В отфильтрованных данных отображаютсяИспользуйте фильтры, чтобы временно «Формулы» выбираем «Ссылки первая ячейка столбца способами, применяя разные адрес первой ячейки значений, а есть если видимая (не: Добрый день!находим всех Ивановых в первом аргументе смогли додуматься доВ ячейках с отображаются все данные.Фильтры по дате
Выделите данные, которые нужно означает, что фильтрация только те строки, скрывать некоторые данные и массивы», выбираем с фильтром эту формулы и функции диапазона. Например, мы
в столбце В, скрыта), увеличиваем переменнуюЕсть автофильтр примененный
Петь и Зайцевых – суммирует все такой формулы??? Это М2 по М5Chehonte, а для текста — отфильтровать. На вкладке включена, но не которые соответствуют указанному в таблице и функцию «Строка». ссылку делаем абсолютной.
Excel. Рассмотрим, вставили формулу функцией то выделяем ячейку на единичку. к таблице. Макросом Фрось видимые после фильтра вобще взрыв мозга!!!!!!!!
прописан счет для: привет всем.Помогите разобратьсяТекстовые фильтрыГлавная применяется.
_з0з_ и скрывают видеть только те,Получилось такая формула: =СТРОКА()В3 –это адрескак сделать порядковый номер
«Автосумма». В этой столбца В. Главное,Файл не смотрел. фильтрую данные.cordoba ячейки. Игнорирует другиеспасибо огромное. Думаю определенного условия. Но с задачей.В ячейке. Применяя общий фильтр,нажмите кнопкуЕсли навести указатель мыши
строки, которые не которые вы хотите.Здесь порядковый номер ячеек
этой же первой в Excel по формуле указан диапазон чтобы были выделеныyozhikКак мне узнать: Здравствуйте ребята, мне подобные функции, которые это еще не этот счет считает прописываю формулу «счетеслимн» вы можете выбратьФорматировать как таблицу
на заголовок столбца должны отображаться. ПослеВыберите любую ячейку в столбца совпадает с
ячейки столбца с порядку после фильтра до первой пустой
ячейки всех нужных: вариант без проверок сколько значений (=строк) нужен ваш помощь могут считать внутренние последний вопрос…… всю таблицу. А для подсчета количества для отображения нужныеи выберите команду с включенным фильтром, фильтрации данных можно диапазоне данных. номером строки таблицы фильтром, но здесь. ячейке столбца. =СЧЁТ(A4:A6) строк. Например, так. MsgBox Application.WorksheetFunction.Subtotal(3, Range(Cells(1,
CyberForum.ru
Суммирование только видимых ячеек
отобразилось автофильтром? очень очень подитоги в исходномформулу прописал, но мне надо, чтоб заданных значении.Но после данные из спискаФорматировать как таблицу
- но он не
- копировать, искать, изменять,
- Выберите
- Excel. Если отфильтруем
- ссылка относительная.
Функция «Фильтр» в Мы адрес ячейкиЗдесь выделили четыре строки. 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row,Может отобразилась одна-двеЯ сделал так
диапазоне. она работает только считали после применения фильтра значение остается существующих, как показано. применен, появится экранная форматировать, выносить иданные информацию в столбце,Заполнили окно функции Excel помогает выбрать А4 исправляем на
Третий способ 1))) — 1Subtotal а может ноль.B15 есть этаПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTALS) с фиксированным числом фильтра.Т.е. в ячейке то же.А как на рисунке:В диалоговом окне
подсказка «(отображается все)». выводить на печать> выберем строки с так. данные из большой адрес ячейки А1.. в подсчет включает Нужна цифра отображенных формула =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3,B2:B12) Подсчитывает
с кодом 109 строчек, а у М4 должно стоять сделать чтоб считались
Выбрав параметрСоздание таблицыКнопка фильтра _з0з_ означает, подмножество отфильтрованных данныхФильтр цифрами больше 30,Какие бывают ссылки, для таблицы. А функция Получится так.Можно в таблице и строку с строк. количество ячеек в первом аргументе меня в таблице не 22, а
planetaexcel.ru
Как посчитать количество строк в Excel используя два фильтра?
значения после фильтра?ЗаранееЧисловые фильтрыможно указать, есть что фильтр применен. без переупорядочения или. то получится так. чего, чем отличаются, промежуточные итоги вПятый способ. фильтром отфильтровать нужные фильтром, отнимает 1yozhikB16 есть формула – суммирует все
постоянно добавляются значения.пытался 4.
спасибо.
вы можете применить
ли в таблице
Если навести указатель мыши перемещения.Щелкните стрелку
Подсчет после фильтрации
Еще несколько способов установки смотрите в статье Excel поможет поменятьПосчитать, если выделено цветом
данные. Затем выделить
Владимир: добавьте в код =КолЦветТст(B2:B12,A16) Подсчитывает красные
видимые после фильтра поменять формулу-без результата.ПишетВ м6 считает
Chehonte один из перечисленных заголовки. на заголовок столбца
Кроме того, можно выполнитьв заголовке столбца. порядковых номеров описано «Относительные и абсолютные номер строки. Сделать, – формула Excel отфильтрованные ячейки в: E1: MsgBox Application.WorksheetFunction.Subtotal(3, Range(Cells(2, слова и группировки (или знач.Увеличьте диапазон Код промежуточный итог -
: Попробуйте Промежуточные итоги ниже настраиваемых фильтров.Выберите с фильтром, в
фильтрацию по несколькимВыберите
в статье «Автонумерация ссылки в Еxcel». чтобы после фильтра. столбце. В строке=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;A:A)-1 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row,
но B16 сделал скрытия) ячейки. Игнорирует =СУММПРОИЗВ(—(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(M10;СТРОКА(1:1000);))*(M11:M1010Фаируза, я прям то, что надо.
Или файл приложитеВ этом примере, чтобыТаблица с заголовками
подсказке отображается фильтр, столбцам. Фильтры являютсятекстовые фильтры в Exсel» здесь.Получилось такая формула: оставшиеся строки имелиМожно написать такую
CyberForum.ru
VBA как проверить сколько строк отобразил фильтр?
состояния будет видноБМВ
1))) формула ручную через другие подобные функции,
не знаю что А вот какAleksSid
отобрать регионы, в, чтобы преобразовать верхнюю примененный к этому аддитивными, т. е.
илиКак составлять несколько =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;$B$3:B3) порядковые номера по формулу. =СЧЁТ(A1:A6) Эта
количество строк. Помним,: ну можно жГалина VBA и там которые могут считать сказать…..Пробовал, прописывал то с М2-М5 быть?: с промежуточным итогом которых сумма продаж строку в заголовки столбцу, например «равно
каждый дополнительный фильтрЧисловые фильтры,
взаимосвязанных таблиц Excel,Теперь копируем эту порядку (1, 2, формула считает только что пустые ячейки высчитать если использовать: А у меня
написал формула внутренние подитоги в же самое - Как их заставить все прокатило.А вот
за март была таблицы. Данные в красному цвету ячейки» задается на основеа затем выберите смотрите в статье формулу вниз по 3, т.д.). Настроить ячейки с числами, не считаются в xlCellTypeVisible Для примера:
на ноль записейFunction КолЦветТст(диапазон As исходном диапазоне. не получалось. Единственное
считать только значения как прописать, чтоб меньше 6000, можно этой строке не или «больше 150». текущего фильтра и
Сравнение, например
«Как связать таблицы столбцу. Как копировать это можно с а с текстом строке состояния. ПолучитсяRange(«a1:a4»).SpecialCells(xlCellTypeVisible).Count и на одну Range, критерий As
Если нужно не суммировать, на что грешу,
после применения фильтра????
считались эти промежуточные применить настраиваемый фильтр: будут фильтроваться.При повторном применении фильтра
далее сокращает подмножество
planetaexcel.ru
между
На чтение 3 мин. Просмотров 12.1k.
В отфильтрованном списке
= ПРОМЕЖУТОЧНЫЕ.ИТОГИ (3;диапазон)
Если вы хотите подсчитать количество видимых элементов в отфильтрованном списке, вы можете использовать функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ, которая автоматически игнорирует строки, которые скрыты с помощью фильтра.
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ может выполнять вычисления, как СЧЁТ, СУММ, МАКС, МИН, и многие другие.
Что делает ПРОМЕЖУТОЧНЫЕ.ИТОГИ: особенно интересным и полезным является то, что она автоматически игнорирует элементы, которые не видны в отфильтрованном списке или таблице. Это делает ее идеальной для показа того, сколько элементов видно в списке, промежуточных итогов видимых строк и т.д.
Следуя примеру, чтобы подсчитать количество не пустых строк, видимых, когда фильтр активен, используйте:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; B5: B11)
Если вы скрываете строки вручную (т.е. правой кнопкой мыши, Скрыть), а не с помощью автоматического фильтра используйте эту версию вместо той:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; B5: B11)
Только с критериями
=СУММПРОИЗВ((диапазон=критерий)*( ПРОМЕЖУТОЧНЫЕ.ИТОГИ (3; СМЕЩ (диапазон; ЧСТРОК;0;1))))
Для подсчета видимых строк только с критериями, вы можете использовать довольно сложную формулу, основанную на СУММПРОИЗВ, ПРОМЕЖУТОЧНЫЕ.ИТОГИ и СМЕЩ.
Проблема
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ может легко генерировать суммы и счетчики для скрытых и не скрытых строк. Тем не менее, она не в состоянии справиться с критериями (т.е. как СЧЁТЕСЛИ или СУММЕСЛИ).
Решение
Решение состоит в том, чтобы использовать СУММПРОИЗВ, применив с функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ (через СМЕЩ) и критерии. В показанном примере формула в С12:
=СУММПРОИЗВ ((C5:C8 = С10) * (ПРОМЕЖУТОЧНЫЕ.ИТОГИ (103;СМЕЩ(C5;СТРОКА(C5:C8) — МИН(СТРОКА(C5:C8));0))))
Суть этой формулы вычисление массива внутри СУММПРОИЗВ. Первый массив применяет критерии, а второй массив обрабатывает «проблему видимости».
=СУММПРОИЗВ(критерии * видимость)
Критерии применяется с частью формулы:
(C5:C8 = С10)
Который генерирует массив следующим образом:
{ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА}
Где ИСТИНА означает «отвечает критериям». Обратите внимание, что поскольку мы используем умножение (*) внутри первого (и только) массива, значения ИСТИНА/ЛОЖЬ будут автоматически преобразованы:
{0; 1; 0; 1}
Для учета видимости применяется фильтр с использованием ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
ПРОМЕЖУТОЧНЫЕ.ИТОГИ может исключить скрытые строки в различных вычислениях, поэтому мы можем использовать ее в этом случае, создав «фильтр», чтобы исключить скрытые строки внутри СУММПРОИЗВ. Проблема, однако, в том, что ПРОМЕЖУТОЧНЫЕ.ИТОГИ рассчитывает единственное число, в то время как нам нужен массив, чтобы использовать его успешно внутри СУММПРОИЗВ.
Хитрость заключается в том, чтобы использовать СМЕЩ, подающую ПРОМЕЖУТОЧНЫЕ.ИТОГИ одну ссылку на строку, так что смещение будет рассчитывать один результат для каждой строки.
Конечно, для этого требуется еще один трюк, который должен дать СМЕЩ массив, содержащий один номер для каждой строки, начиная с нуля. Мы делаем это с помощью:
= СТРОКА (C5:C8) — МИН(СТРОКА(C5:C8)
Что будет генерировать массив вроде этого:
{0; 1; 2; 3}
Таким образом, второй массив, который обрабатывает видимость с помощью ПРОМЕЖУТОЧНЫЕ.ИТОГИ, генерируется следующим образом:
= ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ (C5;СТРОКА(C5: C8) — МИН(СТРОКА(C5: C8)); 0))
= ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ (C5; {0; 1; 2; 3}; 0))
= ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; { «Свердловская»; «Пермская»; «Московская»; «Пермская»})
= {1; 1; 1; 0}
И, наконец, мы имеем:
= СУММПРОИЗВ({0;1;0;1} * {1; 1; 1; 0})
Который рассчитывает 1.
Skip to content
В статье объясняются особенности функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ в Excel и показано, как использовать формулы промежуточных итогов для суммирования данных в видимых ячейках.
В предыдущей статье мы обсудили автоматический способ вставки промежуточных итогов в Excel с помощью инструмента Промежуточные итоги. Сегодня вы узнаете, как можно самостоятельно создавать формулы промежуточных итогов и какие преимущества это дает.
- Синтаксис и номера функций.
- 3 важных особенности использования.
- Примеры с различными функциями и с условиями.
- Почему не работает?
Синтаксис и использование.
Microsoft определяет ПРОМЕЖУТОЧНЫЕ.ИТОГИ как функцию, которая возвращает промежуточный итог в таблице данных. И это не просто суммирование чисел в определенном диапазоне ячеек.
В отличие от других функций Excel, которые предназначены только для одной конкретной задачи, она удивительно универсальна. Она может выполнять различные арифметические и логические операции, такие как подсчет количества значений, вычисление среднего, поиск минимального или максимального и многое другое.
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ (на английском — SUBTOTAL) доступна во всех версиях Excel 2019, 2016 и ниже.
Синтаксис ее следующий:
ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции; ссылка1; [ссылка2];…)
Где:
- Номер_функции — число, указывающее, какую функцию использовать для вычисления промежуточного итога.
- Ссылка1, ссылка2,… – одна или несколько ячеек или диапазонов с исходными данными. Первый аргумент является обязательным, остальные (их может быть до 254) — необязательны.
Аргумент номер_функции может принимать значения:
- 1-11 – игнорируются отфильтрованные ячейки, но включают строки, скрытые вручную.
- 101-111 – нужно игнорировать все скрытые ячейки: отфильтрованные и скрытые вручную.
Номер функции |
Номер функции |
Функция | Описание |
1 | 101 | СРЗНАЧ | Возвращает среднее значение чисел. |
2 | 102 | СЧЁТ | Подсчитывает ячейки, содержащие числовые значения. |
3 | 103 | СЧЁТЗ | Считает непустые ячейки. |
4 | 104 | МАКС | Возвращает наибольшее значение. |
5 | 105 | МИН | Возвращает наименьшее значение. |
6 | 106 | ПРОИЗВЕД | Вычисляет произведение ячеек. |
7 | 107 | СТАНДОТКЛОН | Возвращает стандартное отклонение генеральной совокупности на основе выборки чисел. |
8 | 108 | СТАНДОТКЛОНП | Возвращает стандартное отклонение, основанное на генеральной совокупности чисел. |
9 | 109 | СУММ | Складывает числа. |
10 | 110 | ДИСП | Оценивает дисперсию генеральной совокупности на основе выборки чисел. |
11 | 111 | ДИСПР | Оценивает дисперсию генеральной совокупности на основе всей совокупности чисел. |
На самом деле нет необходимости запоминать все эти номера. Как только вы начнете вводить формулу промежуточного итога в ячейку или в строку формул, Microsoft Excel отобразит для вас список доступных функций с номерами. Останется только выбрать подходящую.
Например, вот как вы можете составить формулу с номером 9 для суммирования значений в ячейках с D2 по D10:
Чтобы добавить номер функции в формулу, дважды щелкните его в списке, затем поставьте точку с запятой, укажите диапазон, введите закрывающую скобку и нажмите Enter. Готовая формула будет выглядеть так:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;D2:D10)
Аналогичным образом вы можете написать формулу с 1 для получения среднего значения, с 2 для подсчета ячеек с числами, указать 3 для подсчета непустых значений и т. д. На скриншоте ниже показаны несколько других формул с различными функциями в действии:
Особенности формулы ПРОМЕЖУТОЧНЫЕ.ИТОГИ:
- Считает только по столбцам, для строк не подходит.
- Отфильтрованные значения не учитываются. Скрытые вручную значения учитываются функциями с номерами 1 – 11.
- Подсчитывает только исходные данные. Никакие другие промежуточные итоги не учитываются.
- Когда вы используете формулу промежуточных итогов с функцией суммирования, например СУММ или СРЗНАЧ, она вычисляет только ячейки с числами, игнорируя пустые и содержащие нечисловые значения.
- Применяется только к обычным диапазонам, с таблицами Excel не работает.
Существенное преимущество этой формулы в том, что ее можно использовать почти в любом месте вашего рабочего листа. То есть, таблица может не быть настолько жестко упорядоченной, как при использовании инструмента «Промежуточные итоги».
Теперь, когда вы знаете, как создать формулу промежуточных итогов в Excel, главный вопрос: зачем вообще тратить силы на ее изучение? Почему бы просто не использовать обычные функции, такие как СУММ, СЧЁТ, МАКС и т.д.? Вы найдете ответ ниже.
3 основных причины использовать ПРОМЕЖУТОЧНЫЙ ИТОГ в Excel
По сравнению с традиционными функциями Excel, ПРОМЕЖУТОЧНЫЕ.ИТОГИ дает следующие важные преимущества.
1. Вычисляет значения с учетом применяемого фильтра.
Поскольку функция Excel ПРОМЕЖУТОЧНЫЕ.ИТОГИ игнорирует значения в отфильтрованных строках, вы можете использовать ее для создания динамической сводки данных, в которой промежуточные итоги пересчитываются автоматически в соответствии с фильтром. Скрытые фильтром значения при этом учитываться не будут.
А вот если мы будет использовать обычную функцию, к примеру, СУММ, то применение фильтра не изменит вычисленный итог. Складываются в том числе и скрытые фильтром числа.
Например, если мы отфильтруем таблицу, чтобы отобразить продажи только черного шоколада, формула промежуточного итога не изменится, но все остальные товары будут удалены из итога:
Стандартная функция СУММ с подсчетом только нужных ячеек не справится. Придется либо копировать эти данные в другое место, чтобы все другие не мешали, либо применять функцию СУММЕСЛИ и постоянно корректировать ее в соответствии с нужными целями.
Примечание. Поскольку оба набора номеров функций (1-11 и 101-111) игнорируют отфильтрованные ячейки, в этом случае вы можете использовать формулу с функцией номер 9 или 109.
2. Вычисление только видимых ячеек.
Как вы помните, формулы промежуточных итогов с номером функции от 101 до 111 игнорируют все скрытые ячейки – отфильтрованные и скрытые вручную. Итак, когда вы используете функцию «Скрыть» в Excel для удаления из представления нерелевантных данных, используйте функцию номер 101-111, чтобы исключить значения в скрытых строках из подсчета итогов.
Номер функции | Отфильтрованные значения | Скрытые вручную |
1-11 | игнорируются | учитываются |
101-111 | игнорируются | игнорируются |
На рисунке ниже вы видите, что не следует использовать функцию 9, если вы руками скрывали какие-либо строки в вашей таблице. При этом функция 109 всегда возвращает результат исходя только из видимых на экране значений.
Следующий пример поможет вам лучше понять, как это работает: Промежуточный итог 9 против 109.
3. Игнорируются значения во вложенных формулах промежуточных итогов.
Если диапазон, указанный в вашей формуле промежуточных итогов Excel, содержит любые другие формулы промежуточных итогов, эти вложенные итоги будут проигнорированы, поэтому одни и те же числа не будут вычисляться дважды. Ведь нам не нужен двойной счёт. Классно, не правда ли?
На снимке экрана ниже формула
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;G2:G12)
игнорирует результаты формул промежуточных итогов в ячейках G7 и G120, как если бы вы использовали функцию СУММ с двумя отдельными диапазонами: СУММ(G2:C6, G8:G11).
Использование промежуточных итогов в Excel — примеры формул
Когда вы впервые сталкиваетесь с промежуточными итогами, это может показаться сложным, запутанным и даже не слишком нужным. Но как только вы узнаете все подробности, то поймете, что овладеть ими не так уж и сложно, а пользы может быть много. Следующие примеры дадут вам несколько полезных советов и новых идей.
Пример 1. Промежуточный итог с функцией 9 или 109?
Как вы уже знаете, ПРОМЕЖУТОЧНЫЕ.ИТОГИ использует 2 набора номеров функций: 1-11 и 101-111. Все они игнорируют отфильтрованные строки, но номера 1–11 учитывают скрытые вручную строки, а номера 101–111 исключают их. Чтобы лучше понять разницу, давайте рассмотрим следующий пример.
Чтобы суммировать отфильтрованные строки, вы можете использовать формулу Промежуточный итог с функцией 9 или с 109, как показано на рисунке ниже:
Но если вы скрыли отдельные элементы вручную,
- используя команду «Скрыть строки» на вкладке «Главная»> «Ячейки»> «Формат» > «Скрыть и отобразить»,
- или щелкнув строки правой кнопкой мыши и выбрав «Скрыть»,
и теперь хотите суммировать значения только в видимых строках, использовать функцию 109 – это единственный вариант:
Остальные номера функций работают таким же образом. Например, для подсчета непустых отфильтрованных ячеек подойдет формула с функцией 3 или 103. Но только функция 103 может правильно подсчитывать видимые значения, если в диапазоне есть скрытые вручную строки.
Пример 2. Промежуточные итоги с условием.
Если вы создаете сводный отчет или информационную панель, где вам нужно отображать различные сводные данные, но у вас ограничено место, чтобы разместить множество вариантов итогов, то можно сделать так:
- В одной ячейке создайте раскрывающийся список, содержащий названия функций, такие как СУММ, МАКС, МИН и др.
- В ячейке рядом с раскрывающимся списком введите вложенную формулу ЕСЛИ со встроенными функциями промежуточных итогов, соответствующими именам функций в раскрывающемся списке.
Например, если предположить, что значения для промежуточного итога находятся в ячейках C2: C16, а раскрывающийся список в A17 содержит элементы «Итого», «Среднее», «Максимум» и «Минимум», «динамическая» формула промежуточного итога будет выглядеть следующим образом:
=ЕСЛИ(A17=»Сумма»;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;C2:C16); ЕСЛИ(A17=»Среднее»;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1;C2:C16);ЕСЛИ(A17=»Минимум»;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(5;C2:C16); ЕСЛИ(A17=»Максимум»;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4;C2:C16);»»))))
И теперь, в зависимости от того, какую функцию ваш пользователь выбирает из раскрывающегося списка, соответствующая функция будет вычислять значения в отфильтрованных строках:
Думаю, при помощи этого способа вы можете заменить этой универсальной функцией стандартные функции суммирования, нахождения максимума и минимума, среднего значения, подсчёта и т.д. Ведь в данном случае даже сортировка не нужна, так как мы не группируем данные, а просто делаем подсчёт. Главное, чтобы не было пустых строк.
Обратите внимание также на то, что если бы мы использовали для расчёта суммы продаж функцию СУММ, то в этой таблице мы не смогли бы подсчитать продажи по какому-то определённому покупателю или группе покупателей. Пришлось бы для каждого из них использовать функцию СУММЕСЛИ.
Вы можете достаточно просто посчитать промежуточные итоги с условием, если отфильтровать нужные строки по товарам, по покупателям либо по другим критериям. Результат будет показан только по значениям, оставшимся после фильтрации. Соответственно и расчет будет сделан только по ним.
К примеру, вот как можно подсчитать сумму продаж черного шоколада, исключив молочный при помощи фильтра:
Как видите, при помощи СУММ это сделать невозможно. А использовать СУММЕСЛИ — это каждый раз корректировать условие в формуле либо делать несколько формул «на все случаи жизни». А здесь мы просто отбираем нужное при помощи фильтра. Согласитесь, это гораздо проще и удобнее, нежели писать и затем корректировать громоздкие формулы.
Почему промежуточные итоги не работают? Распространенные ошибки.
Если формула промежуточного итога возвращает ошибку, вероятно, это связано с одной из следующих причин:
#ЗНАЧЕН!— аргумент номер_функции не является целым числом от 1 до 11 или от 101 до 111; или любой из аргументов ref содержит трехмерную ссылку сразу на несколько листов вашей рабочей книги.
#ДЕЛ/0! — возникает, если указанная функция должна выполнить деление на ноль (например, вычисление среднего значения или стандартного отклонения для диапазона ячеек, не содержащего ни одного числа).
#ИМЯ? — неправильно написано название функции — исправить ошибку проще простого:)
Совет. Если вы еще не чувствуете себя комфортно с функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ, вы можете использовать встроенный инструмент ПРОМЕЖУТОЧНЫЙ ИТОГ и автоматически вставлять формулы.