Количество ячеек длинна строк в которых больше значения

Если с другими примерами всё более менее понятно, то ситуацию в которой необходимо посчитать все ячейки длинна строк в которых больше определенного значения, представить трудно. Но всё так, попробуем решить такую задачу.

Исходные данные

В каком-то диапазоне ячеек внесены строки. Неважно что они из себя представляют, все может завесить от определенного контекста задачи. В нашем же примере будем использовать простые наборы букв русского алфавита. Итак, даны такие ячейки.

Исходные данные для подсчета количества строк больше заданной длинны

Для наглядности буквы следуют в алфавитном порядке. Итак попробуем посчитать количество строк (или правильнее говорить ячеек) длинна строк в которых больше 4 символов.

Формула

Казалось бы, решение напрашивается само собой. Для того что бы определить длину строки используется функция «ДЛСТР», однако обычно функцию применяют к одной ячейке. Если бы мы в столбце «С» написали напротив каждой ячейки формулу вроде

=ДЛСТР(В3)

То получили бы значение равное длине только определенной ячейки. С другой стороны, функция «ДЛСТР» принимает в качестве параметра не только ссылку на единичную ячейку, но и ссылку на диапазон, возвращая при этом массив значений. Если в ячейки С3, мы запишем формулу

=ДЛСТР(В3:В11)

То получим значение 1, что вполне логично, формула вернула нам массив результатов, однако для отображения берется только первое значение, те длинна строки в ячейки «В3». Ели бы отображались значения в виде массива, мы увидели бы примерно такой результат {1; 3; 2; 4; 5; 3; 2; 4; 6} то есть числовые результаты вычисления длины строки. С другой стороны условие задачи определяется как «количество ячеек длинна строк в которых больше». В условии задачи ключевых слов два, это «количество» и «больше». Эти слова наводят на мысль что надо не просто посчитать, а получить результаты с неким логическим условием. В логических условиях проще оперировать не конечными результатами, а логическими вроде «ИСТИНА» или «ЛОЖЬ», в числовом представлении это «1» и «0».

Если мы к первой формуле добавим условие

=ДЛСТР(В3)>4

Получим результат  «ЛОЖЬ», и так далее для всех ячеек. Только для двух ячеек «В7» и «В11» будет выполняться условие и результат будет «ИСТИНА». С одной стороны мы бы могли этим ограничиться и изменить формулу использовав в виде ссылки диапазон результат которой будет массив логических значений. Однако подсчитывать формулой логические значения, мягко говоря, тяжеловато. Изменим формулу еще раз, добавив в начало вызов «редкого зверя» функции «Ч», да название функции состоит из одной буквы. Эта функция возвращает значение, преобразованное в число. И как уже говорилось ранее числовым эквивалентом логического значения «ИСТИНА» является число 1. В результате для формулы

=Ч(ДЛСТР(В3:В11)>4)

Результатом будет массив {0; 0; 0; 0; 1; 0; 0; 0; 1}. Это уже интереснее. Обычные нули и единицы, причем количество единиц соответствует количеству ячеек, для которых выполняется условие. Значит, остается просуммировать значения в массиве, и сделать это можно функцией «СУММПРОИЗВ». Таким образом, законченная формула примет вид

=СУММПРОИЗВ(Ч(ДЛСТР(B3:B11)>4))

Условие из ячейки

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

=СУММПРОИЗВ(Ч(ДЛСТР(B3:B11)>D3))

Добавить комментарий