Excel количество слов в строке
Как подсчитать количество слов в строке
Не редко перед пользователями офисных приложений встает задача по определению количества слов в текстовом значении, например в текстовой переменной или в ячейке Excel. Существуют различные методы подсчета количества слов в строке, один из них приводится ниже.
Принцип подсчета слов
Представленный метод подсчета слов в строке (в текстовом значении) основан на том, что:
1. В строке отсутствуют лишние пробелы, то есть два соседних слова отделены друг от друга одним пробелом;
2. словом считается любая комбинация символов, справа или слева от которой находится пробел;
3. количество слов в строке на единицу больше количества разделяющих их пробелов.
Таким образом, для того чтобы подсчитать количество слов в строке, необходимо предварительно удалить из этой строки все лишние пробелы, затем посчитать количество оставшихся пробелов и увеличить их на единицу, эта величина и будет соответствовать количеству слов в строке.
Количество пробелов в строке определяется при помощи циклического перебора символов заданной строки и сравнения каждого символа с символом пробела. При совпадении счетчик пробелов увеличивается на единицу.
Процедура по подсчету слов в строке
Для того чтобы узнать количество слов в ячейке Excel, можно использовать пользовательскую функцию.
Функция для подсчета слов в ячейках Excel
Если скопировать и вставить этот программный код в личную книгу макросов, функция становится доступна для использования через мастер функций. Функция добавляется в категорию функций «Определенные пользователем».
Надстройка для определения количества слов в ячейках Excel
Можно сохранить представленный выше программный код не в личную книгу макроса, а в модуль VBA-проекта, после чего сохранить рабочую книгу как надстройку. Внесение в программный код некоторых дополнений позволяет добавлять функцию в любую категорию, например в «Текстовые», кроме того появляется возможность добавить к функции краткое описание. Пример надстройки можно скачать бесплатно.
Количество слов в ячейке в Excel
Рассмотрим простой способ подсчета количества слов в ячейке в Excel.
Стандартной формулы подсчета слов в ячейке в Excel нет, поэтому итоговая формула будет состоять из нескольких формул.
Итоговая формула выглядит следующим образом:
=ЕСЛИ(ЕПУСТО( A2 );0;ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1)
Краткое описание используемых функций (с подробным описанием можно ознакомиться в конце статьи):
- СЖПРОБЕЛЫ — удаляет из текста лишние пробелы;
- ПОДСТАВИТЬ — производит замену старого текста на новый в текстовой строке;
- ДЛСТР — рассчитывает количество знаков в строке;
- ЕПУСТО — проверяет является ли ячейка пустой.
Алгоритм подсчета
Алгоритм строится на том факте, что количество слов в любой фразе всегда на 1 больше, чем количество пробелов.
Однако фраза может начинаться с пробела или по ошибке могут встречать двойные пробелы, поэтому в первую очередь удалим лишние проблемы из исходной фразы с помощью функции СЖПРОБЕЛЫ и подсчитаем длину фразы функцией ДЛСТР:
Теперь рассчитаем длину фразы без учета пробелов, для этого воспользуемся функций ПОДСТАВИТЬ, которая удалит символ пробела (если быть точнее, то заменит » » на «»):
Рассчитываем разницу между двумя данными значениями, прибавляем 1 и получаем итоговое количество слов в ячейке:
=ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1
Однако в случае, если ячейка пустая, то данная формула вернет значение 1, поэтому добавим в функцию проверку на непустую ячейку (если ячейка пустая, то вернется значение 0):
=ЕСЛИ(ЕПУСТО( A2 );0;ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1)
Описание используемых функций
Функция СЖПРОБЕЛЫ:
СЖПРОБЕЛЫ(текст)
Удаляет из текста лишние пробелы (кроме одиночных пробелов между словами).
- Текст(обязательный аргумент) — текст, из которого удаляются лишние пробелы.
Функция ПОДСТАВИТЬ:
ПОДСТАВИТЬ(текст; стар_текст; нов_текст; [номер_вхождения])
Заменяет новым текстом старый текст в текстовой строке.
- Текст(обязательный аргумент) — текст, в котором происходит подстановка;
- Старый текст(обязательный аргумент) — заменяемый текст;
- Новый текст(обязательный аргумент) — текст, на который меняется старый текст;
- Номер вхождения(необязательный аргумент) — номер вхождения заменяемого фрагмента старый текст.
Функция ДЛСТР:
ДЛСТР(текст)
Возвращает количество знаков в текстовой строке.
- Текст(обязательный аргумент) — измеряемый текст.
Функция ЕПУСТО:
ЕПУСТО(значение)
Проверяет, ссылается ли данная ссылка на пустую ячейку, и возвращает значение ИСТИНА или ЛОЖЬ.
- Значение(обязательный аргумент) — ссылка на ячейку.
Формула подсчета количества слов и символов в ячейке Excel
Одна из самых полезных задач по работе с текстом в Excel – это автоматический подсчет количества слов или определенных в строке. Существует много разных способов для решения данной задачи, но мы рассмотрим самый простой.
Формула подсчета количества слов в ячейке Excel
Как посчитать количество слов и пробелов в ячейках Excel? Фактически слова в строке разделены символом пробела. Между каждым словом 1 пробел, поэтому пробелов в текстовой строке всегда на единицу меньше чем слов. Простая формула для понимания: количество слов в строке = количество пробелов +1. Другими словами нам нужна формула для подсчета количества пробелов в строке и к результату ее вычисления добавить +1.
Чтобы составить формулу в Excel для подсчета количества слов нам нужно выполнить 3 шага:
- Определить длину исходной строки с пробелами.
- Определить длину исходной строки без пробелов.
- Вычесть от длины строки с пробелами – строку без пробелов.
Выше указанная формула содержит 3 функции. Одна из них функция ПОДСТАВИТЬ, а далее идут две одинаковые ДЛСТР.
Сначала функция ДЛСТР проверяет длину текстовой стирки пока в оригинальном виде в ячейке A1.
Далее функция ПОДСАВИТЬ удаляет из исходной строки все пробелы:
Помещение функции ПОДСАВИТЬ в качестве аргумента для функции ДЛСТР позволяет нам автоматически определить длину строки без пробелов.
Обратите внимание! На этом этапе следует добавить +1, ведь последнее слово в тексте не имеет соответствующего ему пробела.
Дальше остались только вычесть от длины оригинального текста длину строки без пробелов и в результате мы автоматически получаем количество слов:
Практическое применения выше описных формул наиболее часто встречается при анализе больших списков ключевых фраз.
Формула подсчета количества символов в ячейке Excel
Как посчитать количество символов в ячейках Excel? Аналогичным способом мы можем подсчитать количество любых символов в слове или целой строке. Для примера посчитаем количество букв «С» в слове Миссисипи:
- Определяем длину исходного слова «Миссисипи» = 9.
- Определяем длину этого же слова, но без буквы «С» — «Мииипи» = 6.
- Вычитаем от исходного слова слово без буквы «С»: 9-6=3.
В результате формула автоматически посчитала количество букв «С» во всех словах:
Примечание. В формуле используется функция ПРОПИСН чтобы сделать все буквы большими в словах так как функция ПОДСТАВИТЬ чувствительна к регистру. А мы ищем большую букву «С» в каждом слове названия городов.
Количество слов в ячейке
Предположим, что в ячейке А1 у нас есть какой-то текст, а в ячейке B1 нам нужно подсчитать количество слов в этом тексте.
Простым, но красивым решением для подсчета количества слов в ячейке, будет следующая формула для B1:
=ЕСЛИ(ЕПУСТО(A1);0; ДЛСТР(СЖПРОБЕЛЫ(A1)) — ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)) +1)
Разбор полетов
Общий принцип работы формулы прост — число слов в ячейке всегда на 1 больше, чем число пробелов между словами. Таким образом, подсчитав разницу между длиной исходного текста и его же, но взятого без пробелов — мы получим в результате количество пробелов, т.е. количество слов. На случай, если где-то в тексте «для красоты» стоят по два-три пробела между словами или понатыканы пробелы перед или после текста — мы используем функцию СЖПРОБЕЛЫ (TRIM) из категории Текстовые, которая удаляет все лишние пробелы из исходного текста, кроме одиночных пробелов между словами. Таким образом в нашей формуле:
- ДЛСТР(СЖПРОБЕЛЫ(A1)) — длина исходного текста без лишних пробелов
- ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)) — длина исходного текста, в котором все пробелы заменены на пустоту, т.е. удалены, т.е. длина текста без пробелов вообще
Ну, а дальше считаем разницу и прибавляем 1, чтобы получить искомое количество слов.
Остается одна маленькая проблема: если ячейка пустая, то наша формула выдает 1. Поэтому добавим функцию ЕСЛИ (IF) , которая будет заранее проверять ячейку на предмет пустоты с помощью функции ЕПУСТО (ISBLANK) и выводить 0 либо считать число слов по нашему алгоритму.
Подсчет количества определенных символов в ячейке excel
Описание функции
Функция =СЧЁТСИМВЛ(ТЕКСТ, СИМВОЛ) имеет два обязательных аргумента:
- ТЕКСТ — Строка, в которой необходимо посчитать количество символов.
- ШАБЛОН — Символ, который необходимо посчитать.
Если вы забыли синтаксис данной функции, вы всегда сможете вызвать формулу из выпадающего списка функций в надстройке.
Теперь к практике. Далее привожу множество примеров использования данной функции.
Посчитать количество пробелов в тексте.
Посчитать количество заданных символов.
Посчитать количество символов не обращая внимание на регистр.
Посчитать количество слов в тексте.
Посчитать количество слов в тексте не обращая внимания на двойные пробелы.
Посчитать количество всех символов в строке за исключением пробелов.
Альтернатива данной функции
Excel позволяет пользователям достичь правильного решения разными путями. Данная формула не исключение. Заменить данную функцию можно с помощью двух других: ДЛСТР и ПОДСТАВИТЬ. Чтобы определить количество заданного символа сначала определите длину всего текста функцией ДЛСТР, а затем отнимите от этого значения длину этого же текста, только с предварительно удаленными символами (которые вы ищите): =ДЛСТР(B13)-ДЛСТР(ПОДСТАВИТЬ(B13;» «;»»)). В файле для скачивания приведены конкретные примеры.