Excel количество слов в строке

Как подсчитать количество слов в строке

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

Принцип подсчета слов

Представленный метод подсчета слов в строке (в текстовом значении) основан на том, что:

1. В строке отсутствуют лишние пробелы, то есть два соседних слова отделены друг от друга одним пробелом;

2. словом считается любая комбинация символов, справа или слева от которой находится пробел;

3. количество слов в строке на единицу больше количества разделяющих их пробелов.

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

Количество пробелов в строке определяется при помощи циклического перебора символов заданной строки и сравнения каждого символа с символом пробела. При совпадении счетчик пробелов увеличивается на единицу.

Процедура по подсчету слов в строке

Для того чтобы узнать количество слов в ячейке Excel, можно использовать пользовательскую функцию.

Функция для подсчета слов в ячейках Excel

Если скопировать и вставить этот программный код в личную книгу макросов, функция становится доступна для использования через мастер функций. Функция добавляется в категорию функций «Определенные пользователем».

Надстройка для определения количества слов в ячейках Excel

Можно сохранить представленный выше программный код не в личную книгу макроса, а в модуль VBA-проекта, после чего сохранить рабочую книгу как надстройку. Внесение в программный код некоторых дополнений позволяет добавлять функцию в любую категорию, например в «Текстовые», кроме того появляется возможность добавить к функции краткое описание. Пример надстройки можно скачать бесплатно.

Количество слов в ячейке в Excel

Рассмотрим простой способ подсчета количества слов в ячейке в Excel.

Стандартной формулы подсчета слов в ячейке в Excel нет, поэтому итоговая формула будет состоять из нескольких формул.
Итоговая формула выглядит следующим образом:

=ЕСЛИ(ЕПУСТО( A2 );0;ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1)


Краткое описание используемых функций (с подробным описанием можно ознакомиться в конце статьи):

  • СЖПРОБЕЛЫ — удаляет из текста лишние пробелы;
  • ПОДСТАВИТЬ — производит замену старого текста на новый в текстовой строке;
  • ДЛСТР — рассчитывает количество знаков в строке;
  • ЕПУСТО — проверяет является ли ячейка пустой.
Читать еще:  Высота строки в excel

Алгоритм подсчета

Алгоритм строится на том факте, что количество слов в любой фразе всегда на 1 больше, чем количество пробелов.
Однако фраза может начинаться с пробела или по ошибке могут встречать двойные пробелы, поэтому в первую очередь удалим лишние проблемы из исходной фразы с помощью функции СЖПРОБЕЛЫ и подсчитаем длину фразы функцией ДЛСТР:

Теперь рассчитаем длину фразы без учета пробелов, для этого воспользуемся функций ПОДСТАВИТЬ, которая удалит символ пробела (если быть точнее, то заменит » » на «»):

Рассчитываем разницу между двумя данными значениями, прибавляем 1 и получаем итоговое количество слов в ячейке:

=ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1

Однако в случае, если ячейка пустая, то данная формула вернет значение 1, поэтому добавим в функцию проверку на непустую ячейку (если ячейка пустая, то вернется значение 0):

=ЕСЛИ(ЕПУСТО( A2 );0;ДЛСТР(СЖПРОБЕЛЫ( A2 ))-ДЛСТР(ПОДСТАВИТЬ( A2 ;» «;»»))+1)

Описание используемых функций

Функция СЖПРОБЕЛЫ:

СЖПРОБЕЛЫ(текст)
Удаляет из текста лишние пробелы (кроме одиночных пробелов между словами).

  • Текст(обязательный аргумент) — текст, из которого удаляются лишние пробелы.

Функция ПОДСТАВИТЬ:

ПОДСТАВИТЬ(текст; стар_текст; нов_текст; [номер_вхождения])
Заменяет новым текстом старый текст в текстовой строке.

  • Текст(обязательный аргумент) — текст, в котором происходит подстановка;
  • Старый текст(обязательный аргумент) — заменяемый текст;
  • Новый текст(обязательный аргумент) — текст, на который меняется старый текст;
  • Номер вхождения(необязательный аргумент) — номер вхождения заменяемого фрагмента старый текст.

Функция ДЛСТР:

ДЛСТР(текст)
Возвращает количество знаков в текстовой строке.

  • Текст(обязательный аргумент) — измеряемый текст.

Функция ЕПУСТО:

ЕПУСТО(значение)
Проверяет, ссылается ли данная ссылка на пустую ячейку, и возвращает значение ИСТИНА или ЛОЖЬ.

  • Значение(обязательный аргумент) — ссылка на ячейку.

Формула подсчета количества слов и символов в ячейке Excel

Одна из самых полезных задач по работе с текстом в Excel – это автоматический подсчет количества слов или определенных в строке. Существует много разных способов для решения данной задачи, но мы рассмотрим самый простой.

Формула подсчета количества слов в ячейке Excel

Как посчитать количество слов и пробелов в ячейках Excel? Фактически слова в строке разделены символом пробела. Между каждым словом 1 пробел, поэтому пробелов в текстовой строке всегда на единицу меньше чем слов. Простая формула для понимания: количество слов в строке = количество пробелов +1. Другими словами нам нужна формула для подсчета количества пробелов в строке и к результату ее вычисления добавить +1.

Читать еще:  Как в excel перемешать строки

Чтобы составить формулу в Excel для подсчета количества слов нам нужно выполнить 3 шага:

  1. Определить длину исходной строки с пробелами.
  2. Определить длину исходной строки без пробелов.
  3. Вычесть от длины строки с пробелами – строку без пробелов.

Выше указанная формула содержит 3 функции. Одна из них функция ПОДСТАВИТЬ, а далее идут две одинаковые ДЛСТР.

Сначала функция ДЛСТР проверяет длину текстовой стирки пока в оригинальном виде в ячейке A1.

Далее функция ПОДСАВИТЬ удаляет из исходной строки все пробелы:

Помещение функции ПОДСАВИТЬ в качестве аргумента для функции ДЛСТР позволяет нам автоматически определить длину строки без пробелов.

Обратите внимание! На этом этапе следует добавить +1, ведь последнее слово в тексте не имеет соответствующего ему пробела.

Дальше остались только вычесть от длины оригинального текста длину строки без пробелов и в результате мы автоматически получаем количество слов:

Практическое применения выше описных формул наиболее часто встречается при анализе больших списков ключевых фраз.

Формула подсчета количества символов в ячейке Excel

Как посчитать количество символов в ячейках Excel? Аналогичным способом мы можем подсчитать количество любых символов в слове или целой строке. Для примера посчитаем количество букв «С» в слове Миссисипи:

  1. Определяем длину исходного слова «Миссисипи» = 9.
  2. Определяем длину этого же слова, но без буквы «С» — «Мииипи» = 6.
  3. Вычитаем от исходного слова слово без буквы «С»: 9-6=3.

В результате формула автоматически посчитала количество букв «С» во всех словах:

Примечание. В формуле используется функция ПРОПИСН чтобы сделать все буквы большими в словах так как функция ПОДСТАВИТЬ чувствительна к регистру. А мы ищем большую букву «С» в каждом слове названия городов.

Количество слов в ячейке

Предположим, что в ячейке А1 у нас есть какой-то текст, а в ячейке B1 нам нужно подсчитать количество слов в этом тексте.

Простым, но красивым решением для подсчета количества слов в ячейке, будет следующая формула для B1:

=ЕСЛИ(ЕПУСТО(A1);0; ДЛСТР(СЖПРОБЕЛЫ(A1)) — ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)) +1)

Разбор полетов

Общий принцип работы формулы прост — число слов в ячейке всегда на 1 больше, чем число пробелов между словами. Таким образом, подсчитав разницу между длиной исходного текста и его же, но взятого без пробелов — мы получим в результате количество пробелов, т.е. количество слов. На случай, если где-то в тексте «для красоты» стоят по два-три пробела между словами или понатыканы пробелы перед или после текста — мы используем функцию СЖПРОБЕЛЫ (TRIM) из категории Текстовые, которая удаляет все лишние пробелы из исходного текста, кроме одиночных пробелов между словами. Таким образом в нашей формуле:

  • ДЛСТР(СЖПРОБЕЛЫ(A1)) — длина исходного текста без лишних пробелов
  • ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)) — длина исходного текста, в котором все пробелы заменены на пустоту, т.е. удалены, т.е. длина текста без пробелов вообще
Читать еще:  Закрепить первую строку в excel

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

Остается одна маленькая проблема: если ячейка пустая, то наша формула выдает 1. Поэтому добавим функцию ЕСЛИ (IF) , которая будет заранее проверять ячейку на предмет пустоты с помощью функции ЕПУСТО (ISBLANK) и выводить 0 либо считать число слов по нашему алгоритму.

Подсчет количества определенных символов в ячейке excel

Описание функции

Функция =СЧЁТСИМВЛ(ТЕКСТ, СИМВОЛ) имеет два обязательных аргумента:

  • ТЕКСТ — Строка, в которой необходимо посчитать количество символов.
  • ШАБЛОН — Символ, который необходимо посчитать.

Если вы забыли синтаксис данной функции, вы всегда сможете вызвать формулу из выпадающего списка функций в надстройке.

Теперь к практике. Далее привожу множество примеров использования данной функции.

Посчитать количество пробелов в тексте.

Посчитать количество заданных символов.

Посчитать количество символов не обращая внимание на регистр.

Посчитать количество слов в тексте.

Посчитать количество слов в тексте не обращая внимания на двойные пробелы.

Посчитать количество всех символов в строке за исключением пробелов.

Альтернатива данной функции

Excel позволяет пользователям достичь правильного решения разными путями. Данная формула не исключение. Заменить данную функцию можно с помощью двух других: ДЛСТР и ПОДСТАВИТЬ. Чтобы определить количество заданного символа сначала определите длину всего текста функцией ДЛСТР, а затем отнимите от этого значения длину этого же текста, только с предварительно удаленными символами (которые вы ищите): =ДЛСТР(B13)-ДЛСТР(ПОДСТАВИТЬ(B13;» «;»»)). В файле для скачивания приведены конкретные примеры.

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector