Excel посчитать количество слов в ячейке

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Расширенный фильтр в excel диапазон условий

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

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

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

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

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

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

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

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

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

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

Пользователи Microsoft Word знают, на сколько полезна возможность узнать количество слов в набранном тексте. Однако, пользуясь Excel, узнать количество слов в документе не возможно штатными средствами.

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

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

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

=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;” “;””))+1

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

Как эта формула работает?

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

Если мы составим обычное предложение из 8 слов, то их будут разделять 7 пробелов.

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

Соответственно, наша формула работает следующим образом:

  1. Функция ДЛСТР в первой части формулы подсчитывает количество символов в ячейке (с учетом пробелов)
  2. Во второй и третьей части формулы мы комбинируем функции ДЛСТР и ПОДСТАВИТЬ для подсчета количества символов в ячейке без пробелов
  3. Прибавляем к полученному значению число “один”
Читать еще:  Excel 2010 уроки

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

Во избежание этого, я предлагаю использовать в дополнение две функции: ЕСЛИ и ЕПУСТО . Формула будет выглядеть так:

=ЕСЛИ(ЕПУСТО(A1);0;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;” “;””))+1)

Эти две функции проверяют, есть ли текст в ячейке или она пустая. Если в ячейке нет текста, формула вернет значение “ноль”.

Как посчитать количество слов в нескольких ячейках Excel

Теперь, перейдем на более сложный уровень.

Представим, что наша задача посчитать количество слов в нескольких ячейках.

Хорошая новость заключается в том, что мы будем использовать ту же формулу, что мы рассматривали на предыдущем примере, с небольшим дополнением:

=СУММПРОИЗВ(ДЛСТР(A1:A10)-ДЛСТР(ПОДСТАВИТЬ(A1:A10;” “;””))+1)

В указанной выше формуле А1:А10 это диапазон ячеек в рамках которого мы хотим посчитать количество слов.

Как эта формула работает?

Эта формула работает по тому же принципу, что и для подсчета количества слов в одной ячейке. Разница лишь в использовании функции СУММПРОИЗВ . Она помогает нам вычислить количество слов во всем массиве данных.

Всякий раз, когда вы вводите текст в ячейку или диапазон ячеек, эти методы позволяют посчитать количество слов.

Я надеюсь, что в будущем Excel получит штатную возможность для подсчета слов.

Уверен, эти приемы помогут вам стать лучше в Excel.

отличное решение! Но на практике могут возникнуть проблемы – человек может случайно поставить лишний пробел (двойной пробел) и формула приплюсует лишнее слово! Если считаем слова в одной ячейке то проблему решим, добавив функцию сжпробелы: =ДЛСТР(СЖПРОБЕЛЫ(A1))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);” “;””))+1.
Но данный способ не работает с массивом, может Вы придумаете, как обойти данную проблему?

Подсчёт количества слов в ячейке Excel

Этот пример описывает, как сосчитать количество слов в ячейке.

    Функция TRIM (СЖПРОБЕЛЫ) удаляет все лишние пробелы из строки, если они там есть.


Чтобы получить длину строки с нормальным количеством пробелов, объединим функции LEN (ДЛСТР) и TRIM (СЖПРОБЕЛЫ).


Функция SUBSTITUTE (ПОДСТАВИТЬ) заменяет находящийся в ячейке текст новым. Мы используем её, чтобы получить строку без пробелов.


Чтобы получить длину строки без пробелов, объединим функции LEN (ДЛСТР) и SUBSTITUTE (ПОДСТАВИТЬ).


Сейчас вы увидите несложный трюк. Чтобы получить количество слов, мы вычтем длину строки без пробелов (10) из длины строки с нормальным количеством пробелов (12) и добавим 1.

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

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

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