Andrulius Пользователь Сообщений: 4 |
Долго искал на форумах ответ на этот вопрос, но ничего не нашел по конкретному случаю. Как определить количество слов в столбце, подскажите, пожалуйста. Заранее спасибо. |
Andrulius Пользователь Сообщений: 4 |
{quote}{login=The_Prist}{date=10.12.2010 10:53}{thema=}{post}Здравствуйте. для определенных: |
VDM Пользователь Сообщений: 779 |
Да уж, а я понял что всех слов во всех указанных столбцах, тогда так вроде: =СУММ(ДЛСТР(A1:A10))-СУММ(ДЛСТР(ПОДСТАВИТЬ(A1:A10;» «;»»)))+СЧЁТЗ(A1:A10) — Массив |
VDM Пользователь Сообщений: 779 |
Тогда спасение утопающих — дело рук самих утопающих!:) |
Andrulius Пользователь Сообщений: 4 |
У меня документ excel — рассчетка для переводчиков. которые получают зарплату по количеству слов. Количество пробелов, запятых и других знаков припинания не берется во внимание. То есть есть один столбец с текстом. Остальные столбцы — с комментариями и оценками и они нас не интересуют. Нас интересуют только количество слов в заполненных ячейках столбца. Спасибо. |
VDM Пользователь Сообщений: 779 |
{quote}{login=andrulius}{date=10.12.2010 11:24}{thema=}{post}У меня документ excel — рассчетка для переводчиков. которые получают зарплату по количеству слов. Количество пробелов, запятых и других знаков припинания не берется во внимание. То есть есть один столбец с текстом. Остальные столбцы — с комментариями и оценками и они нас не интересуют. Нас интересуют только количество слов в заполненных ячейках столбца. Спасибо.{/post}{/quote} Так приложите кусочек документа для нас! |
Andrulius Пользователь Сообщений: 4 |
{quote}{login=VDM}{date=10.12.2010 11:27}{thema=Re: }{post}{quote}{login=andrulius}{date=10.12.2010 11:24}{thema=}{post}У меня документ excel — рассчетка для переводчиков. которые получают зарплату по количеству слов. Количество пробелов, запятых и других знаков припинания не берется во внимание. То есть есть один столбец с текстом. Остальные столбцы — с комментариями и оценками и они нас не интересуют. Нас интересуют только количество слов в заполненных ячейках столбца. Спасибо.{/post}{/quote} Так приложите кусочек документа для нас!{/post}{/quote} |
У Вас переводчики в Excel работают?! |
|
VDM Пользователь Сообщений: 779 |
Тогда почти моя формула, надо только «цифры» откинуть… |
Открываете документ в ворде и смотрите |
|
vikttur Пользователь Сообщений: 47199 |
{quote}{login=VDM}{date=10.12.2010 11:54}{thema=}{post}Тогда почти моя формула, надо только «цифры» откинуть…{/post}{/quote} |
Guest Гость |
#12 13.12.2010 15:42:17 Большое спасибо VDM. Вопрос решил:) |
В этой статье я расскажу о некоторых приемах подсчета количества слова или символа в столбце или отдельной ячейке на листе Excel.
Подсчитайте количество экземпляров числа или слова в столбце с формулой
Подсчитайте количество экземпляров символа или слова в ячейке с формулой
Подсчитать количество всех слов в диапазоне с Kutools for Excel
Подсчитайте количество экземпляров числа или слова в столбце с формулой
В этом разделе я представляю формулу для подсчета количества экземпляров числа или слова в столбце.
Выберите пустую ячейку и введите эту формулу = СЧЁТЕСЛИ (A1: A10; «Звезды»), Нажмите Enter key, затем подсчитывает количество экземпляров слова «Звезды» в диапазоне столбцов. Смотрите скриншот:
В формуле A1: A10 — это диапазон столбцов, из которого вы хотите посчитать слово или число, а звезды — это слово, которое вы хотите подсчитать, вы можете изменить его на число, символ или другие слова по своему усмотрению.
Подсчитайте количество экземпляров символа или слова в ячейке с формулой
Если вы хотите подсчитать количество символа или слова в одной ячейке, вы можете попробовать следующие методы.
Подсчитайте определенный символ в одной ячейке с помощью формулы
Выберите пустую ячейку, введите эту формулу = LEN (F1) -LEN (ПОДСТАВИТЬ (F1; G1; «»)), нажмите Enter, чтобы получить результат. Смотрите скриншот:
Функции: в этой формуле F1 — это ячейка, из которой вы хотите посчитать символы, а G1 — это символ, который вы хотите подсчитать, вы можете изменить их по своему усмотрению.
Подсчитайте определенное слово в одной ячейке с помощью формулы
Выберите пустую ячейку, введите эту формулу = (LEN (A14) -LEN (ПОДСТАВИТЬ (A14, B14, «»))) / LEN (B14), нажмите Enter ключ для получения результата. Смотрите скриншот:
Наконечник: в этой формуле A14 — это используемая вами ячейка, B14 — это слово, которое вы хотите посчитать, вы можете изменить их по своему усмотрению.
Подсчитайте конкретное слово в ячейке с помощью Kutools for Excel
Если вы не хотите запоминать формулы, вы можете подать заявку Kutools for ExcelАвтора Подсчитайте количество слова утилита для быстрого подсчета определенного слова в диапазоне.
Подсчитайте количество всех слов в диапазоне или ячейке с помощью Kutools for Excel
В некоторых случаях вам может потребоваться подсчитать количество всех слов в диапазоне или ячейке так же, как общее количество в документе Word. Очевидно, вы можете скопировать содержимое ячеек в документ Word, чтобы подсчитать общее количество слов, но здесь я представляю удобный инструмент добавления — Kutools for Excel вам, с его Подсчитать слова в диапазоне утилита для быстрого подсчета слов в диапазоне или ячейке.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите пустую ячейку, в которую вы поместите подсчитанный результат, нажмите Кутулс > Формула Помощник > Формула Помощник. Смотрите скриншот:
2. в Помощник по формулам диалог, проверьте Фильтр флажок, затем введите «считать«в текстовое поле, чтобы отфильтровать относительный счет по формуле, затем нажмите Подсчитать общее количество слов из Выберите формулу раздел, а затем выберите ячейки, в которых вы хотите подсчитать слова в Диапазон текстовое окно.
3. Нажмите Ok. И было подсчитано общее количество слов в выбранном диапазоне.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
На чтение 6 мин. Просмотров 17.5k.
Есть одна штука, которую я бы хотел иметь в Excel: подсчет слов в ячейке.
Если вы работаете в MS Word, в строке состояния есть встроенная опция, которая показывает, сколько слов на листе.
В Word есть опция для подсчета слов, но не в Excel. Вы можете посчитать количество ячеек, в которых есть текст, но не фактические слова в них.
В Excel в нашем распоряжении есть функции, с которыми мы можем посчитать почти все. Вы можете создать формулу, которая сможет посчитать слова в ячейке.
Содержание
- Четыре разных способа посчитать слова в Excel
- 1. Формула для подсчета слов в ячейке
- 2. Подсчет слов в диапазоне ячеек
- 3. Подсчет количества слов во всей таблицы с кодом VBA
- 4. Подсчет определенного слова/текстовой строки в диапазоне
- Заключение
Четыре разных способа посчитать слова в Excel
Сегодня в этой статье вы научитесь считать слова в Excel в ячейке или диапазоне ячеек или даже во всей таблице.
Также я покажу вам, как посчитать определенное слово из диапазона ячеек. Теперь без всяких церемоний, давайте начнем.
1. Формула для подсчета слов в ячейке
Сочетание функций ДЛСТР с ПОДСТАВИТЬ
И формула будет (текст в ячейке A1):
= ДЛСТР(A1) — ДЛСТР (ПОДСТАВИТЬ (A1; » «; «»)) + 1
Когда вы ссылаетесь на ячейку, используя эту формулу, она вернет 5 в результате.
И да, у вас есть 5 слов в ячейке.
Как формула работает?
Прежде чем перейти к этой формуле, просто подумайте. В обычном предложении, если у вас восемь слов, у вас определенно будет 7 пробелов в этих словах. Правильно? Это означает, что у вас всегда будет на одно слово больше, чем пробелов.
Идея проста: если вы хотите посчитать слова, подсчитайте пробелы и добавьте единицу.
Теперь, чтобы понять эту формулу, вам нужно разделить ее на три части.
В первой части мы использовали функцию ДЛСТР (LEN) для подсчета количества символов в ячейке A1. А во второй и третьей части мы объединили ПОДСТАВИТЬ (SUBSTITUTE) с ДЛСТР (LEN), чтобы удалить пробелы из ячейки и затем подсчитать символы.
Наше уравнение выглядит так:
= 20 — 16 +1
- 20 — общее количество символов с пробелами
- 16 — символы без пробелов
Когда вы вычтете одно из другого, вы получите количество пробелов, и вам останется добавить один. В результате возвращается число 5, что является общим количеством слов в ячейке.
Когда вы используете приведенную выше формулу, она вернет 1, даже если ячейка пуста, поэтому лучше обернуть ее функцией ЕСЛИ (IF), чтобы избежать этой проблемы.
= ЕСЛИ(ЕПУСТО (A1);0; ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1; » «; «»)) + 1)
Эта формула сначала проверяет ячейку и возвращает количество слов, только если в ячейке есть значение.
Пользовательская функция
Помимо приведенных выше формул, я напишу вам небольшой код для создания Пользовательской функции. Этот код поможет вам создать пользовательскую функцию, которая будет просто возвращать количество слов. Короче говоря, вам не нужно будет сочетать какие-либо функции.
Function MyWordCount(rng As Range) As Integer MyWordCount = UBound(Split(rng.Value, " "), 1) + 1 End Function
Давайте я расскажу вам, как ее использовать.
- Прежде всего, введите этот код в редакторе VBA.
- Затем вернитесь на свой рабочий лист и введите «= MyWordCount(» и сошлитесь на ячейку, в которой у вас есть значение.
И она вернет количество слов.
2. Подсчет слов в диапазоне ячеек
Теперь давайте перейдем на следующий уровень. Здесь вам нужно будет посчитать слова уже в диапазоне ячеек вместо одной ячейки.
Хорошая новость! Можно использовать ту же формулу (добавив небольшое изменение), которую мы использовали выше.
Вот эта формула:
= СУММПРОИЗВ(ДЛСТР(A1:A11)-ДЛСТР(ПОДСТАВИТЬ(A1:A11; » «;»»))+1)
В приведенной выше формуле A1: A11 — это диапазон ячеек, при вводе формулы в результате получим 55.
Как это работает?
Эта формула работает так же, как и первый метод, но только чуть сложнее. Разница лишь в том, что мы завернули ее в СУММПРОИЗВ (SUMPRODUCT) и ссылаемся на весь диапазон вместо одной ячейки.
Вы помните, что СУММПРОИЗВ (SUMPRODUCT) может работать с массивами? Поэтому, когда вы используете эту функцию, она возвращает массив, в котором у вас есть количество слов для каждой ячейки. Далее она суммирует эти цифры и сообщает вам количество слов в столбце.
3. Подсчет количества слов во всей таблицы с кодом VBA
Этот код является одним из списка полезных макросов, который я использую в своей работе, и он может помочь вам подсчитать все слова на листе.
Sub Word_Count_Worksheet() Dim WordCnt As Long Dim rng As Range Dim S As String Dim N As Long For Each rng In ActiveSheet.UsedRange.Cells S = Application.WorksheetFunction.Trim(rng.Text) N = 0 If S <> vbNullString Then N = Len(S) - Len(Replace(S, " ", "")) + 1 End If WordCnt = WordCnt + N Next rng MsgBox "Всего " & Format(WordCnt, "#,##0") & " слов на активном листе" End Sub
Когда вы запустите его, он покажет окно сообщения с количеством слов, которые у вас есть в активном листе.
4. Подсчет определенного слова/текстовой строки в диапазоне
Здесь у нас другая ситуация. Допустим, нам нужно посчитать определенное слово в диапазоне ячеек или проверить, сколько раз значение появляется в столбце.
Разберем на примере.
Ниже у нас есть диапазон из четырех ячеек, и из этого диапазона нам нужно посчитать количество появлений слова «понедельник».
Вот формула для этого:
= СУММПРОИЗВ ((ДЛСТР (A1:A4) — ДЛСТР (ПОДСТАВИТЬ (A1:A4; «понедельник»; «»)) / ДЛСТР(«понедельник»))
И когда вы введете ее, она возвратит количество понедельников. Ответ — 4.
Формула возвращает количество слов (частоту слова) в диапазоне, а не количество ячеек, в которых есть это слово.
Понедельник встречается четыре раза в трех ячейках.
Как это работает?
Чтобы понять эту функцию, вам снова нужно разделить ее на четыре части.
В первой части функция ДЛСТР (LEN) возвращает массив количества символов в ячейках.
Вторая часть возвращает массив подсчета символов в ячейках, удалив слово «понедельник».
В третьей части функция ДЛСТР (LEN) возвращает длину символов слова «понедельник».
После этого вычитаем первую часть из второй, а затем делим ее на третью часть. Возвращен массив с количеством слов «понедельник» в каждой ячейке.
В четвертой части СУММПРОИЗВ (SUMPRODUCT) возвращает сумму этого массива и дает количество понедельников в диапазоне.
Заключение
Всякий раз, когда вы печатаете какой-то текст в ячейке или диапазоне ячеек, вы можете использовать эти методы для контроля количества слов.
Я мечтаю, что когда-нибудь в будущем в Excel появится эта опция. Ну а пока будем пользоваться этими замечательными методами.
Я надеюсь, что статья была полезной для вас. Какой метод вам понравился больше всех?
Не забудьте поделиться своими мнениями со мной в разделе комментариев, для меня это важно. И, пожалуйста, не забудьте поделиться со своими друзьями, я уверен, что они это оценят.
Skip to content
В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в ячейке или диапазоне с учетом и без учета регистра букв.
В Microsoft Excel есть несколько полезных функций, которые могут подсчитывать почти все: функция СЧЁТ для подсчета ячеек с числами, СЧЁТЗ для подсчета непустых ячеек, СЧЁТЕСЛИ и СЧЁТЕСЛИМН для условного подсчета ячеек и ДЛСТР для вычисления длины текстовой строки. Мы рассмотрим различные способы подсчета слов:
- Как посчитать общее количество слов в ячейке
- Как посчитать конкретные слова в ячейке
- Подсчёт с учётом регистра
- Подсчёт определённых слов без учёта регистра
- Как сосчитать общее количество слов в диапазоне
- Как подсчитать конкретные слова в диапазоне
- Как сосчитать слова без использования формул
К сожалению, в Excel нет встроенного инструмента для подсчета количества слов. Но, комбинируя функции, вы можете создавать более сложные выражения для решения практически любой задачи. И мы будем использовать этот подход для подсчета слов в Excel.
Как посчитать общее количество слов в ячейке
Для подсчета слов в ячейке используйте следующую комбинацию функций ДЛСТР, ПОДСТАВИТЬ и СЖПРОБЕЛЫ:
=ДЛСТР(СЖПРОБЕЛЫ( ячейка ))-ДЛСТР(ПОДСТАВИТЬ( ячейка ;» «;»»))+1
Сюда вы подставляете адрес ячейки, в которой вы хотите посчитать слова.
Например, чтобы пересчитать слова в ячейке A2, используйте такое выражение:
=ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»))+1
Затем вы можете скопировать его вниз по столбцу, чтобы найти количество слов в других ячейках столбца A:
Как работает эта формула подсчета слов?
Во-первых, вы используете функцию ПОДСТАВИТЬ, удаляя этим все пробелы в тексте и заменив их пустой строкой («»), чтобы функция ДЛСТР возвратила количество символов без пробелов:
ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»))
После этого вы вычитаете длину строки без пробелов из общей длины строки и добавляете 1 к окончательному количеству слов, поскольку количество слов всегда равно количеству пробелов плюс 1.
Кроме того, вы используете функцию СЖПРОБЕЛЫ, чтобы удалить лишние пробелы в тексте, если они есть. Иногда рабочий лист может содержать много невидимых на первый взгляд пробелов, например, два или более между словами или случайно набранные в начале или в конце текста (то есть начальные и конечные пробелы). И все они могут испортить результаты вашего подсчета слов. Поэтому удаляем все лишние пробелы, кроме обычных между словами.
Приведенную выше формулу для подсчета слов в Excel можно было бы назвать идеальной, если бы не один недостаток: она возвращает число 1 для пустых ячеек. Чтобы исправить это, вы можете добавить оператор ЕСЛИ для проверки незаполненных ячеек:
=ЕСЛИ(A2=»»; 0; ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»))+1)
Как видно на скриншоте выше, расчёт возвращает ноль для пустых ячеек и правильное количество слов для непустых.
Как посчитать конкретные слова в ячейке
Чтобы подсчитать, сколько раз появляется определенное слово, текст или подстрока, используйте следующий шаблон:
=(ДЛСТР( ячейка )-ДЛСТР(ПОДСТАВИТЬ( ячейка ; слово ;»»)))/ДЛСТР( слово )
Например, давайте посчитаем количество появлений слова «напрасно» в A2:
=(ДЛСТР($A2)-ДЛСТР(ПОДСТАВИТЬ($A2;B$1;»»)))/ДЛСТР(B$1)
Совет. Если вы планируете копировать формулу в несколько ячеек, обязательно используйте абсолютные и относительные ссылки, как это сделано в примере выше.
Рассмотрим пошагово, как подсчитывается количество вхождений определенного текста в ячейку
- Функция ПОДСТАВИТЬ удаляет указанное слово из исходного текста.
В этом примере мы удаляем слово, введенное в B1, из исходного текста, расположенного в A2:
ПОДСТАВИТЬ($A2;B$1;»») - Затем функция ДЛСТР вычисляет длину текстовой строки без указанного слова.
В этом примере ДЛСТР(ПОДСТАВИТЬ($A2;B$1;»»)) возвращает длину текста в ячейке A2 после удаления всех символов, содержащихся во всех вхождениях слова «напрасно». - После этого полученное в п.2 число вычитается из общей длины исходного текста:
ДЛСТР($A2)-ДЛСТР(ПОДСТАВИТЬ($A2;B$1;»»)) - Результатом этой операции является количество символов, содержащихся во всех вхождениях целевого слова, которое в этом примере равно 16 (2 вхождения слова «напрасно», по 8 символов в каждом).
- Наконец, посчитанное выше число делится на длину слова. Другими словами, вы делите количество символов, содержащихся во всех вхождениях целевого слова, на количество символов, содержащихся в одном вхождении этого слова. В этом примере 16 делится на 8, и в результате мы получаем 2.
Помимо подсчета количества определенных слов в ячейке, вы можете использовать эту формулу для подсчета вхождений любого текста (подстроки). Например, вы можете подсчитать, сколько раз появляется текст «Вынес»:
Как видите, часть слова здесь тоже была учтена при подсчёте.
Формула с учетом регистра для подсчета определенных слов в ячейке
Как вы, наверное, знаете, в функции Excel ПОДСТАВИТЬ учитывается регистр букв. Поэтому используемая нами формула подсчета слов по умолчанию чувствительна к регистру:
Вы можете в этом убедиться на скриншоте выше.
Формула без учета регистра для подсчета определенных слов в ячейке
Если вам нужно подсчитать вхождения данного слова как в верхнем, так и в нижнем регистре, используйте функцию СТРОЧН или ПРОПИСН внутри ПОДСТАВИТЬ, чтобы преобразовать исходный текст и тот текст, который вы хотите подсчитать, в один и тот же регистр.
=(ДЛСТР( ячейка )-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН( ячейка );СТРОЧН( текст );»»)))/ДЛСТР( текст )
или
=(ДЛСТР( ячейка )-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН( ячейка );ПРОПИСН( текст );»»)))/ДЛСТР( текст )
Например, чтобы подсчитать количество вхождений слова из B2 в ячейке A3 без учета регистра, используйте:
=(ДЛСТР($A3)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН($A3);СТРОЧН(B$2);»»)))/ДЛСТР(B$2)
Как показано на скриншоте ниже, выражение возвращает одно и то же количество слов независимо от того, как набрано слово:
Как сосчитать общее количество слов в диапазоне
Чтобы узнать, сколько слов содержит строка, столбец или диапазон, возьмите формулу, которая подсчитывает общее количество слов в ячейке, и вставьте ее в функцию СУММПРОИЗВ или СУММ:
=СУММПРОИЗВ(ДЛСТР(СЖПРОБЕЛЫ( диапазон ))-ДЛСТР(ПОДСТАВИТЬ( диапазон ;» «;»»))+1)
или
=СУММ(ДЛСТР(СЖПРОБЕЛЫ( диапазон ))-ДЛСТР(ПОДСТАВИТЬ( диапазон ;» «;»»))+1)
СУММПРОИЗВ — одна из немногих функций Excel, которые умеют обрабатывать массивы. Поэтому вы завершаете ввод обычным способом, нажимая клавишу Enter.
Чтобы функция СУММ могла вычислять массивы, ее следует использовать в формуле массива, которая завершается нажатием Ctrl + Shift + Enter вместо обычного ввода Enter.
Например, чтобы подсчитать все слова в столбце A2:A5, используйте один из следующих вариантов:
=СУММПРОИЗВ(ДЛСТР(СЖПРОБЕЛЫ(A2: A5))-ДЛСТР(ПОДСТАВИТЬ(A2: A5;» «;»»))+1)
или
{=СУММ(ДЛСТР(СЖПРОБЕЛЫ(A2: A5))-ДЛСТР(ПОДСТАВИТЬ(A2: A5;» «;»»))+1)}
Как подсчитать конкретные слова в диапазоне
Если вы хотите подсчитать, сколько раз конкретное слово или текст появляется в строке, столбце или же в определённом диапазоне ячеек, используйте аналогичный подход — возьмите формулу для подсчета определенных слов в ячейке и объедините ее с функцией СУММ или СУММПРОИЗВ:
=СУММПРОИЗВ((ДЛСТР( диапазон )-ДЛСТР(ПОДСТАВИТЬ( диапазон ; слово ;»»)))/ДЛСТР( слово))
или
=СУММ((ДЛСТР( диапазон )-ДЛСТР(ПОДСТАВИТЬ( диапазон ; слово ;»»)))/ДЛСТР( слово))
Пожалуйста, не забудьте нажать Ctrl + Shift + Enter
, чтобы правильно использовать функцию СУММ как формулу массива.
Например, чтобы подсчитать все вхождения слова, находящегося в C1, в столбце A2:A5, используйте это выражение:
=СУММПРОИЗВ((ДЛСТР(A2:A5)-ДЛСТР(ПОДСТАВИТЬ(A2:A5; C1;»»)))/ДЛСТР(C1))
Если не нужно учитывать регистр букв, добавьте функцию СТРОЧН, как делали ранее при подсчёте в отдельной ячейке:
=СУММПРОИЗВ((ДЛСТР(A2:A5)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A2:A5); СТРОЧН(C1);»»)))/ДЛСТР(C1))
Как сосчитать слова без использования формул.
Если нужно быстро пересчитать слова в ячейке или в диапазоне, то можно сделать это и без формул. Для этого служит инструмент «Count Words», который входит в надстройку Ultimate Suite for Excel.
Об этом замечательном инструменте я уже много рассказывал, и вот здесь он тоже может пригодиться.
Подробный обзор возможностей инструмента подсчёта слов и отдельных символов в ячейках вы можете посмотреть здесь на нашем сайте.
А сейчас на скриншоте ниже вы видите результаты его применения. Нужно выделить диапазон ячеек (или только одну из них), активировать опцию Count Words, выбрать – как вы хотите получить итоговый результат: в виде числа или формулой. После этого нажимаем кнопку Insert Results. Справа от выделенной области будет вставлен столбец с результатами.
На скриншоте выше вы видите, что результаты подсчета слов при помощи рассмотренных в этой статье формул и с использованием инструмента «Count Words» — одинаковы. Только времени во втором случае у нас уйдёт гораздо меньше.
Вот как можно сосчитать слова в Excel.
Если ни одно из решений, обсуждаемых в этом руководстве, для вас не подошло, пишите в комментариях. Постараюсь помочь.
Быть может, вас также заинтересует:
- Формула для подсчета количества слов в ячейке Excel
- Как посчитать определенные слова в ячейке
- Как посчитать определенные слова в столбце/диапазоне
- Подсчет всех уникальных слов в столбце с выводом количества повторений
Как всем известно, MS Excel не умеет оперировать такой сущностью, как слова, в его мире есть только ячейки и символы в них, среди которых пробелы не являются значимым разделителем. Поэтому подсчёт слов как штатная операция в Excel, в отличие от Word, отсутствует. Но при желании можно решить задачу различными способами. Рассмотрим их!
Этот лайфхак стар как мир – если:
- удалить пунктуацию, чтобы не учитывать стоящие отдельно от слов знаки препинания, такие, как тире и дефисы;
- а также удалить лишние пробелы
- не учитывать случай, когда ячейка совсем пустая
то слов в ячейке всегда на единицу больше, чем количество пробелов в ней.
Простейшая формула, которая решит задачу, подробно описана в статье про функцию ДЛСТР, а я лишь приведу её оттуда:
=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";"")) + 1
Эта формула не учитывает случаи, когда ячейка совсем пуста или содержит только пробелы. Чтобы учесть этот вариант, есть как минимум два варианта.
Первый вариант – проверить длину ячейки после удаления лишних пробелов и вернуть 0 слов, если 0 символов, а если нет, применять формулу выше
=ЕСЛИ(ДЛСТР(СЖПРОБЕЛЫ(A1))=0;0;ДЛСТР(СЖПРОБЕЛЫ(A1))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";""))+1)
Второй вариант мне нравится больше. Можно добавить к ячейке любое слово заранее и из результата подсчета слов вычесть единицу. А поскольку она изначально прибавлялась к количеству пробелов, то из изначальной формулы можно удалить “+ 1”
Формула максимально лаконична, если использовать в качестве этого мнимого слова короткий символ, например, точку:
=ДЛСТР(СЖПРОБЕЛЫ(A1&" ."))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1&" .");" ";""))
Как посчитать определенные слова в ячейке
Если заранее известно, какое слово вы хотите проверить на количество вхождений в строку, решить задачу не так уж сложно. Здесь также поможет связка функций ДЛСТР и ПОДСТАВИТЬ. И поскольку функция ПОДСТАВИТЬ регистрозависимая, для приведения символов в один регистр нужна будет еще функция СТРОЧН или ПРОПИСН (какая вам больше нравится).
Нужно:
- измерить длину исходной строки
- функцией ПОДСТАВИТЬ удалить из нее искомое слово, оба значения преобразовав в нижний или верхний регистр перед заменой на пустоту
- измерить длину результата
- вычесть из первого значения второе
- остаток поделить на длину слова
А вот формула:
=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);СТРОЧН(B1);"")))/ДЛСТР(B1)
Но, если вы хотите посчитать слова целиком, а не по вхождению, есть пара важных моментов:
- потребуется небольшое шаманство с добавлением лишних пробелов. Нужно добавить их в конце и начале ячейки, а также вместо одного пробела между словами сделать минимум два (иначе, если одинаковые слова идут подряд, при замене с пробелами удалится лишь одно из двух).
- предварительно нужно будет удалить знаки препинания (иначе они будут мешаться при подстановке)
- исходный текст и искомое лучше заранее перевести в нижний или верхний регистр, чтобы не делать формулу еще сложнее
Если произвести все эти процедуры прямо в формуле (кроме регистра), она будет выглядеть так:
=(ДЛСТР(" "&ПОДСТАВИТЬ(A1;" ";" ")&" ")-ДЛСТР(ПОДСТАВИТЬ(" "&ПОДСТАВИТЬ(A1;" ";" ")&" ";" "&B1&" ";"")))/ДЛСТР(" "&B1&" ")
Здесь в ячейке A1 – текст, в котором ищем слово, а в ячейке B1 – само это слово. А так это выглядит на практике:
Как посчитать определенные слова в столбце/диапазоне
Этот вопрос не самый однозначный, т.к. ищущий не всегда сам до конца осознаёт, что ищет. Объясню подробнее
Если вы хотите узнать, в каком количестве ячеек столбца или диапазона присутствует искомое слово, формула одна, а если допускается, что в ячейках одно и то же слово может присутствовать не единожды, формула уже другая.
Для первой достаточно будет функции СЧЁТЕСЛИ, для второго варианта потребуется формула массива, аналогичная по своей механике той, что описана выше (подсчёт слов в одной ячейке).
И опять же, если слово длинное и не может входить в другие слова, формулы будут проще, т.к. не придется использовать дополнительные пробелы, а если может входить в них – формулы нужно усложнять.
Подсчет всех уникальных слов в столбце с выводом количества повторений
В Excel отсутствует всякая возможность провернуть подобное ни штатными функциями, ни процедурами. Однако, поскольку у меня и моих коллег-маркетологов часто возникает такая потребность, я разработал и добавил такую процедуру в свою надстройку для Excel !SEMTools.
Важная особенность в том, что она умеет не только считать слова, но любые n-граммы (двусловники, трехсловники и т.д.), и помимо подсчета слов, может строить сводные таблицы сопоставленных с текстом метрик. Подробно можно почитать в статье и посмотреть на видео ниже.