Как посчитать слова в Excel - примеры формул

  • Поделись Этим
Michael Brown

В учебнике объясняется, как подсчитывать слова в Excel с помощью функции LEN в сочетании с другими функциями Excel, а также приводятся формулы с учетом регистра и без учета регистра для подсчета общего количества или определенных слов/текста в ячейке или диапазоне.

В Microsoft Excel есть несколько полезных функций, которые могут подсчитать практически все: функция COUNT для подсчета ячеек с числами, COUNTA для подсчета непустых ячеек, COUNTIF и COUNTIFS для условного подсчета ячеек и LEN для подсчета длины текстовой строки.

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

    Как подсчитать общее количество слов в ячейке

    Чтобы подсчитать слова в ячейке, используйте следующую комбинацию функций LEN, SUBSTITUTE и TRIM:

    LEN(TRIM( ячейка ))-LEN(SUBSTITUTE( ячейка ," ",""))+1

    Где ячейка адрес ячейки, в которой вы хотите подсчитать слова.

    Например, чтобы подсчитать слова в ячейке A2, используйте эту формулу:

    =LEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))+1

    Затем вы можете скопировать формулу вниз для подсчета слов в других ячейках столбца A:

    Как работает эта формула подсчета слов

    Сначала вы используете функцию SUBSTITUTE, чтобы удалить все пробелы в ячейке, заменив их пустой текстовой строкой (""), чтобы функция LEN вернула длину строки без пробелов:

    LEN(SUBSTITUTE(A2," ",""))

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

    Кроме того, вы используете функцию TRIM для удаления лишних пробелов в ячейке, если таковые имеются. Иногда рабочий лист может содержать много невидимых пробелов, например, два или более пробелов между словами, или пробелы, случайно набранные в начале или конце текста (т.е. ведущие и отстающие пробелы). И все эти лишние пробелы могут сбить ваш подсчет слов. Чтобы защититься от этого, перед тем.Вычисляя общую длину строки, мы используем функцию TRIM для удаления всех лишних пробелов, кроме одиночных пробелов между словами.

    Улучшенная формула, которая правильно обрабатывает пустые ячейки

    Приведенную выше формулу для подсчета слов в Excel можно было бы назвать идеальной, если бы не один недостаток - она возвращает 1 для пустых ячеек. Чтобы исправить это, вы можете добавить оператор IF для проверки пустых ячеек:

    =IF(A2="", 0, LEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))+1)

    Как вы можете видеть на скриншоте выше, формула возвращает ноль для пустых ячеек и правильное количество слов для непустых ячеек.

    Как подсчитать конкретные слова в ячейке

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

    =(LEN( ячейка )-LEN(SUBSTITUTE( ячейка , слово ,"")))/LEN( слово )

    Например, давайте подсчитаем количество " луна " встречается в ячейке A2:

    =(LEN(A2)-LEN(SUBSTITUTE(A2, "moon","")))/LEN("moon"))

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

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

    =(LEN(A2)-LEN(SUBSTITUTE(A2, $B$1,"")))/LEN($B$1)

    Как эта формула подсчитывает вхождения определенного текста в ячейку

    1. Функция SUBSTITUTE удаляет указанное слово из исходного текста.

    В этом примере мы удаляем слово, введенное в ячейку B1, из исходного текста, расположенного в A2:

    SUBSTITUTE(A2, $B$1,"")

  • Затем функция LEN вычисляет длину текстовой строки без указанного слова.
  • В данном примере, LEN(SUBSTITUTE(A2, $B$1,"")) возвращает длину текста в ячейке A2 после удаления всех символов, содержащихся во всех вхождениях слова " луна ".

  • После этого указанное число вычитается из общей длины исходной текстовой строки:
  • (LEN(A2)-LEN(SUBSTITUTE(A2, $B$1,"")))

    Результатом этой операции является количество символов, содержащихся во всех вхождениях целевого слова, которое в данном примере равно 12 (3 вхождения слова " луна ", по 4 символа).

  • Наконец, полученное число делится на длину слова. Другими словами, вы делите количество символов, содержащихся во всех вхождениях целевого слова, на количество символов, содержащихся в одном вхождении этого слова. В данном примере 12 делится на 4, и в результате мы получаем 3.
  • Помимо подсчета количества определенных слов в ячейке, вы можете использовать эту формулу для подсчета вхождения любого текста (подстрока). Например, вы можете подсчитать, сколько раз текст " выбрать " появляется в ячейке A2:

    Формула с учетом регистра для подсчета определенных слов в ячейке

    Как вы, вероятно, знаете, функция Excel SUBSTITUTE чувствительна к регистру, поэтому формула подсчета слов, основанная на SUBSTITUTE, по умолчанию чувствительна к регистру:

    Формула с учетом регистра для подсчета определенных слов в ячейке

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

    =(LEN( ячейка )-LEN(SUBSTITUTE(UPPER( ячейка ),UPPER( текст ),"")))/LEN( текст )

    Или

    =(LEN( ячейка )-LEN(SUBSTITUTE(LOWER( ячейка ),LOWER( текст ),"")))/LEN( текст )

    Например, чтобы подсчитать количество вхождений слова в B1 в ячейке A2 с игнорированием регистра, используйте эту формулу:

    =(LEN(A2)-LEN(SUBSTITUTE(LOWER(A2),LOWER($B$1),""))))/LEN($B$1)

    Как показано на скриншоте ниже, формула возвращает одинаковое количество слов независимо от того, набрано ли слово в UPPERCASE (ячейка B1), в нижнем регистре (ячейка D1) или в Sentence case (ячейка C1):

    Подсчитать общее количество слов в диапазоне

    Чтобы узнать, сколько слов содержит определенный диапазон, возьмите формулу, которая подсчитывает общее количество слов в ячейке, и встройте ее в функцию SUMPRODUCT или SUM:

    =SUMPRODUCT(LEN(TRIM( ассортимент ))-LEN(SUBSTITUTE( ассортимент ," ",""))+1)

    Или

    =SUM(LEN(TRIM( ассортимент ))-LEN(SUBSTITUTE( ассортимент ," ",""))+1)

    SUMPRODUCT - одна из немногих функций Excel, которая может работать с массивами, и вы завершаете формулу обычным способом, нажимая клавишу Enter.

    Чтобы функция SUM вычисляла массивы, ее следует использовать в формуле массива, которая заполняется нажатием Ctrl+Shift+Enter вместо обычного нажатия Enter.

    Например, чтобы подсчитать все слова в диапазоне A2:A4, используйте одну из следующих формул:

    =SUMPRODUCT(LEN(TRIM(A2:A4))-LEN(SUBSTITUTE(A2:A4," ",""))+1)

    =SUM(LEN(TRIM(A2:A4))-LEN(SUBSTITUTE(A2:A4," ",""))+1)

    Подсчитывайте конкретные слова в диапазоне

    Если вы хотите подсчитать, сколько раз определенное слово или текст встречается в диапазоне ячеек, используйте аналогичный подход - возьмите формулу для подсчета определенных слов в ячейке и объедините ее с функцией SUM или SUMPRODUCT:

    =SUMPRODUCT((LEN( ассортимент )-LEN(SUBSTITUTE( ассортимент , слово ,"")))/LEN( слово ))

    Или

    =SUM((LEN( ассортимент )-LEN(SUBSTITUTE( ассортимент , слово ,"")))/LEN( слово ))

    Пожалуйста, не забывайте нажимать Ctrl+Shift+Enter для правильного завершения формулы SUM массива.

    Например, чтобы подсчитать все вхождения слова, введенного в ячейку C1, в диапазон A2:A4, используйте эту формулу:

    =SUMPRODUCT((LEN(A2:A4)-LEN(SUBSTITUTE(A2:A4, C1,"")))/LEN(C1))

    Как вы помните, SUBSTITUTE является с учетом регистра функция, и поэтому приведенная выше формула различает текст в верхнем и нижнем регистре:

    Чтобы составить формулу без учета регистра используйте функцию UPPER или LOWER:

    =SUMPRODUCT((LEN(A2:A4)-LEN(SUBSTITUTE((UPPER(A2:A4)),UPPER(C1),"")))/LEN(C1)))

    Или

    =SUMPRODUCT((LEN(A2:A4)-LEN(SUBSTITUTE((LOWER(A2:A4)),LOWER(C1),"")))/LEN(C1)))

    Вот как подсчитываются слова в Excel. Чтобы лучше понять и, возможно, пересмотреть формулы, вы можете скачать образец рабочей книги Excel Count Words.

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.