Haluatko saada sanamäärän Excelissä? Usko tai älä, Excelissä ei ole sisäänrakennettua sanalaskuria.
Mutta älä huoli.
Viileä joukko Excel -toimintoja (tai vähän VBA: ta, jos sinusta tuntuu hienolta) voi helposti tehdä tämän puolestasi.
Tässä opetusohjelmassa näytän pari tapaa laskea sanat Excelissä yksinkertaisilla kaavoilla. Ja lopussa kattaa myös tekniikan mukautetun kaavan luomiseksi VBA: n avulla, joka antaa nopeasti minkä tahansa tekstin sanamäärän missä tahansa solussa.
Kaava, jolla saat sanamäärän Excelissä
Ennen kuin annan sinulle tarkan kaavan, katetaan nopeasti logiikka sanamäärän saamiseksi.
Oletetaan, että minulla on alla näkyvä lause, jolle haluan saada sanamäärän.
Vaikka Excel ei voi laskea sanojen määrää, se voi laskea virkkeen välilyönnit.
Joten saadaksemme sanamäärän, voimme laskea nämä välilyönnit sanojen sijaan ja lisätä kokonaismäärään yhden (koska tilan määrä olisi yksi vähemmän sanojen lukumäärää).
Nyt voi olla kaksi mahdollisuutta:
- Jokaisen sanan välissä on yksi välilyönti
- Sanojen välissä on useita välilyöntejä.
Katsotaanpa siis, kuinka sanojen kokonaismäärä lasketaan kussakin tapauksessa.
Esimerkki 1 - Kun sanojen välissä on yksi välilyönti
Oletetaan, että minulla on solussa A1 seuraava teksti: Päästä kissa ulos pussista
Sanojen määrän laskemiseksi käytän seuraavaa kaavaa:
= LEN (A1) -LEN (KORVA (A1, "", ""))+1
Tuloksena olisi "7".
Näin tämä kaava toimii:
- LEN (A1) - Tämä kaavan osa palauttaa 26, joka on solun A1 tekstin merkkien kokonaismäärä. Se sisältää teksti- ja välilyöntejä.
- KORVA (A1, ”,” ”)) - Tämä kaavan osa poistaa kaikki välilyönnit tekstistä. Joten tulos olisi tässä tapauksessa Päästä kissa ulos laukusta.
- LENSSI (KORVAUS (A1, "",“”) - Tämä kaavan osa laskee tekstin merkkien kokonaismäärän, jossa ei ole välilyöntejä. Tuloksena olisi siis 20.
- LEN (A1) -LEN (KORVA (A1, "",“”)) - Tämä vähentäisi tekstin pituuden ilman välilyöntejä tekstin pituudesta välilyönnillä. Yllä olevassa esimerkissä se olisi 26-20, joka on 6.
- = LEN (A1) -LEN (KORVAUS (A1, "",“”))+1 - Lisäämme kokonaistulokseen yhden, koska välilyöntejä on yksi vähemmän kuin sanojen kokonaismäärä. Esimerkiksi on yksi välilyönti kahdessa sanassa ja kaksi välilyöntiä kolmessa sanassa.
Tämä toimii nyt hyvin, jos sanojen välissä on vain yksi välilyönti. Mutta se ei toimi, jos sanojen välissä on enemmän kuin yksi välilyönti.
Käytä siinä tapauksessa seuraavan esimerkin kaavaa.
Esimerkki 2: Kun sanojen välissä on useita välilyöntejä
Oletetaan, että sinulla on seuraava teksti: Päästä kissa ulos pussista
Tässä tapauksessa sanojen välissä on useita välilyöntejä.
Sanamäärän saamiseksi meidän on ensin poistettava kaikki ylimääräiset välilyönnit (siten, että kahden sanan välissä on vain yksi välilyönti) ja laskettava sitten välilyönnien kokonaismäärä.
Tässä on kaava, joka antaa meille oikean määrän sanoja:
= LEN (TRIM (A1))-LEN (SUBSTITUTE (A1, "", ""))+1
Tämä on samanlainen kaava, jota käytettiin yllä olevassa esimerkissä pienellä muutoksella - olemme myös käyttäneet täällä TRIM -funktiota.
Excel TRIM -toiminto poistaa kaikki alku-, loppu- ja ylimääräiset välilyönnit (lukuun ottamatta yksittäisiä välilyöntejä sanojen välillä).
Loput kaavasta toimivat samalla tavalla (kuten esimerkissä 1 selitetään).
Huomautus: Jos sanojen välissä ei ole välilyöntejä, sitä pidetään yhtenä sanana.
VBA mukautetun toiminnon käyttäminen sanojen laskemiseen Excelissä
Vaikka yllä olevat kaavat toimivat hyvin, jos sinun on laskettava sanamäärä usein, voit luoda VBA: n avulla mukautetun toiminnon (jota kutsutaan myös käyttäjän määrittämäksi funktioksi).
Mukautetun toiminnon käytön etuna on, että voit luoda sen kerran ja käyttää sitä kuten mitä tahansa muuta tavallista Excel -toimintoa. Joten sen sijaan, että luot pitkän pitkän monimutkaisen kaavan, kuten teimme yllä olevissa kahdessa esimerkissä, sinulla on yksinkertainen kaava, joka ottaa soluviittauksen ja antaa sinulle välittömästi sanamäärän.
Tässä on koodi, joka luo tämän mukautetun toiminnon saadaksesi sanamäärän Excelissä.
Funktio WordCount (CellRef As Range) Dim TextStrng merkkijonona Dim Tulos () String Result = Split (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 End Function
Kun olet luonut, voit käyttää WordCount -toimintoa aivan kuten mitä tahansa muuta tavallista Excel -toimintoa.
Yllä olevassa mukautetun toiminnon koodissa olen poistanut laskentataulukon TRIM -funktion avulla kaikki etumatkat, jäljet ja kaksoisvälit sanojen välistä. Tämä varmistaa, että kaikki kolme solua antavat saman tuloksen, koska vain sanat lasketaan eikä kaksoisvälit.
Kuinka tämä kaava toimii:
Yllä oleva VBA -koodi käyttää ensin TRIM -toimintoa poistaakseen kaikki alku-, loppu- ja kaksoisvälit viitatun solun tekstimerkkijonosta.
Kun se on puhdistanut merkkijonon, se käyttää VBA: n SPLIT -funktiota jakamaan tekstimerkkijonon erottimen perusteella, jonka olemme määrittäneet välilyönniksi. Joten jokainen sana on erotettu tallentuneeksi erilliseksi kohteeksi tulosmuuttujassa.
Käytämme sitten UBOUND -funktiota tulosmuuttujiin tallennettujen kohteiden kokonaismäärän laskemiseen. Koska VBA: n perusta on 0, meidän on lisättävä 1 saadaksemme sanojen kokonaismäärän.
Tämä tarkoittaa, että tulos (0) tallentaa ensimmäisen sanan, tulos (1) toisen sanan jne. Koska tämä laskenta alkaa nollasta, meidän on lisättävä 1 saadaksesi todellinen sanamäärä.
Minne tämä koodi laitetaan?
Kun luot mukautettua toimintoa, sinun on asetettava koodi työkirjan VB -editoriin (joka on työkirjan takaosa, jossa voit kirjoittaa koodia tehtävien automatisoimiseksi ja mukautettujen toimintojen luomiseksi).
Alla on vaiheet, joilla voit lisätä GetNumeric -toiminnon koodin työkirjaan.
- Siirry Kehittäjä -välilehdelle.
- Napsauta Visual Basic -vaihtoehtoa. Tämä avaa VB -editorin taustaohjelmaan.
- Napsauta hiiren kakkospainikkeella mitä tahansa työkirjan objektia VB Editorin Project Explorer -ruudussa, johon haluat lisätä koodin. Jos et näe Project Exploreria, siirry Näytä -välilehteen ja napsauta Project Explorer.
- Siirry Lisää -kohtaan ja napsauta Moduuli. Tämä lisää moduuliobjektin työkirjaasi.
- Kopioi ja liitä koodi moduuli -ikkunaan.
Kun olet kopioinut koodin koodi -ikkunassa, voit palata laskentataulukkoosi ja käyttää tätä toimintoa aivan kuten mitä tahansa muuta tavallista Excel -toimintoa.
Kirjoita vain = Sana ja se näyttää sinulle kaavan luettelossa.
Se vaatii yhden argumentin, joka on soluviittaus ja antaa sinulle heti sanojen määrän siinä.