Hur man får ordräkningen i Excel (med enkla formler)

Vill du få ordräkningen i Excel? Tro det eller ej, Excel har inte en inbyggd ordräknare.

Men oroa dig inte.

Ett häftigt gäng excelfunktioner (eller lite VBA om du känner dig snygg) kan enkelt göra detta för dig.

I den här självstudien visar jag ett par sätt att räkna ord i Excel med enkla formler. Och i slutet kommer också att täcka en teknik för att skapa en anpassad formel med VBA som snabbt ger dig ordräkningen för vilken text som helst i en cell.

Formel för att få ordräkning i Excel

Innan jag ger dig den exakta formeln, låt oss snabbt täcka logiken för att få ordantalet.

Antag att jag har en mening som visas nedan för vilken jag vill få ordräkningen.

Även om Excel inte kan räkna antalet ord, kan det räkna antalet blanksteg i en mening.

Så för att få ordräkningen kan vi räkna dessa mellanslag istället för ord och lägga till 1 till summan (eftersom antalet blanksteg skulle vara ett färre än antalet ord).

Nu kan det finnas två möjligheter:

  1. Det finns ett mellanrum mellan varje ord
  2. Det finns flera mellanslag mellan ord.

Så låt oss se hur man räknar det totala antalet ord i varje fall.

Exempel 1 - När det finns ett enda mellanslag mellan ord

Låt oss säga att jag har följande text i cell A1: Släpp katten ur väskan

För att räkna antalet ord, här är formeln jag skulle använda:

= LENN (A1) -LEN (ERSÄTTNING (A1, "", ""))+1

Detta skulle ge "7" som ett resultat.

Så här fungerar den här formeln:

  • LEN (A1) - Denna del av formeln returnerar 26, vilket är det totala antalet tecken i texten i cell A1. Den innehåller såväl texttecken som mellanslagstecken.
  • ERSÄTTNING (A1, ”“, ””) - Denna del av formeln tar bort alla mellanslag från texten. Så resultatet, i det här fallet, skulle bli Låt katten gå ut av väskan.
  • LEN (ERSÄTTNING (A1, ”“,“”) - Denna del av formeln räknar det totala antalet tecken i texten som inte har några mellanslag. Så resultatet av detta skulle bli 20.
  • LEN (A1) -LEN (ERSÄTTNING (A1, ”“,“”)) - Detta skulle subtrahera textlängden utan mellanslag från textlängden med mellanslag. I exemplet ovan skulle det vara 26-20 vilket är 6.
  • = LENN (A1) -LEN (ERSÄTTNING (A1, ”“ ”,“”))+1 - Vi lägger till 1 i det övergripande resultatet eftersom det totala antalet blanksteg är ett mindre än det totala antalet ord. Till exempel finns det ett mellanslag i två ord och två mellanslag i tre ord.

Nu fungerar det bra om du bara har ett mellanslagstecken mellan ord. Men det skulle inte fungera om du har mer än ett mellanslag mellan orden.

Använd i så fall formeln i nästa exempel.

Exempel 2: När det finns flera mellanslag mellan ord

Låt oss säga att du har följande text: Släpp katten ur väskan

I det här fallet finns det flera mellanslagstecken mellan ord.

För att få ordräkningen måste vi först ta bort alla extra mellanslag (så att det bara finns ett mellanslagstecken mellan två ord) och sedan räkna det totala antalet mellanslag.

Här är formeln som ger oss rätt antal ord:

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

Detta är en liknande formel som används i exemplet ovan, med en liten förändring - vi har också använt TRIM -funktionen här.

Excel TRIM -funktionen tar bort alla ledande, bakre och extra mellanslag (utom enkla mellanslag mellan ord).

Resten av formeln fungerar på samma sätt (som förklarat i exempel 1).

Obs! Om det inte finns några mellanslag mellan ord, betraktas det som ett ord.

Använda VBA -anpassad funktion för att räkna ord i Excel

Även om ovanstående formler fungerar bra, kan du använda VBA för att skapa en anpassad funktion (även kallad en användardefinierad funktion) om du behöver beräkna ordantalet ofta.

Fördelen med att använda en anpassad funktion är att du kan skapa den en gång och sedan använda den som alla andra vanliga Excel -funktioner. Så istället för att skapa en lång komplex formel som vi gjorde i de två exemplen ovan har du en enkel formel som tar cellreferensen och omedelbart ger dig ordräkningen.

Här är koden som skapar den här anpassade funktionen för att få ordräkningen i Excel.

Funktion WordCount (CellRef As Range) Dim TextStrng Som String Dim Resultat () Som String Resultat = Split (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Resultat ()) + 1 Slutfunktion

När du har skapat den kan du använda WordCount -funktionen precis som alla andra vanliga Excel -funktioner.

I koden ovan för den anpassade funktionen har jag använt kalkylbladets TRIM -funktion för att ta bort eventuella inledande, bakre och dubbla mellanslag mellan ord. Detta säkerställer att alla tre cellerna ger samma resultat, eftersom bara orden räknas och inte de dubbla mellanslag.

Så fungerar denna formel:

Ovanstående VBA -kod använder först TRIM -funktionen för att ta bort alla ledande, bakre och dubbla mellanslag från textsträngen i den refererade cellen.

När den har rengjort strängen använder den SPLIT -funktionen i VBA för att dela textsträngen baserat på avgränsaren, som vi har angett som mellanslagstecken. Så varje ord separeras som lagrat som ett separat objekt i resultatvariabeln.

Vi använder sedan UBOUND -funktionen för att räkna det totala antalet objekt som lagrades i resultatvariablerna. Eftersom VBA har en bas på 0 måste vi lägga till 1 för att få det totala antalet ord.

Det betyder att Resultat (0) lagrar det första ordet, Resultat (1) lagrar det andra ordet och så vidare. Eftersom räkningen börjar från 0 måste vi lägga till 1 för att få det verkliga ordräkningen.

Var ska man lägga denna kod?

När du skapar en anpassad funktion måste du lägga koden i VB -redigeraren i arbetsboken (vilket är arbetsboks bakkant där du kan skriva kod för att automatisera uppgifter och skapa anpassade funktioner).

Nedan följer stegen för att sätta koden för funktionen ‘GetNumeric’ i arbetsboken.

  1. Gå till fliken Utvecklare.
  2. Klicka på Visual Basic -alternativet. Detta öppnar VB -redigeraren i backend.
  3. I fönstret Projektutforskare i VB-redigeraren högerklickar du på valfritt objekt för arbetsboken där du vill infoga koden. Om du inte ser Project Explorer går du till fliken View och klickar på Project Explorer.
  4. Gå till Infoga och klicka på Modul. Detta kommer att infoga ett modulobjekt för din arbetsbok.
  5. Kopiera och klistra in koden i modulfönstret.

När du har kopierat koden i kodfönstret kan du gå tillbaka till ditt kalkylblad och använda den här funktionen precis som alla andra vanliga Excel -funktioner.

Bara Skriv = Ord och det kommer att visa dig formeln i listan.

Det tar ett argument, som är cellreferensen och ger dig direkt ordräkningen i den.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave