Определенный текст
=СЧЁТЕСЛИ(rng;"*txt*")
=COUNTIF(rng;"*txt*")
Для подсчета количества ячеек, содержащих определенный текст, вы можете использовать функцию СЧЁТЕСЛИ. В общей форме формулы (выше), RNG является диапазон ячеек, TXT представляет собой текст, который должны содержать ячейки, и "*" является подстановочным символом, соответствующим любому количеству символов.
В примере, активная ячейка содержит следующую формулу:
=СЧЁТЕСЛИ(B5:B12;"*a*")
=COUNTIF(B5:B12;"*a*")
СЧЁТЕСЛИ подсчитывает количество ячеек в диапазоне, которые содержат "а" путем сопоставления содержимого каждой ячейки с шаблоном "*a*", который поставляется в качестве критериев. Символ "*" (звездочка) является подстановочным в Excel, что означает "совпадают с любым количеством символов", так что эта модель будет считать любую ячейку, которая содержит "а" в любом положении. Количество ячеек, которые соответствуют этому шаблону рассчитывается как число.
Вы можете легко настроить эту формулу, чтобы использовать содержимое другой ячейки для критериев. Например, если A1 содержит текст, который соответствует тому, что вы хотите, используйте следующую формулу:
=СЧЁТЕСЛИ(rng;"*"&a1&"*")
=COUNTIF(rng;"*"&A1&"*")
X или Y
=СУММПРОИЗВ(--((ЕЧИСЛО(НАЙТИ("abc";B5:B12))+ЕЧИСЛО(НАЙТИ("def";B5:B12)))>0))
=SUMPRODUCT(--((ISNUMBER(FIND("abc";B5:B12))+ISNUMBER(FIND("def";B5:B12)))>0))
Когда вы подсчитывать ячейки с критерием "или", вы должны быть осторожны, чтобы не удвоить счет. Например, если вы подсчитываете ячейки, которые содержат "abc" или "def", вы не можете просто сложить вместе две функции СЧЁТЕСЛИ, потому что вы можете удвоить подсчет ячеек, которые содержат и "abc" и "def".
Решение одной формулой
Когда вы подсчитывать ячейки с критерием "или", вы должны быть осторожны, чтобы не удвоить счет. Например, если вы подсчитываете ячейки, которые содержат "abc" или "def", вы не можете просто сложить вместе две функции СЧЁТЕСЛИ, потому что вы можете удвоить подсчет ячеек, которые содержат и "abc" и "def".
=СУММПРОИЗВ(--((ЕЧИСЛО(НАЙТИ("abc";B5:B12)) + ЕЧИСЛО(НАЙТИ("def";B5:B12)))>0))
=SUMPRODUCT(--((ISNUMBER(FIND("abc";B5:B12)) + ISNUMBER(FIND("def";B5:B12)))>0))
Эта формула основана на формуле, которая находит текст внутри ячейки:
ЕЧИСЛО(НАЙТИ("abc";B5:B12)
ISNUMBER(FIND("abc";B5:B12))
При заданном диапазоне ячеек, этот фрагмент будет возвращать массив значений Истина или Ложь, одно значение для каждой ячейки диапазона. Поскольку мы используем это дважды (один раз для "abc" и еще для "def"), мы получим два массива.
Далее мы складываем эти массивы вместе (+), сложение создаст новый единый массив чисел. Каждое число в этом массиве является результатом сложения истинных и ложных значений в исходных двух массивах вместе. В показанном примере, массив выглядит следующим образом:
{2; 0; 2; 0; 1; 0; 2}
Нам нужно сложить эти цифры, но мы не хотим, чтобы удвоился счет. Таким образом, мы должны убедиться, что любое значение больше нуля. Чтобы сделать это, мы вернем все значения, которые больше 0, в Истина или Ложь, а затем с помощью двойного отрицания (--) переведем массив в формат 1 и 0.
И, наконец, СУММПРОИЗВ суммирует полученные числа.
Вспомогательный столбец решений
Со вспомогательным столбцом для проверки каждой ячейки в отдельности, проблема менее сложная. Мы можем использовать СЧЁТЕСЛИ с двумя значениями (при условии, как "бесконечное множество"). Формула:
=--(СУММ(СЧЁТЕСЛИ(B4;{"*abc*";"*def*"}))>0)
=--(SUM(COUNTIF(B4;{"*abc*";"*def*"}))>0)
СЧЁТЕСЛИ возвращает массив, который содержит два пункта: подсчет для "abc" и подсчет на "def". Чтобы избежать двойного счета, мы складываем элементы, а потом возвращаем результат "истина/ложь" с ">0". Наконец, мы преобразуем значения Истина или Ложь в 1 и 0 с двойным минусом (--).
Итоговый результат равен 1 или 0 для каждой ячейки. Чтобы получить в общей сложности для всех ячеек в диапазоне, вам нужно просуммировать вспомогательный столбец.
Ошибки
=СУММПРОИЗВ(--ЕОШ(rng))
=SUMPRODUCT(--ISERR(rng))
Для подсчета количества ячеек, содержащих ошибки, вы можете использовать функцию ЕОШ, завернутую в функцию СУММПРОИЗВ. В общей форме формулы (выше) rng представляет собой диапазон ячеек, в которых вы хотели бы рассчитывать ошибки.
В примере, активная ячейка содержит следующую формулу:
=СУММПРОИЗВ(--ЕОШ(B5:B9))
=SUMPRODUCT(--ISERR(B5:B9))
СУММПРОИЗВ принимает один или несколько массивов и вычисляет сумму произведений соответствующих чисел. Если только один массив , он просто суммирует элементы в массиве.
Функция ЕОШ вычисляется для каждой ячейки в rng. Результатом является массив со значениями истина / ложь:
{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}
{TRUE; FALSE; TRUE; FALSE; FALSE}
{1; 0; 1; 0; 0}
СУММПРОИЗВ затем суммирует элементы в этом массиве и возвращает общую сумму, которая, в данном примере, это число 2.
Примечание: ЕОШ подсчитывает все ошибки, кроме # N / A. Если вы хотите, чтобы также рассчитывалось # N / A, используйте функцию ЕОШИБКА вместо ЕОШ.
Вы можете также использовать функцию СУММ для подсчета ошибок. Структура формулы такая же, но она должна быть введена как формула массива (нажмите Ctrl + Shift + Enter, а не просто Enter). После ввода формула будет выглядеть следующим образом:
{=СУММ(--ЕОШ(B5:B9))}
=SUM(--ISERR(B5:B9))
Пять символов
=СЧЁТЕСЛИ(rng;"?????")
=COUNTIF(rng;"?????")
В примере, активная ячейка содержит следующую формулу:
=СЧЁТЕСЛИ(B5:B10;"?????")
=COUNTIF(B5:B10;"?????")
СЧЁТЕСЛИ подсчитывает количество ячеек в диапазоне, которые содержат пять символов путем сопоставления содержимого каждой ячейки с шаблоном "?????", который поставляется в качестве критерия для СЧЁТЕСЛИ. "?" символ является подстановочным в Excel, что означает "любой одиночный символ", так что эта модель будет считать ячейки, которые содержат любые пять символов. Подсчет ячеек, которые соответствуют этому шаблону возвращает число, в данном примере, это число 3.
Положительные числа
=СЧЁТЕСЛИ(rng;"?????")
=COUNTIF(B5:B10;"?????")
СЧЁТЕСЛИ подсчитывает количество ячеек в диапазоне, которые содержат пять символов путем сопоставления содержимого каждой ячейки с шаблоном "?????", который поставляется в качестве критерия для СЧЁТЕСЛИ. "?" символ является подстановочным в Excel, что означает "любой одиночный символ", так что эта модель будет считать ячейки, которые содержат любые пять символов. Подсчет ячеек, которые соответствуют этому шаблону возвращает число, в данном примере, это число 3.
В примере, активная ячейка содержит следующую формулу:
=СЧЁТЕСЛИ(B5:B10; ">0")
=COUNTIF(B5:B10; ">0")
СЧЁТЕСЛИ подсчитывает количество ячеек в диапазоне, которые соответствуют критериям. В этом случае критерии поставляются в виде "> 0", которые оцениваются как "значения больше нуля". Общее количество всех ячеек в диапазоне, которые удовлетворяют этому критерию рассчитывается функцией.
Вы можете легко настроить эту формулу для подсчета ячеек на основе других критериев. Например, для подсчета всех ячеек со значением, большим или равным 100, использовать эту формулу:
=СЧЁТЕСЛИ(rng;">=100")
=COUNTIF(rng;">=100")
Отрицательные числа
=СЧЁТЕСЛИ(rng;"<0")
=COUNTIF(rng;"<0")
Для подсчета количества ячеек, содержащих отрицательные числа в диапазоне ячеек, вы можете использовать функцию СЧЁТЕСЛИ. В общей форме формулы (выше) rng представляет собой диапазон ячеек, содержащих числа.
В примере, активная ячейка содержит следующую формулу:
=СЧЁТЕСЛИ(B5:B10;"<0")
=COUNTIF(B5:B10;"<0")
СЧЁТЕСЛИ подсчитывает количество ячеек в диапазоне, которые соответствуют критериям. В этом случае критерии поставляются в виде "<0", который оценивается как "значения меньше нуля". Общее количество всех ячеек в диапазоне, которые удовлетворяют этому критерию рассчитывается функцией.
Вы можете легко настроить эту формулу для подсчета клеток на основе других критериев. Например, для подсчета всех ячеек со значением менее -10, используйте следующую формулу:
=СЧЁТЕСЛИ(rng;"<-10")
=COUNTIF(rng;"<-10")
Если вы хотите использовать значение в другой ячейке как часть критериев, используйте амперсанд (&) символ конъюнкции следующим образом:
=СЧЁТЕСЛИ(rng;"<"&А1)
=COUNTIF(rng;"<"&А1)
Если в ячейке А1 находится значение "-5", критерии будут "<-5" после конъюнкции.
Цифры
=СЧЁТ(rng)
=COUNTIF(rng;"<"&А1)
Если в ячейке А1 находится значение "-5", критерии будут "<-5" после конъюнкции.
В примере, активная ячейка содержит следующую формулу:
=СЧЁТ(B5:B8)
=COUNT(B5:B8)
Нечетные числа
=СУММПРОИЗВ(--(ОСТАТ(rng;2)=1))
=COUNT(B5:B8)
Для подсчета ячеек, которые содержат только нечетные числа, вы можете использовать формулу, основанную на функции СУММПРОИЗВ вместе с функцией ОСТАТ.
В примере, формула в ячейке E4 является:
=СУММПРОИЗВ(--(ОСТАТ(B5:B10;2)=1))
=SUMPRODUCT(--(MOD(B5:B10;2)=1))
В примере, форм
Эта формула рассчитала 4, так как есть 4 нечетных числа в диапазоне В5: В10 (который назван "rng" в формуле).
Функция СУММПРОИЗВ непосредственно работает с массивами.
Одна вещь, которую вы можете сделать довольно легко с СУММПРОИЗВ это выполнить тест на массив, используя один или несколько критериев, затем подсчитать результаты.
В этом случае, мы проводим тест на нечетное число, который использует функцию ОСТАТ:
ула в ячейке E4 является:
ОСТАТ(rng;2)=1
MOD(rng;2)=1
ОСТАТ рассчитывает остаток от деления. В этом случае делитель равен 2, поэтому ОСТАТ рассчитывает остаток 1 для любого нечетного числа, а остаток 0 для четных чисел.
В функции СУММПРОИЗВ, этот тест выполняется в каждой ячейке B5: B10, результат представляет собой массив значений истина / ложь:
{ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ЛОЖЬ; ИСТИНА}
{FALSE; TRUE; TRUE; TRUE; FALSE; TRUE}
После того, как мы присвоили значения истина / ложь числам с помощью двойного отрицания, мы получили:
{0; 1; 1; 1; 0; 1}
СУММПРОИЗВ затем просто суммирует эти числа и рассчитывает 4.
Текст
=СЧЁТЕСЛИ(rng;"*")
=COUNTIF(rng;"*")
СУММПРОИЗВ затем просто суммирует эти числа и рассчитывает 4.
СУММПРОИЗВ затем просто суммирует эти числа и рассчитывает 4.
=СЧЁТЕСЛИ(B5:B9;"*")
=COUNTIF(B5:B9;"*")
СЧЁТЕСЛИ подсчитывает количество ячеек, которые соответствуют критериям. В этом случае критерий поставляется в качестве шаблонного символа "*", который совпадает с любым количеством символов текста.
Несколько замечаний:
- Логические значения истина и ложь не учитываются, как текст
- Числа не подсчитываются "*", если они не будут введены в виде текста
- Пустая клетка, которая начинается с апострофа ( ') будут учитываться.
Вы можете также использовать СУММПРОИЗВ для подсчета текстовых значений наряду с функцией ЕТЕКСТ так:
=СУММПРОИЗВ(--ЕТЕКСТ(rng))
=SUMPRODUCT(--ISTEXT(rng))
Чувствительная к регистру версия
Если вам нужна чувствительная к регистру версия, вы не можете использовать СЧЁТЕСЛИ. Вместо этого вы можете проверить каждую ячейку в диапазоне, используя формулу, основанную на функции НАЙТИ и функции ЕЧИСЛО.
НАЙТИ чувствительна к регистру, и вы должны дать ему диапазон ячеек, а затем использовать СУММПРОИЗВ для подсчета результатов. Формула выглядит следующим образом:
=СУММПРОИЗВ(--(ЕЧИСЛО(НАЙТИ(text;rng))))
=SUMPRODUCT(--(ISNUMBER(FIND(text;rng))))
Там, где текст является текстом, который вы ищете, и rng диапазон ячеек, которые вы хотите подсчитать. Там нет необходимости использовать групповые символы, так как НАЙТИ возвратит число, если текст найден в любом месте в ячейке.
СКАЧАТЬ ФАЙЛ
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь