Рассмотрим простой способ подсчета количества слов в ячейке в Excel.
Стандартной формулы подсчета слов в ячейке в Excel нет, поэтому итоговая формула будет состоять из нескольких формул.
Итоговая формула выглядит следующим образом:
=ЕСЛИ(ЕПУСТО(A2);0;ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))+1)
Краткое описание используемых функций (с подробным описанием можно ознакомиться в конце статьи):
- СЖПРОБЕЛЫ — удаляет из текста лишние пробелы;
- ПОДСТАВИТЬ — производит замену старого текста на новый в текстовой строке;
- ДЛСТР — рассчитывает количество знаков в строке;
- ЕПУСТО — проверяет является ли ячейка пустой.
Алгоритм подсчета
Алгоритм строится на том факте, что количество слов в любой фразе всегда на 1 больше, чем количество пробелов.
Однако фраза может начинаться с пробела или по ошибке могут встречать двойные пробелы, поэтому в первую очередь удалим лишние проблемы из исходной фразы с помощью функции СЖПРОБЕЛЫ и подсчитаем длину фразы функцией ДЛСТР:
=ДЛСТР(СЖПРОБЕЛЫ(A2))
Теперь рассчитаем длину фразы без учета пробелов, для этого воспользуемся функций ПОДСТАВИТЬ, которая удалит символ пробела (если быть точнее, то заменит " " на ""):
=ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))
Рассчитываем разницу между двумя данными значениями, прибавляем 1 и получаем итоговое количество слов в ячейке:
=ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))+1
Однако в случае, если ячейка пустая, то данная формула вернет значение 1, поэтому добавим в функцию проверку на непустую ячейку (если ячейка пустая, то вернется значение 0):
=ЕСЛИ(ЕПУСТО(A2);0;ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))+1)
Описание используемых функций
Функция СЖПРОБЕЛЫ:
СЖПРОБЕЛЫ(текст)
Удаляет из текста лишние пробелы (кроме одиночных пробелов между словами).
- Текст (обязательный аргумент) — текст, из которого удаляются лишние пробелы.
Функция ПОДСТАВИТЬ:
ПОДСТАВИТЬ(текст; стар_текст; нов_текст; [номер_вхождения])
Заменяет новым текстом старый текст в текстовой строке.
- Текст (обязательный аргумент) — текст, в котором происходит подстановка;
- Старый текст (обязательный аргумент) — заменяемый текст;
- Новый текст (обязательный аргумент) — текст, на который меняется старый текст;
- Номер вхождения (необязательный аргумент) — номер вхождения заменяемого фрагмента старый текст.
Функция ДЛСТР:
ДЛСТР(текст)
Возвращает количество знаков в текстовой строке.
- Текст (обязательный аргумент) — измеряемый текст.
Функция ЕПУСТО:
ЕПУСТО(значение)
Проверяет, ссылается ли данная ссылка на пустую ячейку, и возвращает значение ИСТИНА или ЛОЖЬ.
- Значение (обязательный аргумент) — ссылка на ячейку.
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!