Количество видимых ячеек в excel

На чтение 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 :

подсчитать отфильтрованные строки в Excel

Вот разница между ними:

  • 102 использует функцию COUNT , которая подсчитывает только ячейки, содержащие числа.
  • 103 использует функцию COUNTA , которая подсчитывает все непустые ячейки.

Не стесняйтесь использовать значение в формуле, которое имеет смысл для ваших данных.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Excel:

Как удалить отфильтрованные строки в Excel
Как суммировать отфильтрованные строки в Excel
Как усреднить отфильтрованные строки в Excel

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

Как правило, в Excel обычная формула = COUNT (B3: B16) подсчитывает количество всех невидимых и скрытых ячеек. Но в этом уроке я представлю несколько быстрых способов помочь вам подсчитать видимые или отфильтрованные ячейки только в Excel.

количество видимых документов 1

Подсчет видимых ячеек только с помощью функции, определяемой пользователем

Считать видимые ячейки только с Kutools for Excel хорошая идея3


стрелка синий правый пузырь Подсчет видимых ячеек только с помощью функции, определяемой пользователем

Использовать Функция, определяемая пользователем для подсчета только видимых ячеек.

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 ключ для получения результата. Смотрите скриншоты:

количество видимых документов 2

стрелка документа

>количество видимых документов 3


стрелка синий правый пузырь Считать видимые ячейки только с Kutools for Excel

Чтобы подсчитать только видимые ячейки, вы также можете использовать Kutools for ExcelАвтора СОВМЕСТНЫЙ функция, чтобы быстро решить эту проблему.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите ячейку, в которую будет помещен результат подсчета, и нажмите Кутулс > Kutools Функции > Статистические и математические > СОВМЕСТНЫЙ. Смотрите скриншот:

количество видимых документов 4

2. Затем в Аргументы функций диалоговом окне выберите отфильтрованные ячейки, которые вы хотите подсчитать в Справка текстовое поле, и вы можете предварительно просмотреть результат подсчета в диалоговом окне. Смотрите скриншот:

количество видимых документов 5

3. Затем щелкните OK поместить результат подсчета в выбранную ячейку.

количество видимых документов 6

Kutools for Excel‘s функции включая некоторые полезные формулы, такие как количество / сумма / среднее количество видимых ячеек, количество / сумма по цвету ячеек. подсчитывать / суммировать по цвету шрифта и так далее.Чтобы получить бесплатную пробную версию прямо сейчас!

количество видимых документов 6


Относительные статьи:

  • Как усреднить видимые или отфильтрованные ячейки только в Excel?
  • Как усреднить значения на основе цвета ячейки в Excel?
  • Как подсчитать, начинаются ли ячейки или заканчиваются определенным текстом в Excel?
  • Как подсчитать, начинаются ли ячейки или заканчиваются определенным текстом в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (1)


Оценок пока нет. Оцените первым!

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

Здравствуйте.
Возникла проблема подсчета количества видимых ячеек с определенным значением после фильтрации. Нужно в ячейку C15 вставить количество проданных (или возвращенных) билетов на определенный рейс. Файл упрощен, строки будут добавляться. Колонку «Цена» для определения продажи или возврата использовать не получится (билеты бывают льготные, бесплатные и т.д.). Кто-нибудь сможет помочь?

Прикрепленные файлы

  • Света.xlsx (12.79 КБ)

Изменено: chekulaev14.12.2019 12:46:22

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

так если сумма 109 (9) то количество 102(2)
=SUBTOTAL(102;A4:A14)пардон поспешил или не поспешил? Если сумма с учетом возврата, то и количество должно быть так, тогда то что выше норм.

если нужно конкретно только продажи, то масиивная
=SUM(SUBTOTAL(102;OFFSET(C3;(B4:B14=»Продажа»)*(ROW(C4:C14)-3);0;1;1)))

Изменено: БМВ11.01.2018 23:06:14

По вопросам из тем форума, личку не читаю.

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

Суммирование должно быть только по видимым ячейкам.

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

#4

11.01.2018 10:28:52

Цитата
chekulaev написал:
только по видимым ячейкам

это вам сделает SUBTOTAL(102

По вопросам из тем форума, личку не читаю.

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

Не могу сообразить как это сделать. В результате нужно, чтобы было подсчитано количество ячеек содержащих слово «Продажа» и от результата отнято количество ячеек содержащих слово «Возврат».

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

Так?

По вопросам из тем форума, личку не читаю.

 

AleksSid

Пользователь

Сообщений: 237
Регистрация: 26.05.2013

#7

11.01.2018 11:13:36

Цитата
chekulaev написал:
В результате нужно, чтобы было подсчитано количество ячеек содержащих слово «Продажа»

Замените номер функции в промежуточных. итогах 109 на 102.

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

Да, большое спасибо!
Только для моего случая чуть переделал: =СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(102;СМЕЩ(C3;(B4:B15=»Продажа»)*(СТРОКА(C4:C15)-3);0;1;1)))-СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(102;СМЕЩ(C3;(B4:B15=»Возврат»)*(СТРОКА(C4:C15)-3);0;1;1)))
Не могли бы Вы объяснить суть вашей формулы? Или направить на умную страничку?

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

#9

11.01.2018 11:50:29

Цитата
chekulaev написал:
Или направить на умную страничку?

на умной страничке вы уже находитесь. :-)

на самом деле лучше даже так простой немассивной.
=SUMPRODUCT(SUBTOTAL(102;OFFSET(C3;(B4:B14=»Продажа»)*(ROW(C4:C14)-3);0;1;1))-SUBTOTAL(102;OFFSET(C3;(B4:B14=»Возврат»)*(ROW(C4:C14)-3);0;1;1)))

Смысл прост. Кормим промежуточным итогам не несколько ячеек, а по одной, и она возвращает значение в зависимости от того видима ячека или нет. А вот какую ячейку скармиваем, определяет СМЕЩ .  если выполняется условие ;B4:B14=»Продажа» то  смешение вернет ссылку на ячейку из нужного диапазона, если нет, то из заголовка ( в данном случае это заголовок , так как потом считаем только количество числовых ячеек. Потом все суммируем

Прикрепленные файлы

  • Copy of Света.xlsx (11.58 КБ)

По вопросам из тем форума, личку не читаю.

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

Большое человеческое СПАСИБО!
А почему умножаем на СТРОКА(C4:C14)-3? И почему -3?

Изменено: chekulaev11.01.2018 12:11:11

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

СТРОКА(C4:C14)-3 — ну надо как то получить номер строки, ну можно было заменить на просто СТРОКА(A1:A11) или {1,2,3,4,5,6,7,8,9,10,11} Но в случае изменении диапазона  каждый раз править и еще высчитывать  эти 11.
-3 — ну я не виноват что у вас таблица с третьей строчки, была б с первой , было б -1 :-)

По вопросам из тем форума, личку не читаю.

 

chekulaev

Пользователь

Сообщений: 6
Регистрация: 11.01.2018

 

Zolotmak

Пользователь

Сообщений: 3
Регистрация: 14.12.2019

Добрый день!

Уже три дня мучаюсь с формулой и ничего не получается, помогите, пожалуйста
Есть три вида данных: список магазинов — 1й столбик, принадлежность к сети — 2й столбик и формат магазина — 3й столбик. Задача: написать формулу, чтобы при нажатии фильтра по названию сети выдавалась информация по количеству магазинов того или иного формата в данной сети. Например: сеть Х имеет 10 магазинов: 2 из них магазины за прилавком, 4 — магазин самообслуживания и 4 — алкомаркеты. Соответсвенно при выборе по фильтру сети Х на вкладке дашборд нам выдавалось количество магазинов каждого из этих форматов из вкладки «Данные». Файл во вложении во вложении. Желательно пояснить по формуле, чтобы понять логику. Буду очень признателен.

Спасибо!

Прикрепленные файлы

  • Пример.xlsx (13.73 КБ)

 

Добрый и Вам. Я бы сводную сделал.

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

БМВ

Модератор

Сообщений: 21384
Регистрация: 28.12.2016

Excel 2013, 2016

=SUM(SUBTOTAL(103;OFFSET($A$1;ROW($A$1:$A$15);))*($C$1:$C$15=E17))
или сводная

По вопросам из тем форума, личку не читаю.

 

Zolotmak

Пользователь

Сообщений: 3
Регистрация: 14.12.2019

Супер!!! Огромное спасибо!  

 

Zolotmak

Пользователь

Сообщений: 3
Регистрация: 14.12.2019

#17

14.12.2019 13:46:36

Ребята, пытаюсь применить данную формулу на большем массиве данных — получается какая-то ерунда. Что я делаю не так?

Прикрепленные файлы

  • Пример.xlsx (13.73 КБ)

Для учета видимости применяется фильтр с использованием ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

ПРОМЕЖУТОЧНЫЕ.ИТОГИ может исключить скрытые строки в различных вычислениях, поэтому мы можем использовать ее в этом случае, создав «фильтр», чтобы исключить скрытые строки внутри СУММПРОИЗВ. Проблема, однако, в том, что 

ПРОМЕЖУТОЧНЫЕ.ИТОГИ рассчитывает единственное число, в то время как нам нужен массив, чтобы использовать его успешно внутри СУММПРОИЗВ.

Хитрость заключается в том, чтобы использовать СМЕЩ, подающую ПРОМЕЖУТОЧНЫЕ.ИТОГИ одну ссылку на строку, так что смещение будет рассчитывать один результат для каждой строки.

Конечно, для этого требуется еще один трюк, который должен дать СМЕЩ массив, содержащий один номер для каждой строки, начиная с нуля. Мы делаем это с помощью:

Понравилась статья? Поделить с друзьями:
  • Количество в штуках excel
  • Количество в час как посчитать в excel
  • Количество в сводной таблице только уникальные значения в excel
  • Количество в выборке excel
  • Количество букв в ячейке excel формула