Количество слов в ячейке
Задача
Предположим, что в ячейке А1 у нас есть какой-то текст, а в ячейке B1 нам нужно подсчитать количество слов в этом тексте.
Решение
Простым, но красивым решением для подсчета количества слов в ячейке, будет следующая формула для B1:
=ЕСЛИ(ЕПУСТО(A1);0;ДЛСТР(СЖПРОБЕЛЫ(A1))-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))+1)
=IF(ISBLANK(A1);0;LEN(TRIM(A1))-LEN(SUBSTITUTE(A1;" ";""))+1)
Разбор полетов
Общий принцип работы формулы прост - число слов в ячейке всегда на 1 больше, чем число пробелов между словами. Таким образом, подсчитав разницу между длиной исходного текста и его же, но взятого без пробелов - мы получим в результате количество пробелов, т.е. количество слов. На случай, если где-то в тексте "для красоты" стоят по два-три пробела между словами или понатыканы пробелы перед или после текста - мы используем функцию СЖПРОБЕЛЫ (TRIM) из категории Текстовые, которая удаляет все лишние пробелы из исходного текста, кроме одиночных пробелов между словами. Таким образом в нашей формуле:
- ДЛСТР(СЖПРОБЕЛЫ(A1)) - длина исходного текста без лишних пробелов
- ДЛСТР(ПОДСТАВИТЬ(A1;" ";"")) - длина исходного текста, в котором все пробелы заменены на пустоту, т.е. удалены, т.е. длина текста без пробелов вообще
Ну, а дальше считаем разницу и прибавляем 1, чтобы получить искомое количество слов.
Остается одна маленькая проблема: если ячейка пустая, то наша формула выдает 1. Поэтому добавим функцию ЕСЛИ (IF), которая будет заранее проверять ячейку на предмет пустоты с помощью функции ЕПУСТО (ISBLANK) и выводить 0 либо считать число слов по нашему алгоритму.
Вот и все. Просто и изящно :)
Ссылки по теме
Намотал на ус.
Действительно очень удобно. Спасибо!
А если к примеру, текст идёт через запятую и некоторые выражения состоят из двух слов
Напр.: небо, дремучий лес, озеро = 3 символа
Подскажите пжл. как в этом случае можно просчитать?
Может быть кто-нибудь сталкивался с выделением ячеек по количеству слов в ячейке и выделенную цветом в диапазоне всей книги Excel файла.
Столкнулся из-за того, что нужно почистить файл, в котором более 50000 запросов по ключевым фразам. В Яндекс Директ количество слов в фразе не должно быть больше 7, у меня такие слова есть. Их нужно выделить цветом поправить и пустить в работу.
Возможно кто-то знает решение такой задачи. Заранее спасибо!