Kuidas saada Excelis sõnade arvu (lihtsate valemite abil)

Kas soovite saada Excelis sõnade arvu? Uskuge või mitte, Excelil pole sisseehitatud sõna loendurit.

Kuid ärge muretsege.

Lahe hunnik Exceli funktsioone (või natuke VBA -d, kui tunnete end väljamõeldud) saab seda teie jaoks hõlpsalt teha.

Selles õpetuses näitan paar võimalust Excelis sõnade lugemiseks lihtsate valemite abil. Ja lõpus hõlmab ka tehnikat kohandatud valemi loomiseks VBA abil, mis annab teile kiiresti mis tahes lahtris oleva teksti sõnade arvu.

Valem Excelis Wordi lugemiseks

Enne kui annan teile täpse valemi, katkem kiiresti sõnade arvu loogika.

Oletame, et mul on lause, nagu allpool näidatud, mille jaoks tahan saada sõnade arvu.

Kuigi Excel ei suuda sõnade arvu kokku lugeda, saab see lugeda lauses tühikute arvu.

Seega, et saada sõnade arv, saame sõnade asemel need tühikud kokku lugeda ja liita kokku 1 (kuna tühikute arv oleks sõnade arvust üks väiksem).

Nüüd võib olla kaks võimalust:

  1. Iga sõna vahel on üks tühik
  2. Sõnade vahel on mitu tühikut.

Nii et vaatame, kuidas igal juhul sõnade koguarvu kokku lugeda.

Näide 1 - kui sõnade vahel on üks tühik

Oletame, et mul on lahtris A1 järgmine tekst: laske kass kotist välja

Sõnade arvu loendamiseks kasutan järgmist valemit:

= LEN (A1) -LEN (ASENDUS (A1, "", ""))+1

Selle tulemuseks oleks „7”.

See valem töötab järgmiselt.

  • LEN (A1) - See valemiosa tagastab 26, mis on lahtri A1 teksti tähemärkide koguarv. See sisaldab nii tekstimärke kui ka tühikuid.
  • ASENDUS (A1, “,” ”) - see valemi osa eemaldab tekstist kõik tühikud. Seega oleks antud juhul tulemus Lase kass kotist välja.
  • LEN (ASENDUS (A1, "",“”) - See valemi osa arvestab tühikutega teksti tähemärkide koguarvu. Seega oleks selle tulemus 20.
  • LEN (A1) -LEN (ASENDUS (A1, "",“”)) - See lahutab tühikutega teksti pikkuse tühikutega teksti pikkusest. Ülaltoodud näites oleks see 26-20, mis on 6.
  • = LEN (A1) -LEN (ASENDUS (A1, "",“”))+1 - Lisame üldtulemusele 1, kuna tühikute koguarv on üks vähem kui sõnade koguarv. Näiteks on üks tühik kahes sõnas ja kaks tühikut kolmes sõnas.

Nüüd töötab see hästi, kui sõnade vahel on ainult üks tühik. Kuid see ei tööta, kui sõnade vahel on rohkem kui üks tühik.

Sellisel juhul kasutage järgmise näite valemit.

Näide 2: kui sõnade vahel on mitu tühikut

Oletame, et teil on järgmine tekst: Laske kass kotist välja

Sel juhul on sõnade vahel mitu tühikut.

Sõnade arvu saamiseks peame esmalt eemaldama kõik täiendavad tühikud (nii, et kahe sõna vahel on ainult üks tühik) ja seejärel loendama tühikute koguarv.

Siin on valem, mis annab meile õige arvu sõnu:

= LEN (TRIM (A1))-LEN (ASENDUS (A1, "", ""))+1

See on sarnane valem, mida kasutati ülaltoodud näites, väikese muudatusega - oleme siin kasutanud ka funktsiooni TRIM.

Funktsioon Excel TRIM eemaldab kõik esi-, lõpp- ja lisatühikud (välja arvatud üksikud tühikud sõnade vahel).

Ülejäänud valem töötab samamoodi (nagu näites 1 selgitatud).

Märkus. Kui sõnade vahel pole tühikuid, loetakse see üheks sõnaks.

VBA kohandatud funktsiooni kasutamine Excelis sõnade loendamiseks

Kuigi ülaltoodud valemid töötavad suurepäraselt, saate sõnade arvu sageli arvutamiseks kasutada VBA -d kohandatud funktsiooni (mida nimetatakse ka kasutaja määratud funktsiooniks) loomiseks.

Kohandatud funktsiooni kasutamise eeliseks on see, et saate selle üks kord luua ja seejärel kasutada nagu iga teist tavalist Exceli funktsiooni. Nii et pika keerulise valemi loomise asemel, nagu tegime kahes ülaltoodud näites, on teil lihtne valem, mis võtab lahtri viite ja annab teile kohe sõnade arvu.

Siin on kood, mis loob selle kohandatud funktsiooni Excelis sõnade arvu saamiseks.

Funktsioon WordCount (CellRef As Range) Dim TextStrng stringina Dim Result () Stringitulemusena = poolitatud (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 lõppfunktsioon

Kui olete selle loonud, saate kasutada WordCount funktsiooni nagu iga teine ​​tavaline Exceli funktsioon.

Ülaltoodud kohandatud funktsiooni koodis olen kasutanud töölehe TRIM funktsiooni, et eemaldada sõnade vahelt kõik alg-, lõpp- ja topeltruumid. See tagab, et kõik kolm lahtrit annavad sama tulemuse, kuna loetakse ainult sõnu, mitte topelt tühikuid.

Kuidas see valem töötab:

Ülaltoodud VBA -kood kasutab esmalt TRIM -funktsiooni, et eemaldada viidatud lahtri tekstistringist kõik alg-, lõpp- ja topeltruumid.

Kui sellel on puhastatud string, kasutab see VBA -s funktsiooni SPLIT, et jagada tekstistring vastavalt eraldajale, mille oleme määranud tühikuks. Nii et iga sõna eraldatakse muutuja Tulemus eraldi üksusena salvestatuna.

Seejärel kasutame funktsiooni UBOUND, et loendada tulemite muutujatesse salvestatud üksuste koguarv. Kuna VBA baas on 0, peame sõnade koguarvu saamiseks lisama 1.

See tähendab, et tulemus (0) salvestab esimese sõna, tulemus (1) teise sõna jne. Kuna see loendamine algab nullist, peame tegeliku sõnade arvu saamiseks lisama 1.

Kuhu see kood panna?

Kohandatud funktsiooni loomisel peate koodi sisestama töövihiku VB -redaktorisse (see on töövihiku tagakülg, kuhu saate ülesannete automatiseerimiseks ja kohandatud funktsioonide loomiseks koodi kirjutada).

Allpool on toodud sammud funktsiooni „GetNumeric” koodi sisestamiseks töövihikusse.

  1. Minge vahekaardile Arendaja.
  2. Klõpsake suvandil Visual Basic. See avab taustaprogrammis VB redaktori.
  3. Paremklõpsake VB redaktori Project Exploreri paanil töövihiku mis tahes objekti, kuhu soovite koodi sisestada. Kui te ei näe Project Explorerit, minge vahekaardile Vaade ja klõpsake nuppu Project Explorer.
  4. Minge sisesta ja klõpsake moodulit. See lisab teie töövihikusse mooduliobjekti.
  5. Kopeerige ja kleepige kood mooduli aknasse.

Kui olete koodi aknas koodi kopeerinud, saate naasta oma töölehele ja kasutada seda funktsiooni nagu iga teine ​​tavaline Exceli funktsioon.

Lihtsalt kirjuta = Sõna ja see näitab teile loendis olevat valemit.

See võtab ühe argumendi, mis on lahtri viide ja annab teile koheselt selles sisalduvate sõnade arvu.

wave wave wave wave wave