Задача

Предположим, ваш список ключей имеет довольно длинные запросы, от которых нужно избавиться. Весь текст в столбце А; в столбце В мы хотим видеть соответствующие цифры – количество слов в каждой из ячеек.

Решение

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

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

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

Для лучшего понимания разобьём нашу формулу на составляющие:

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

Теперь +1 к выявленной разнице, чтобы получить нужное нам количество слов.

Но может возникнуть правомерный вопрос: если ячейка окажется пустой, алгоритм выведет в качестве ответа единицу? Все верно. И чтобы избежать ошибки мы изначально проверяем ячейку на предмет пустоты посредством функции ЕПУСТО(A1). В случае, если в ячейке действительно нет текста, алгоритм завершается с ответом – 0.

Пусть ваши решения в работе с Excel будут изящными 🙂

Читайте также:
  • Психология эмодзи: как ваша аудитория использует эмодзи и как это может улучшить вашу маркетинговую стратегию
    Читать дальше
  • Камни преткновения: 10 популярных ошибок Project Manager в управлении проектами
    Читать дальше
  • От бумеров до альфы: эволюция покупательского поведения разных поколений
    Читать дальше