Slik får du ordtellingen i Excel (ved hjelp av enkle formler)

Vil du få ordtellingen i Excel? Tro det eller ei, Excel har ikke en innebygd ordteller.

Men ikke bekymre deg.

En kul gjeng excel -funksjoner (eller litt VBA hvis du har lyst) kan enkelt gjøre dette for deg.

I denne opplæringen vil jeg vise et par måter å telle ord i Excel ved hjelp av enkle formler. Og på slutten vil også dekke en teknikk for å lage en tilpasset formel ved hjelp av VBA som raskt vil gi deg ordtellingen for hvilken som helst tekst i en celle.

Formel for å få ordtelling i Excel

Før jeg gir deg den eksakte formelen, la oss raskt dekke logikken for å få ordtellingen.

Anta at jeg har en setning som vist nedenfor som jeg vil få ordtellingen for.

Selv om Excel ikke kan telle antall ord, kan det telle antall mellomrom i en setning.

Så for å få ordtellingen kan vi telle disse mellomrommene i stedet for ord og legge 1 til totalen (ettersom antall mellomrom ville være ett mindre antall ord).

Nå kan det være to muligheter:

  1. Det er ett mellomrom mellom hvert ord
  2. Det er flere mellomrom mellom ord.

Så la oss se hvordan vi teller det totale antall ord i hvert tilfelle.

Eksempel 1 - Når det er ett mellomrom mellom ord

La oss si at jeg har følgende tekst i celle A1: Slipp katten ut av posen

For å telle antall ord, her er formelen jeg vil bruke:

= LENG (A1) -LEN (ERSTATNING (A1, "", ""))+1

Dette vil returnere '7' som et resultat.

Slik fungerer denne formelen:

  • LENG (A1) - Denne delen av formelen returnerer 26, som er det totale antallet tegn i teksten i celle A1. Den inkluderer teksttegnene så vel som mellomromstegnene.
  • ERSTATNING (A1, ”“, ””) - Denne delen av formelen fjerner alle mellomrommene fra teksten. Så resultatet, i dette tilfellet, ville være La det gå ut av sekken.
  • LEN (ERSTATNING (A1, ”“,“”) - Denne delen av formelen teller det totale antallet tegn i teksten som ikke har mellomrom. Så resultatet av dette ville være 20.
  • LEN (A1) -LEN (ERSTATNING (A1, ”“,“”)) - Dette vil trekke tekstlengden uten mellomrom fra tekstlengden med mellomrom. I eksemplet ovenfor vil det være 26-20 som er 6.
  • = LENG (A1) -LEN (ERSTATNING (A1, ”“ ”,“”))+1 - Vi legger til 1 i det totale resultatet ettersom det totale antall mellomrom er ett mindre enn det totale antallet ord. For eksempel er det ett mellomrom i to ord og to mellomrom i tre ord.

Dette fungerer bra hvis du bare har ett mellomrom mellom ord. Men det ville ikke fungere hvis du har mer enn ett mellomrom mellom ordene.

I så fall, bruk formelen i neste eksempel.

Eksempel 2: Når det er flere mellomrom mellom ord

La oss si at du har følgende tekst: Slipp katten ut av posen

I dette tilfellet er det flere mellomrom mellom ord.

For å få ordtellingen må vi først fjerne alle ekstra mellomrom (slik at det bare er ett mellomrom mellom to ord) og deretter telle det totale antall mellomrom.

Her er formelen som vil gi oss riktig antall ord:

= LENNE (TRIM (A1))-LENNE (ERSTATNING (A1, "", ""))+1

Dette er en lignende formel som ble brukt i eksemplet ovenfor, med en liten endring - vi har også brukt TRIM -funksjonen her.

Excel TRIM -funksjon fjerner alle mellomrom, etterfølgende og ekstra mellomrom (unntatt enkeltrom mellom ord).

Resten av formelen fungerer på samme måte (som forklart i eksempel 1).

Merk: Hvis det ikke er mellomrom mellom ord, regnes det som ett ord.

Bruke egendefinert VBA -funksjon for å telle ord i Excel

Selv om formlene ovenfor fungerer bra, kan du bruke VBA til å lage en egendefinert funksjon (også kalt en brukerdefinert funksjon) hvis du trenger å beregne antall ord ofte.

Fordelen med å bruke en egendefinert funksjon er at du kan opprette den en gang og deretter bruke den som alle andre vanlige Excel -funksjoner. Så i stedet for å lage en lang kompleks formel som vi gjorde i de to eksemplene ovenfor, har du en enkel formel som tar cellereferansen og umiddelbart gir deg ordtellingen.

Her er koden som vil opprette denne egendefinerte funksjonen for å få ordtellingen i Excel.

Funksjon WordCount (CellRef As Range) Dim TextStrng As String Dim Result () As String Result = Split (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 End Function

Når den er opprettet, kan du bruke WordCount -funksjonen akkurat som alle andre vanlige Excel -funksjoner.

I koden ovenfor for den egendefinerte funksjonen har jeg brukt TRIM -funksjonen til regnearket for å fjerne eventuelle mellomliggende, etterfølgende og doble mellomrom mellom ord. Dette sikrer at alle de tre cellene gir det samme resultatet, ettersom bare ordene telles og ikke doble mellomrom.

Slik fungerer denne formelen:

Ovennevnte VBA -kode bruker først TRIM -funksjonen til å fjerne alle ledende, etterfølgende og doble mellomrom fra tekststrengen i cellen det refereres til.

Når den har renset strengen, bruker den SPLIT -funksjonen i VBA til å dele tekststrengen basert på skilletegnet, som vi har spesifisert for å være mellomromstegnet. Så hvert ord er atskilt som lagret som et eget element i resultatvariabelen.

Vi bruker deretter UBOUND -funksjonen til å telle det totale antallet elementer som ble lagret i resultatvariablene. Siden VBA har en base på 0, må vi legge til 1 for å få det totale antallet ord.

Dette betyr at Resultat (0) lagrer det første ordet, Resultat (1) lagrer det andre ordet, og så videre. Siden denne tellingen starter fra 0, må vi legge til 1 for å få det virkelige ordtallet.

Hvor skal jeg sette denne koden?

Når du oppretter en egendefinert funksjon, må du sette koden i VB Editor i arbeidsboken (som er bakenden av arbeidsboken der du kan skrive kode for å automatisere oppgaver og opprette egendefinerte funksjoner).

Nedenfor er trinnene for å sette koden for "GetNumeric" -funksjonen i arbeidsboken.

  1. Gå til kategorien Utvikler.
  2. Klikk på Visual Basic -alternativet. Dette vil åpne VB -redaktøren i backend.
  3. I Project Explorer-ruten i VB Editor, høyreklikker du på et hvilket som helst objekt for arbeidsboken der du vil sette inn koden. Hvis du ikke ser Project Explorer, går du til kategorien View og klikker på Project Explorer.
  4. Gå til Sett inn og klikk på Modul. Dette vil sette inn et modulobjekt for arbeidsboken din.
  5. Kopier og lim inn koden i modulvinduet.

Når du har kopiert koden i kodevinduet, kan du gå tilbake til regnearket og bruke denne funksjonen akkurat som alle andre vanlige Excel -funksjoner.

Bare skriv = Ord og det vil vise deg formelen i listen.

Det tar ett argument, som er cellereferansen og gir deg umiddelbart ordtellingen i den.

wave wave wave wave wave