На чтение 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.
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 обычная формула = COUNT (B3: B16) подсчитывает количество всех невидимых и скрытых ячеек. Но в этом уроке я представлю несколько быстрых способов помочь вам подсчитать видимые или отфильтрованные ячейки только в Excel.
Подсчет видимых ячеек только с помощью функции, определяемой пользователем
Считать видимые ячейки только с Kutools for Excel
Подсчет видимых ячеек только с помощью функции, определяемой пользователем
Использовать Функция, определяемая пользователем для подсчета только видимых ячеек.
1. Нажмите Alt + F11 одновременно клавиши, Microsoft Visual Basic для приложений окно выскакивает.
2. Нажмите Вставить > Модули, и вставьте под кодом VBA во всплывающий Модули окно.
VBA: подсчитывать только видимые ячейки.
Function COUNTVISIBLE(Rg)
'UpdatebyKutoolsforExcel20151208
Dim xCount As Long
Dim xCell As Range
Application.Volatile
For Each xCell In Rg
If (Not xCell.EntireRow.Hidden) And (Not xCell.EntireColumn.Hidden) Then
xCount = xCount + 1
End If
Next
COUNTVISIBLE = xCount
End Function
3. Затем сохраните код и закройте Модули окно, а затем выберите ячейку, которая выводит результат, и введите эту формулу = СОВМЕСТНЫЙ (B3: B16), и нажмите Enter ключ для получения результата. Смотрите скриншоты:
>
Считать видимые ячейки только с Kutools for Excel
Чтобы подсчитать только видимые ячейки, вы также можете использовать Kutools for ExcelАвтора СОВМЕСТНЫЙ функция, чтобы быстро решить эту проблему.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите ячейку, в которую будет помещен результат подсчета, и нажмите Кутулс > Kutools Функции > Статистические и математические > СОВМЕСТНЫЙ. Смотрите скриншот:
2. Затем в Аргументы функций диалоговом окне выберите отфильтрованные ячейки, которые вы хотите подсчитать в Справка текстовое поле, и вы можете предварительно просмотреть результат подсчета в диалоговом окне. Смотрите скриншот:
3. Затем щелкните OK поместить результат подсчета в выбранную ячейку.
Kutools for Excel‘s функции включая некоторые полезные формулы, такие как количество / сумма / среднее количество видимых ячеек, количество / сумма по цвету ячеек. подсчитывать / суммировать по цвету шрифта и так далее.Чтобы получить бесплатную пробную версию прямо сейчас!
Относительные статьи:
- Как усреднить видимые или отфильтрованные ячейки только в Excel?
- Как усреднить значения на основе цвета ячейки в Excel?
- Как подсчитать, начинаются ли ячейки или заканчиваются определенным текстом в Excel?
- Как подсчитать, начинаются ли ячейки или заканчиваются определенным текстом в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
chekulaev Пользователь Сообщений: 6 |
Здравствуйте. Прикрепленные файлы
Изменено: chekulaev — 14.12.2019 12:46:22 |
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
так если сумма 109 (9) то количество 102(2) если нужно конкретно только продажи, то масиивная Изменено: БМВ — 11.01.2018 23:06:14 По вопросам из тем форума, личку не читаю. |
chekulaev Пользователь Сообщений: 6 |
Суммирование должно быть только по видимым ячейкам. |
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
#4 11.01.2018 10:28:52
это вам сделает SUBTOTAL(102 По вопросам из тем форума, личку не читаю. |
||
chekulaev Пользователь Сообщений: 6 |
Не могу сообразить как это сделать. В результате нужно, чтобы было подсчитано количество ячеек содержащих слово «Продажа» и от результата отнято количество ячеек содержащих слово «Возврат». |
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
Так? По вопросам из тем форума, личку не читаю. |
AleksSid Пользователь Сообщений: 237 |
#7 11.01.2018 11:13:36
Замените номер функции в промежуточных. итогах 109 на 102. |
||
chekulaev Пользователь Сообщений: 6 |
Да, большое спасибо! |
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
#9 11.01.2018 11:50:29
на умной страничке вы уже находитесь. на самом деле лучше даже так простой немассивной. Прикрепленные файлы
По вопросам из тем форума, личку не читаю. |
||
chekulaev Пользователь Сообщений: 6 |
Большое человеческое СПАСИБО! Изменено: chekulaev — 11.01.2018 12:11:11 |
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
СТРОКА(C4:C14)-3 — ну надо как то получить номер строки, ну можно было заменить на просто СТРОКА(A1:A11) или {1,2,3,4,5,6,7,8,9,10,11} Но в случае изменении диапазона каждый раз править и еще высчитывать эти 11. По вопросам из тем форума, личку не читаю. |
chekulaev Пользователь Сообщений: 6 |
|
Zolotmak Пользователь Сообщений: 3 |
Добрый день! Уже три дня мучаюсь с формулой и ничего не получается, помогите, пожалуйста Спасибо! Прикрепленные файлы
|
Добрый и Вам. Я бы сводную сделал. Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл |
|
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
=SUM(SUBTOTAL(103;OFFSET($A$1;ROW($A$1:$A$15);))*($C$1:$C$15=E17)) По вопросам из тем форума, личку не читаю. |
Zolotmak Пользователь Сообщений: 3 |
Супер!!! Огромное спасибо! |
Zolotmak Пользователь Сообщений: 3 |
#17 14.12.2019 13:46:36 Ребята, пытаюсь применить данную формулу на большем массиве данных — получается какая-то ерунда. Что я делаю не так? Прикрепленные файлы
|
Для учета видимости применяется фильтр с использованием ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
ПРОМЕЖУТОЧНЫЕ.ИТОГИ может исключить скрытые строки в различных вычислениях, поэтому мы можем использовать ее в этом случае, создав «фильтр», чтобы исключить скрытые строки внутри СУММПРОИЗВ. Проблема, однако, в том, что
ПРОМЕЖУТОЧНЫЕ.ИТОГИ рассчитывает единственное число, в то время как нам нужен массив, чтобы использовать его успешно внутри СУММПРОИЗВ.
Хитрость заключается в том, чтобы использовать СМЕЩ, подающую ПРОМЕЖУТОЧНЫЕ.ИТОГИ одну ссылку на строку, так что смещение будет рассчитывать один результат для каждой строки.
Конечно, для этого требуется еще один трюк, который должен дать СМЕЩ массив, содержащий один номер для каждой строки, начиная с нуля. Мы делаем это с помощью: