Подсчет слов (ячейка, диапазон, рабочий лист и конкретное)

1. Подсчет слов из одной ячейки

Как это работает

2. Использование пользовательской функции

3. Подсчет слов из диапазона ячеек

Как это работает Работает

4. Подсчет слов на всем листе

5. Подсчет определенного слова/текстовой строки из диапазона

Как это работает

Загрузить образец файла

Заключение

Дополнительные формулы

Есть один вариант, который я всегда хотел бы, чтобы Excel имел, и это подсчитывает количество слов из ячейки. Если вы работаете в MS Word, в строке состояния есть встроенная опция, которая показывает, сколько слов на листе.

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

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

Чтобы считать слова из ячейки, вам нужно объединить функцию ДЛСТР с функцией ПОДСТАВИТЬ. И формула будет (текст находится в ячейке A1):

 =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1," ",""))+1 

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

Как это работает

Прежде чем перейти к этой формуле, подумайте вот о чем. В обычном предложении, если у вас есть восемь слов, в этих словах обязательно будет 7 пробелов. Верно?

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

В первой части вы использовали функцию ДЛСТР для подсчета количества символов в ячейке A1. А во второй и третьей частях вы объединили ПОДСТАВИТЬ с ДЛСТР, чтобы удалить пробелы из ячейки, а затем подсчитать символы. На данный момент у вас есть такое уравнение.

Общее количество символов с пробелами и общее количество символов без пробелов. И когда вы вычитаете оба числа, вы получаете количество пробелов, и в конце вы должны добавить к нему единицу. Он возвращает 7 в результате, что является общим количеством слов в ячейке.

Важно : Когда вы используете приведенную выше формулу, она вернет 1, даже если ячейка пуста, поэтому лучше обернуть ее функцией ЕСЛИ, чтобы избежать этой проблемы.

 =ЕСЛИ(ЕСПУСТО(A2),0,ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2," ",""))+1) 

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

2. Использование UDF

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

 Функция MyWordCount(rng As Range) Как целое число
MyWordCount = UBound(Split(rng.Value, " "), 1) + 1
Завершить функцию 

Позвольте мне рассказать вам, как его использовать.

  1. Прежде всего, введите этот код в редакторе VBA.
  2. Затем вернитесь на свой рабочий лист и введите «= MyWordCount (» и обратитесь к ячейке, в которой у вас есть значение.

И он вернет количество слов.

Связано: Панель формул в Excel

3. Подсчет слов из диапазона ячеек

Теперь давайте перейдем к следующему уровню Здесь вам нужно подсчитывать слова из диапазона ячеек, а не из одной ячейки хорошие новости — это , вам просто нужно использовать ту же формулу (только простое изменение), которую вы использовали выше. И формула будет:

 =СУММПРОИЗВ(ДЛСН(A1:A11)-ДЛСТР(ПОДСТАВИТЬ(A1:A11," ",""))+1) 

В приведенной выше формуле A1:A11 является диапазон ячеек, и когда вы вводите формулу, она возвращает 77 в результате.

Как это работает

Эта формула работает так же, как и первый метод, но представляет собой небольшое усовершенствование. Единственная разница в том, что вы обернули его в СУММПРОИЗВ и ссылаетесь на весь диапазон, а не на одну ячейку.

Знаете ли вы, что СУММПРОИЗВ может принимать массивы? Итак, когда вы его используете, он возвращает массив, в котором у вас есть количество слов для каждой ячейки. И, в конце концов, он суммирует эти подсчеты и сообщает вам количество слов в столбце.

4. Подсчет слов на всем листе

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

 Sub Word_Count_Worksheet()
Dim WordCnt As Long
Dim rng As Range
Dim S как строка
Dim N As Long
Для каждого кольца в ActiveSheet.UsedRange.Cells
S = Application.WorksheetFunction.Trim(rng.Text)
Н = 0
Если S <> vbNullString Тогда
N = Лен(S) – Лен(Заменить(S, " ", "")) + 1
Конец, если
WordCnt = WordCnt + N
Следующий круг
MsgBox "Всего" & Format(WordCnt, "#,##0") & "слов на активном листе"
Конец суб 

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

Связано: Что такое VBA в Excel

5. Подсчет определенного слова/текстовой строки из диапазона

Здесь у вас другая ситуация. Допустим, вам нужно подсчитать конкретное слово из диапазона ячеек или проверить, сколько раз значение появляется в столбце.

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

Для этого формула:

 =СУММПРОИЗВ((ДЛСТР(D6:D9)-ДЛСТР(ПОДСТАВИТЬ(D6:D9;"Понедельник","")))/ДЛСТР("Понедельник")) 

И когда вы вводите его, он возвращается к счету слова «понедельник». Это 4.

Важно: Возвращает количество слов (частоту слов) из диапазона, а не количество ячеек, в которых есть это слово. Понедельник бывает четыре раза в трех камерах.

Как это работает

Чтобы понять эту функцию, вам снова нужно разделить ее на четыре части. В первой части функция ДЛСТР возвращает массив количества символов из ячеек.

Вторая часть возвращает массив количества символов из ячеек путем удаления слова «Понедельник».

В третьей части функция ДЛСТР возвращает длину символов слова «Понедельник».

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

В четвертой части СУММПРОИЗВ возвращает сумму этого массива и дает количество «понедельников» из диапазона.

Загрузить образец файла

  • Готово

Заключение

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

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

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

При работе над задачей Data Science иногда приходится иметь дело с текстовыми данными. Одной из проблем, с которой сталкиваются новички при работе с текстовым набором данных, является подсчет количества слов в фрагменте текста. Итак, если вы хотите научиться подсчитывать количество слов в текстовом наборе данных, эта статья для вас. В этой статье я познакомлю вас с учебным пособием о том, как подсчитать количество слов в столбце с помощью Python.

Большинство профессионалов в области обработки данных используют библиотеку pandas для обработки и подготовки данных. В библиотеке pandas нет метода подсчета количества слов в фрагменте текста. Один из способов решить эту проблему — найти длину текста путем разбиения всего текста.

Итак, давайте импортируем текстовый набор данных , где мы можем подсчитать количество слов в столбце:

 import pandas as pd
data = pd. read_csv("https://raw.githubusercontent.com/amankharwal/Website-data/master/articles.csv", encoding = 'latin1')
печать(данные.head()) 
  Артикул \
0 Анализ данных — это процесс проверки и...
1 Производительность алгоритма машинного обучения...
2 Вы, должно быть, видели новости, разделенные на категории...
3 Когда в классе всего два занятия...
4 Полиномиальный наивный байесовский метод — один из вариантов...
                                               Заголовок
0 лучших книг для изучения анализа данных
1 Предположения алгоритмов машинного обучения
2. Классификация новостей с помощью машинного обучения
3 алгоритма многоклассовой классификации в машин...
4 Полиномиальный наивный байесовский подход в машинном обучении  

Набор данных состоит из двух столбцов «Статья» и «Заголовок». Давайте создадим новый столбец как количество слов в столбце статьи:

 data["Количество слов"] = данные["Статья"]. apply(lambda n: len(n.split()))
print(data.head()) 
  Статья \
0 Анализ данных — это процесс проверки и...
1 Производительность алгоритма машинного обучения...
2 Вы, должно быть, видели новости, разделенные на категории...
3 Когда в классе всего два занятия...
4 Полиномиальный наивный байесовский метод — один из вариантов...
                                               Название Количество слов
0 лучших книг для изучения анализа данных 76
1 Предположения об алгоритмах машинного обучения 56
2. Классификация новостей с помощью машинного обучения 70
3 Алгоритмы многоклассовой классификации в машинном... 66
4 Полиномиальный наивный байесовский подход в машинном обучении 96 

Итак, набор данных теперь имеет три столбца: Статья, Заголовок и Количество слов, которые содержат количество слов в столбце статьи.

Сводка

В библиотеке pandas нет метода для подсчета количества слов в фрагменте текста. Один из способов решить эту проблему — найти длину текста путем разбиения всего текста.