Искате ли да получите броя на думите в Excel? Вярвате или не, Excel няма вграден брояч на думи.
Но не се притеснявайте.
Готин куп функции на Excel (или малко VBA, ако се чувствате фантастично) може лесно да направи това за вас.
В този урок ще покажа няколко начина за броене на думи в Excel, използвайки прости формули. И накрая, ще обхване и техника за създаване на персонализирана формула, използваща VBA, която бързо ще ви даде броя на думите на всеки текст във всяка клетка.
Формула за получаване на брой думи в Excel
Преди да ви дам точната формула, нека бързо разгледаме логиката, за да получим броя на думите.
Да предположим, че имам изречение, както е показано по -долу, за което искам да получа броя на думите.
Докато Excel не може да брои броя на думите, той може да брои броя на интервалите в изречение.
Така че, за да получим броя на думите, можем да преброим тези интервали вместо думи и да добавим 1 към общата сума (тъй като броят на интервалите би бил с един по -малък от броя на думите).
Сега може да има две възможности:
- Между всяка дума има едно пространство
- Между думите има множество интервали.
Нека да видим как да преброим общия брой думи във всеки случай.
Пример 1 - Когато между думите има едно пространство
Да кажем, че имам следния текст в клетка А1: Пуснете котката от чувала
За да преброя броя на думите, ето формулата, която бих използвал:
= LEN (A1) -LEN (SUBSTITUTE (A1, "", ""))+1
В резултат на това ще се върне „7“.
Ето как работи тази формула:
- Обектив (A1) - Тази част от формулата връща 26, което е общият брой знаци в текста в клетка A1. Той включва текстовите знаци, както и знаците за интервал.
- ЗАМЕСТ (A1, ”“, ””) - Тази част от формулата премахва всички интервали от текста. Така че резултатът в този случай ще бъде Изплюй камъчето.
- Обектив (ЗАМЕСТНИК (A1, ”“,“”) - Тази част от формулата отчита общия брой знаци в текста, които нямат интервали. Така че резултатът от това ще бъде 20.
- LEN (A1) -LEN (ЗАМЕСТНИК (A1, ”“,“”)) - Това би извадило дължината на текста без интервали от дължината на текста с интервали. В горния пример ще бъде 26-20, което е 6.
- = LEN (A1) -LEN (ЗАМЕСТНИК (A1, ”“,“”))+1 - Добавяме 1 към общия резултат, тъй като общият брой интервали е с една по -малък от общия брой думи. Например има едно интервал в две думи и две интервали в три думи.
Сега това работи добре, ако имате само един интервал между думите. Но няма да работи, ако имате повече от едно интервал между думите.
В този случай използвайте формулата в следващия пример.
Пример 2: Когато между думите има множество интервали
Да предположим, че имате следния текст: Пуснете котката от чувала
В този случай между думите има множество интервали.
За да получим броя на думите, първо трябва да премахнем всички допълнителни интервали (така че да има само един знак за интервал между две думи) и след това да преброим общия брой интервали.
Ето формулата, която ще ни даде правилния брой думи:
= LEN (TRIM (A1))-LEN (SUBSTITUTE (A1, "", ""))+1
Това е подобна формула, използвана в горния пример, с лека промяна - ние също използвахме функцията TRIM тук.
Функцията Excel TRIM премахва всички водещи, последни и допълнителни интервали (с изключение на единични интервали между думите).
Останалата част от формулата работи по същия начин (както е обяснено в пример 1).
Забележка: Ако няма интервали между думите, това се счита за една дума.
Използване на персонализирана функция VBA за преброяване на думи в Excel
Докато горните формули работят чудесно, ако имате нужда често да изчислявате броя на думите, можете да използвате VBA, за да създадете персонализирана функция (наричана също потребителска функция).
Ползата от използването на персонализирана функция е, че можете да я създадете веднъж и след това да я използвате като всяка друга обикновена функция на Excel. Така че вместо да създавате дълга сложна формула, както направихме в двата примера по -горе, имате проста формула, която взема препратката към клетката и незабавно ви дава броя на думите.
Ето кода, който ще създаде тази персонализирана функция, за да получи броя на думите в Excel.
Функция WordCount (CellRef като диапазон) Dim TextStrng As String Dim Result () As String Result = Split (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 End Function
След като бъде създаден, можете да използвате функцията WordCount, както всяка друга обикновена функция на Excel.
В горния код за персонализираната функция използвах функцията TRIM на работния лист, за да премахна всички начални, последни и двойни интервали между думите. Това гарантира, че и трите клетки дават един и същ резултат, тъй като се броят само думите, а не двойните интервали.
Как работи тази формула:
Горният код VBA първо използва функцията TRIM, за да премахне всички водещи, последни и двойни интервали от текстовия низ в референтната клетка.
След като има изчистен низ, той използва функцията SPLIT във VBA, за да раздели текстовия низ въз основа на разделителя, който сме посочили като знак за интервал. Така че всяка дума е разделена като съхранена като отделен елемент в променливата Result.
След това използваме функцията UBOUND, за да преброим общия брой елементи, съхранени в променливите Резултат. Тъй като VBA има база от 0, трябва да добавим 1, за да получим общия брой думи.
Това означава, че Result (0) съхранява първата дума, Result (1) съхранява втората дума и т.н. Тъй като това броене започва от 0, трябва да добавим 1, за да получим реалния брой думи.
Къде да поставите този код?
Когато създавате персонализирана функция, трябва да поставите кода във VB Editor на работната книга (който е задната част на работната книга, където можете да пишете код за автоматизиране на задачи и създаване на персонализирани функции).
По -долу са стъпките за поставяне на кода за функцията „GetNumeric“ в работната книга.
- Отидете в раздела Разработчик.
- Щракнете върху опцията Visual Basic. Това ще отвори VB редактора в задната част.
- В прозореца Project Explorer в редактора на VB щракнете с десния бутон върху всеки обект за работната книга, в който искате да вмъкнете кода. Ако не виждате Project Explorer, отидете в раздела View и щракнете върху Project Explorer.
- Отидете на Вмъкване и щракнете върху Модул. Това ще вмъкне обект на модул за вашата работна книга.
- Копирайте и поставете кода в прозореца на модула.
След като сте копирали кода в кодовия прозорец, можете да се върнете към работния си лист и да използвате тази функция, както всяка друга обикновена функция на Excel.
Просто напишете = Дума и ще ви покаже формулата в списъка.
Необходим е един аргумент, който е препратка към клетката и незабавно ви дава броя на думите в нея.