Подсчет определенного слова в excel

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

Гость

Дата: Пятница, 08.06.2012, 13:56 |
Сообщение № 1

Здравствуйте, обращаюсь к вам с такой проблемой. Есть таблица, в колонку выстроены 2 слова: согласие, отказ. Нужна такая формула, которая будет автоматически подсчитывать, сколько в колонке согласий, и сколько отказов, цифрой. Как это можно сделать?

 

Ответить

_Boroda_

Дата: Пятница, 08.06.2012, 14:00 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

=СЧЁТЕСЛИ(A1:A16;»согласие»)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Гость

Дата: Пятница, 08.06.2012, 14:09 |
Сообщение № 3

спасибо!

 

Ответить

Гость

Дата: Вторник, 26.06.2012, 14:42 |
Сообщение № 4

Гость, а если надо посчитать и согласие и отказ одновременно?

 

Ответить

Serge_007

Дата: Вторник, 26.06.2012, 14:48 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Гость, а сплюсовать две формулы?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Гость

Дата: Вторник, 26.06.2012, 14:54 |
Сообщение № 6

Serge_007, а можно, не плюсуя, чтобы было, например: =СЧЁТЕСЛИ(A1:A16;»согласие»,»отказ»), такая формула выдает ошибку(

 

Ответить

_Boroda_

Дата: Вторник, 26.06.2012, 15:05 |
Сообщение № 7

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Quote (Гость)

Serge_007, а можно, не плюсуя,

Можно

Code

=СУММПРОИЗВ((A2:A16=»согласие»)+(A2:A16=»отказ»))

Но все-таки было бы очень неплохо, если бы Вы прикладывали СВОЙ файл
Как? Написано в правилах форума.


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Serge_007

Дата: Вторник, 26.06.2012, 15:06 |
Сообщение № 8

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

=СУММПРОИЗВ((A1:A16=»согласие»)+(A1:A16=»отказ»))

А если нет других слов, кроме «согласие» и «отказ», то пойдёт простая =СЧЁТЗ(A1:A16)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

RAN

Дата: Вторник, 26.06.2012, 15:07 |
Сообщение № 9

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Quote (Гость)

а если надо посчитать и согласие и отказ одновременно?

Ну если одной формулой и в одной ячейке, тады ой! biggrin

=СЧЁТЗ(G1:G10)-СЧЁТЕСЛИ(G1:G10;»согласие») &» ??? «& СЧЁТЕСЛИ(G1:G10;»согласие»)


Быть или не быть, вот в чем загвоздка!

 

Ответить

Гость

Дата: Вторник, 26.06.2012, 16:00 |
Сообщение № 10

Спасибо большое, все получилось…но вытекла еще одна проблема, я считаю количество дробей сейчас таким же образом, но не все дроби считаются…например 1/3, нажимаю на ячейку, в строке пишет 0,3333, кликаю следующую, пишет 1/3 в строке, как сделать чтобы было одинаково? А то по этой причине не все дроби считает(

 

Ответить

anger47

Дата: Вторник, 26.06.2012, 16:05 |
Сообщение № 11

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 192


Репутация:

6

±

Замечаний:
0% ±


а так слабо?

К сообщению приложен файл:

9631818.jpg
(43.5 Kb)

 

Ответить

Гость

Дата: Вторник, 26.06.2012, 16:21 |
Сообщение № 12

Вот делала, не меняется(

 

Ответить

Гость

Дата: Вторник, 26.06.2012, 16:33 |
Сообщение № 13

У меня там персональные данные людей находятся, я бы с радостью приложила, но не имею права(

 

Ответить

anger47

Дата: Вторник, 26.06.2012, 16:35 |
Сообщение № 14

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 192


Репутация:

6

±

Замечаний:
0% ±


Создать копию файла и оставить в нем только то что нам нужно что бы понять что вы хотите…а?

 

Ответить

Serge_007

Дата: Вторник, 26.06.2012, 16:36 |
Сообщение № 15

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Гость)

У меня там персональные данные людей находятся

Повторю вопрос уважаемого _Boroda_,

Quote (_Boroda_)

Вы читать умеете?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

anger47

Дата: Вторник, 26.06.2012, 16:37 |
Сообщение № 16

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 192


Репутация:

6

±

Замечаний:
0% ±


Quote (Serge_007)

Повторю вопрос уважаемого _Boroda_,
Цитата, _Boroda_ писал(а):
Вы читать умеете?

гыыыы

 

Ответить

Swettlanka

Дата: Вторник, 26.06.2012, 16:51 |
Сообщение № 17

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Вот он) Файл

 

Ответить

anger47

Дата: Вторник, 26.06.2012, 17:04 |
Сообщение № 18

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 192


Репутация:

6

±

Замечаний:
0% ±


Swettlanka, а вы могли в вашем файле оставить данные те из которых вы получили 1/3 и 0,333333333???!?!??!?

 

Ответить

MCH

Дата: Вторник, 26.06.2012, 17:06 |
Сообщение № 19

Группа: Админы

Ранг: Старожил

Сообщений: 2002


Репутация:

751

±

Замечаний:
±


Quote (Swettlanka)

Вот он) Файл

У Вас в основном в ячейках текст «1/1», «1/2», «1/3», «1/4»
а в ячейках N47 и N102 — числа (0,5 и 0,333333…), которые выглядят как дробь

Предварительно установите формат ячеек в столбце N — текстовый
и введите в данные ячейки 1/2 и 1/3 соответственно

 

Ответить

Swettlanka

Дата: Вторник, 26.06.2012, 17:12 |
Сообщение № 20

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Ураа!!все получилось! огромное спасибо!

 

Ответить

На чтение 6 мин. Просмотров 17.5k.

Есть одна штука, которую я бы хотел иметь в Excel: подсчет слов в ячейке.

Если вы работаете в MS Word, в строке состояния есть встроенная опция, которая показывает, сколько слов на листе.

строка состояния Word

В Word есть опция для подсчета слов, но не в Excel. Вы можете посчитать количество ячеек, в которых есть текст, но не фактические слова в них.

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

Содержание

  1. Четыре разных способа посчитать слова в Excel
  2. 1. Формула для подсчета слов в ячейке
  3. 2. Подсчет слов в диапазоне ячеек
  4. 3. Подсчет количества слов во всей таблицы с кодом VBA
  5. 4. Подсчет определенного слова/текстовой строки в диапазоне
  6. Заключение

Четыре разных способа посчитать слова в 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)

Эта формула сначала проверяет ячейку и возвращает количество слов, только если в ячейке есть значение.

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

Пользовательская функция

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

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 с помощью функции ДЛСТР в сочетании с другими функциями 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)

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

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

  1. Функция ПОДСТАВИТЬ удаляет указанное слово из исходного текста.
    В этом примере мы удаляем слово, введенное в B1, из исходного текста, расположенного в A2:
    ПОДСТАВИТЬ($A2;B$1;»»)
  2. Затем функция ДЛСТР вычисляет длину текстовой строки без указанного слова.
    В этом примере ДЛСТР(ПОДСТАВИТЬ($A2;B$1;»»)) возвращает длину текста в ячейке A2 после удаления всех символов, содержащихся во всех вхождениях слова «напрасно».
  3. После этого полученное в п.2 число вычитается из общей длины исходного текста:
    ДЛСТР($A2)-ДЛСТР(ПОДСТАВИТЬ($A2;B$1;»»))
  4. Результатом этой операции является количество символов, содержащихся во всех вхождениях целевого слова, которое в этом примере равно 16 (2 вхождения слова «напрасно», по 8 символов в каждом).
  5. Наконец, посчитанное выше число делится на длину слова. Другими словами, вы делите количество символов, содержащихся во всех вхождениях целевого слова, на количество символов, содержащихся в одном вхождении этого слова. В этом примере 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 В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…
Как преобразовать текст в число в Excel — 10 способов. В этом  руководстве показано множество различных способов преобразования текста в число в Excel: опция проверки ошибок в числах, формулы, математические операции, специальная вставка и многое другое. Иногда значения в ваших…


Для подсчета значений, удовлетворяющих определенному критерию, существует простая и эффективная функция

СЧЁТЕСЛИ()

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

подстановочные знаки

*, ? для поиска текстовых значений, делают

СЧЁТЕСЛИ()

достаточно мощным средством поиска.

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

СЧЁТЕСЛИ()

.

Данные будем брать из диапазона

A2:A12

(см.

файл примера

).

Подсчитывать будем значения с различными вариантами вхождения слова «

яблоки

».


Задача


Критерий


Формула


Результат


Примечание

подсчитать значения

точно

соответствующие критерию

яблоки

=

СЧЁТЕСЛИ($A$2:$A$12; «яблоки»)


2

Критерий указан в формуле

подсчитать значения

точно

соответствующие критерию

яблоки (ячейка C6)

=

СЧЁТЕСЛИ($A$2:$A$12; C6)


2

Критерий указан через ссылку

подсчитать значения, заканчивающиеся на слово

яблоки

, например,

C

вежие яблоки

*яблоки (ячейка С3)

=

СЧЁТЕСЛИ($A$2:$A$12; C3)


3

Использован

подстановочный знак

* (перед значением)

подсчитать значения, начинающиеся на слово

яблоки

, например,

яблоки местные

яблоки* (ячейка С4)

=

СЧЁТЕСЛИ($A$2:$A$12; C4)


4

Использован

подстановочный знак

* (после значения)

подсчитать значения, содержащие слово

яблоки

в любом месте

*яблоки* (ячейка С5)

=

СЧЁТЕСЛИ($A$2:$A$12; C5)


7

Использовано 2

подстановочных

знака

*

подсчитать ячейки, начинающиеся с

гру

и содержащие ровно

6

букв

гру??? (ячейка С7)

=

СЧЁТЕСЛИ($A$2:$A$12; C7)


1

Использован

подстановочный знак

?

подсчитать значения с учетом

РЕгиСТра

содержащие

Яблоки

в любом месте

Яблоки (ячейка С8)

=

СУММ(ЕСЛИ (ЕОШИБКА(НАЙТИ( $C$8;$A$2:$A$12));0;1))


2

Использована

формула массива

подсчитать ячейки

точно

содержащие слово

Яблоки

с учетом

РЕгиСТра

Яблоки (ячейка С9)

=

СУММ(ЕСЛИ( СОВПАД($C$9;A2:A12);1;0))


1

Использована

формула массива

Также для подсчета значений с

подстановочными знаками

может быть использована функция

БСЧЕТА()

. Для ее работы требуется табличка с критериями (см.

файл примера

).


Примечание

. О подсчете числовых значений с одним критерием читайте статью

Функция СЧЁТЕСЛИ() в MS Excel — Подсчет значений с единственным критерием

.

О подсчете числовых значений, сохраненных в текстовом формате

Вычисления в MS EXCEL производятся с точностью до 15 знаков (см. статью

Округление и точность до 15 значащих цифр в MS EXCEL

). Если требуется сохранить число с количеством знаков больше 15 (например, номер кредитной карты), то используют тектовый формат ячейки (см. статью

Отображение в MS EXCEL ЧИСЕЛ с точностью более 15 значащих цифр

). При подсчете таких значений с помощью функции

СЧЕТЕСЛИ()

могут возникнуть сложности.

Как видно из рисунка выше формула =

СЧЁТЕСЛИ(A7:A14;C9)

должна была вернуть значение 2, т.к. в столбце А два значения 12345678910110005 (выделено красным, 17 значащих цифр). Однако, формула возвращает 8, т.е. все значения удовлетворяют критерию. Дело в том, что

СЧЕТЕСЛИ()

пытается перед подсчетом преобразовать значения из столбца А в числа. Ей здесь это удается. После преобразования мы получим числа с точностью 15 знаков, а не 17, т.е. все числа из столбца А будут преобразованы в 12345678910110000 и станут равны между собой.

Чтобы этого не происходило используйте формулу

=СЧЁТЕСЛИ(A7:A14;»*»&C9)

— преобразования удастся избежать.

  • Формула для подсчета количества слов в ячейке 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-граммы (двусловники, трехсловники и т.д.), и помимо подсчета слов, может строить сводные таблицы сопоставленных с текстом метрик. Подробно можно почитать в статье и посмотреть на видео ниже.

Like this post? Please share to your friends:
  • Подсчет количества уникальных значений среди повторяющихся в excel
  • Подсчет одного символа в строке excel
  • Подсчет количества уникальных значений по условию в excel
  • Подсчет одинаковых чисел в excel
  • Подсчет количества текстовых ячеек в excel