Želite li dobiti broj riječi u Excelu? Vjerovali ili ne, Excel nema ugrađeni brojač riječi.
Ali ne brinite.
Zgodna hrpa excel funkcija (ili malo VBA -a ako vam se sviđa) to lako mogu učiniti za vas.
U ovom vodiču pokazat ću nekoliko načina brojanja riječi u Excelu pomoću jednostavnih formula. Na kraju će se pokriti i tehnika stvaranja prilagođene formule pomoću VBA -e koja će vam brzo dati broj riječi bilo kojeg teksta u bilo kojoj ćeliji.
Formula za dobivanje broja riječi u Excelu
Prije nego što vam dam točnu formulu, prijeđimo na brzinu logike kako bismo dobili broj riječi.
Pretpostavimo da imam rečenicu kao što je prikazano u nastavku za koju želim dobiti broj riječi.
Iako Excel ne može izbrojati broj riječi, može izbrojati broj razmaka u rečenici.
Dakle, da bismo dobili broj riječi, možemo brojati ove razmake umjesto riječi i zbroju dodati 1 (jer bi broj razmaka bio jedan manji od broja riječi).
Sada mogu postojati dvije mogućnosti:
- Između svake riječi postoji jedan razmak
- Između riječi postoji više razmaka.
Pa da vidimo kako izbrojiti ukupan broj riječi u svakom slučaju.
Primjer 1 - Kada postoji jedan razmak između riječi
Recimo da imam sljedeći tekst u ćeliji A1: Pustite mačku iz vreće
Za prebrojavanje broja riječi evo formule koju bih upotrijebio:
= LEN (A1) -LEN (ZAMJENA (A1, "", ""))+1
Time bi se vratilo "7".
Evo kako ova formula funkcionira:
- LEN (A1) - Ovaj dio formule vraća 26, što je ukupan broj znakova u tekstu u ćeliji A1. Uključuje znakove teksta kao i razmake.
- ZAMJENA (A1, ”“, ””) - Ovaj dio formule uklanja sve razmake iz teksta. Dakle, rezultat bi u ovom slučaju bio Pustitekatuto vrećicu.
- LEN (ZAMJENA (A1, ”“,“”) - Ovaj dio formule broji ukupan broj znakova u tekstu koji nema razmaka. Dakle, rezultat ovoga bio bi 20.
- LEN (A1) -LEN (ZAMJENA (A1, ”“,“”)) - To bi oduzelo duljinu teksta bez razmaka od duljine teksta s razmacima. U gornjem primjeru bilo bi 26-20 što je 6.
- = LEN (A1) -LEN (ZAMJENA (A1, ”“,“”))+1 - Ukupnom rezultatu dodajemo 1 jer je ukupan broj razmaka jedan manji od ukupnog broja riječi. Na primjer, postoji jedan razmak u dvije riječi i dva razmaka u tri riječi.
Ovo dobro funkcionira ako imate samo jedan razmak između riječi. Ali ne bi funkcioniralo ako imate više razmaka između riječi.
U tom slučaju upotrijebite formulu u sljedećem primjeru.
Primjer 2: Kad postoji više razmaka između riječi
Recimo da imate sljedeći tekst: Pustite mačku iz vreće
U ovom slučaju postoji više razmaka između riječi.
Da bismo dobili broj riječi, prvo moramo ukloniti sve dodatne razmake (tako da između dvije riječi postoji samo jedan znak razmaka), a zatim prebrojiti ukupni broj razmaka.
Evo formule koja će nam dati pravi broj riječi:
= LEN (TRIM (A1))-LEN (ZAMJENA (A1, "", ""))+1
Ovo je slična formula korištena u gornjem primjeru, s neznatnom promjenom - ovdje smo također koristili funkciju TRIM.
Excel TRIM funkcija uklanja sve vodeće, završne i dodatne razmake (osim pojedinačnih razmaka između riječi).
Ostatak formule radi isto (kao što je objašnjeno u primjeru 1).
Napomena: Ako nema razmaka između riječi, smatra se jednom riječju.
Korištenje prilagođene funkcije VBA za brojanje riječi u Excelu
Iako gornje formule odlično funkcioniraju, ako imate potrebu često izračunavati broj riječi, možete upotrijebiti VBA za stvaranje prilagođene funkcije (koja se naziva i korisnički definirana funkcija).
Prednost korištenja prilagođene funkcije je u tome što je možete stvoriti jednom, a zatim koristiti kao bilo koju drugu redovitu Excel funkciju. Dakle, umjesto da stvarate dugu složenu formulu kao što smo to učinili u prethodna dva primjera, imate jednostavnu formulu koja uzima referencu ćelije i trenutno vam daje broj riječi.
Evo koda koji će stvoriti ovu prilagođenu funkciju za dobivanje broja riječi u Excelu.
Funkcija WordCount (CellRef kao raspon) Dim TextStrng As String Dim Result () As String Result = Split (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 End Funkcija
Nakon stvaranja možete koristiti funkciju WordCount kao i bilo koju drugu redovitu funkciju Excel.
U gornjem kodu za prilagođenu funkciju upotrijebio sam funkciju TRIM radnog lista za uklanjanje svih početnih, zadnjih i dvostrukih razmaka između riječi. Time se osigurava da sve tri ćelije daju isti rezultat jer se broje samo riječi, a ne dvostruki razmaci.
Kako funkcionira ova formula:
Gornji VBA kôd prvo koristi funkciju TRIM za uklanjanje svih početnih, zadnjih i dvostrukih razmaka iz tekstualnog niza u referenciranoj ćeliji.
Nakon što očisti niz, koristi funkciju SPLIT u VBA -i za podjelu tekstualnog niza na temelju razdjelnika, za koji smo naveli da je znak razmaka. Tako je svaka riječ odvojena pohranjena kao zasebna stavka u varijabli Result.
Zatim koristimo funkciju UBOUND za brojanje ukupnog broja stavki pohranjenih u varijablama Rezultat. Budući da VBA ima bazu 0, moramo dodati 1 da bismo dobili ukupan broj riječi.
To znači da Result (0) sprema prvu riječ, Result (1) drugu riječ itd. Budući da ovo brojanje počinje od 0, moramo dodati 1 da bismo dobili pravi broj riječi.
Gdje staviti ovaj kod?
Prilikom stvaranja prilagođene funkcije kôd morate staviti u VB Editor radne knjige (koji je stražnji kraj radne knjige u koji možete pisati kôd za automatizaciju zadataka i stvaranje prilagođenih funkcija).
U nastavku su navedeni koraci za unos koda za funkciju "GetNumeric" u radnu knjigu.
- Idite na karticu Developer.
- Pritisnite opciju Visual Basic. Ovo će otvoriti VB editor u pozadini.
- U oknu Project Explorer u VB Editoru desnom tipkom miša kliknite bilo koji objekt radne knjige u koji želite umetnuti kôd. Ako ne vidite Project Explorer, idite na karticu View i kliknite na Project Explorer.
- Idite na Umetni i kliknite na Modul. Ovo će umetnuti objekt modula u vašu radnu knjigu.
- Kopirajte i zalijepite kôd u prozor modula.
Nakon što ste kopirali kôd u kodni prozor, možete se vratiti na radni list i koristiti ovu funkciju kao i bilo koju drugu uobičajenu Excel funkciju.
Samo upišite = Riječ i prikazat će vam formulu na popisu.
Potreban je jedan argument, referenca ćelije i trenutno vam daje broj riječi u njemu.