Sådan tæller du tegn i Excel: samlede eller specifikke tegn i en celle eller et område

  • Del Dette
Michael Brown

I denne vejledning forklares det, hvordan du tæller tegn i Excel. Du lærer formlerne til at få det samlede antal tegn i et område og til kun at tælle bestemte tegn i en celle eller i flere celler.

I vores tidligere vejledning blev Excel-funktionen LEN introduceret, som gør det muligt at tælle det samlede antal tegn i en celle.

LEN-formlen er nyttig i sig selv, men i forbindelse med andre funktioner som SUM, SUMPRODUCT og SUBSTITUTE kan den klare langt mere komplekse opgaver. I denne vejledning vil vi se nærmere på nogle få grundlæggende og avancerede formler til at tælle tegn i Excel.

    Sådan tæller du alle tegn i et område

    Når det drejer sig om at tælle det samlede antal tegn i flere celler, er en umiddelbar løsning, der falder mig ind, at få tegntallet for hver celle og derefter lægge disse tal sammen:

    =LEN(A2)+LEN(A3)+LEN(A4)

    Eller

    =SUM(LEN(A2),LEN(A3),LEN(A4))

    Ovenstående formler fungerer måske fint for et lille område. Hvis vi skal tælle det samlede antal tegn i et større område, må vi hellere finde på noget mere kompakt, f.eks. funktionen SUMPRODUCT, som multiplicerer arrays og returnerer summen af produkterne.

    Her er den generiske Excel-formel til at tælle tegn i et område:

    =SUMPRODUKT(LEN( rækkevidde ))

    Og din virkelige formel kan se ud som følger:

    =SUMPRODUKT(LEN(A1:A7))

    En anden måde at tælle tegn i et område på er at bruge LEN-funktionen i kombination med SUM:

    =SUM(LEN(A1:A7))

    I modsætning til SUMPRODUCT beregner funktionen SUM ikke som standard arrays, og du skal trykke på Ctrl + Shift + Enter for at gøre den til en arrayformel.

    Som vist i følgende skærmbillede returnerer SUM-formlen det samme samlede antal tegn:

    Sådan fungerer denne formel til optælling af tegn i området

    Dette er en af de mest enkle formler til at tælle tegn i Excel. LEN-funktionen beregner strenglængden for hver celle i det angivne område og returnerer dem som et array af tal. Derefter summerer SUMPRODUCT eller SUM disse tal og returnerer det samlede antal tegn.

    I ovenstående eksempel summeres et array med 7 tal, der repræsenterer længden af strings i cellerne A1 til A7:

    Bemærk. Vær opmærksom på, at Excel LEN-funktionen tæller absolut alle tegn i hver celle , herunder bogstaver, tal, tegnsætningstegn, specialsymboler og alle mellemrum (forreste, bagefter og mellemrum mellem ord).

    Sådan tæller du bestemte tegn i en celle

    Nogle gange kan du i stedet for at tælle alle tegn i en celle have brug for kun at tælle forekomsten af et bestemt bogstav, tal eller et særligt symbol.

    Hvis du vil tælle antallet af gange, et givet tegn forekommer i en celle, skal du bruge LEN-funktionen sammen med SUBSTITUTE:

    =LEN( celle )-LEN(ERSTATTER( celle , karakter ,""))

    For bedre at forstå formlen kan du se på følgende eksempel.

    Antag, at du har en database med leverede varer, hvor hver varetype har sin egen unikke identifikator. Og hver celle indeholder flere varer adskilt med komma, mellemrum eller en anden afgrænser. Opgaven er at tælle, hvor mange gange en given unik identifikator forekommer i hver celle.

    Hvis vi antager, at listen over leverede varer er i kolonne B (begyndende i B2), og vi tæller antallet af "A"-forekomster, er formlen som følger:

    =LEN(B2)-LEN(SUBSTITUTE(B2, "A","""))

    Sådan fungerer denne Excel-formel til optælling af tegn

    For at forstå logikken i formlen skal vi dele den op i mindre dele:

    • Først tæller du den samlede længde af strengen i B2:

    LEN(B2)

  • Derefter bruger du funktionen SUBSTITUTE til at fjerne alle forekomster af bogstavet " A " i B2 ved at erstatte den med en tom streng ("""):
  • SUBSTITUTE(B2, "A",""")

  • Og derefter tæller du strengen uden " A " karakter:
  • LEN(SUBSTITUTE(B2, "A","""))

  • Endelig trækker du længden af strengen uden " A " fra den samlede længde af strengen.
  • Som resultat får du tallet for "fjernede" tegn, som svarer til det samlede antal forekomster af det pågældende tegn i cellen.

    I stedet for at angive det tegn, du vil tælle i en formel, kan du skrive det i en celle og derefter henvise til den pågældende celle i en formel. På denne måde kan dine brugere tælle forekomster af andre tegn, de indtaster i den pågældende celle, uden at ændre formlen:

    Bemærk: Excel's SUBSTITUTE-funktion er en funktion, der tager hensyn til store og små bogstaver, og derfor tager ovenstående formel også hensyn til store og små bogstaver. I ovenstående skærmbillede indeholder celle B3 f.eks. 3 forekomster af "A" - to med store bogstaver og en med små bogstaver. Formlen har kun talt de store bogstaver, fordi vi har angivet "A" til SUBSTITUTE-funktionen.

    Excel-formel, der ikke tager hensyn til store og små bogstaver, til at tælle bestemte tegn i en celle

    Hvis du har brug for en optælling af tegn, der ikke tager hensyn til store og små bogstaver, skal du integrere funktionen UPPER i SUBSTITUTE for at konvertere det angivne tegn til store bogstaver, før du udfører erstatningen. Sørg for at indtaste det store tegn i formlen.

    Hvis du f.eks. vil tælle "A" og "a"-elementer i celle B2, skal du bruge denne formel:

    =LEN(B2)-LEN(SUBSTITUTE(UPPER(B2), "A","""))

    En anden måde er at bruge indlejrede Substitute-funktioner:

    =LEN(B2)-LEN(SUBSTITUTE(SUBSTITUTE (B2, "A",""), "a","")

    Som du kan se på nedenstående skærmbillede, tæller begge formler fejlfrit store og små bogstaver for det angivne tegn:

    I nogle tilfælde kan du have brug for at tælle mange forskellige tegn i en tabel, men du ønsker måske ikke at ændre formlen hver gang. I dette tilfælde skal du indsætte en Substitut-funktion i en anden, skrive det tegn, du vil tælle, i en celle (D1 i dette eksempel) og konvertere cellens værdi til store og små bogstaver ved hjælp af funktionerne UPPER og LOWER:

    =LEN(B2)-LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2, UPPER($D$1), ""), LOWER($D$1),""")))

    Alternativt kan du konvertere både kildecellen og den celle, der indeholder tegnet, enten til store eller små bogstaver, f.eks:

    =LEN(B2)-LEN(SUBSTITUTE(UPPER(B2), UPPER($C$1),""")))

    Fordelen ved denne fremgangsmåde er, at uanset om der indtastes store eller små bogstaver i den celle, der henvises til, vil din formel til optælling af tegn uden hensyn til store og små bogstaver returnerer det rigtige antal:

    Tælle forekomster af en bestemt tekst eller delstreng i en celle

    Hvis du vil tælle, hvor mange gange en en bestemt kombination af tegn (dvs. en bestemt tekst eller delstreng) forekommer i en given celle, f.eks. "A2" eller "SS", divideres antallet af tegn, der returneres af ovenstående formler, med længden af delstrengen.

    Skrivefølsom formel:

    =(LEN(B2)-LEN(SUBSTITUTE(B2, $C$1,""))))/LEN($C$1)

    Ikke-under hensyntagen til store og små bogstaver formel:

    =(LEN(B2)-LEN(SUBSTITUTE(LOWER(B2),LOWER($C$1),""))))/LEN($C$1)

    Hvor B2 er den celle, der indeholder hele tekststrengen, og C1 er den tekst (delstreng), du vil tælle.

    Du kan finde en detaljeret forklaring på formlen under Sådan tæller du specifik tekst/ord i en celle.

    Sådan tæller du bestemte tegn i et område

    Nu hvor du kender en Excel-formel til at tælle tegn i en celle, kan du måske forbedre den yderligere for at finde ud af, hvor mange gange et bestemt tegn forekommer i et område. Til dette formål vil vi tage Excel-formlen LEN til at tælle et bestemt tegn i en celle, som blev diskuteret i det foregående eksempel, og sætte den ind i funktionen SUMPRODUCT, der kan håndtere arrays:

    SUMPRODUKT(LEN( rækkevidde )-LEN(ERSTATTER( rækkevidde , karakter ,"")))

    I dette eksempel har formlen følgende formular:

    =SUMPRODUCT(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, "A",""))))

    Og her er en anden formel til at tælle tegn i Excel's område:

    =SUM(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, "A",""")))

    I forhold til den første formel er den mest indlysende forskel, at der bruges SUM i stedet for SUMPRODUCT. En anden forskel er, at det kræver, at man trykker på Ctrl + Shift + Enter, fordi SUM i modsætning til SUMPRODUCT, som er designet til at behandle arrays, kun kan håndtere arrays, når den bruges i en array-formel .

    Hvis du ikke ønsker at indkode tegnet i formlen, kan du selvfølgelig skrive det i en celle, f.eks. D1, og henvise til denne celle i din formel for tegntælling:

    =SUMPRODUCT(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, D1,""))))

    Bemærk. I situationer, hvor du tæller forekomsterne af en bestemt understreng i en række (f.eks. ordrer, der begynder med "KK" eller "AA"), skal du dividere antallet af tegn med delstrengens længde, da hvert tegn i delstrengen ellers vil blive talt individuelt. F.eks:

    =SUM((LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, D1, ""))) / LEN(D1)))

    Sådan fungerer denne formel til optælling af tegn

    Som du måske husker, bruges SUBSTITUTE-funktionen til at erstatte alle forekomster af det angivne tegn ("A" i dette eksempel) med en tom tekststreng (""").

    Derefter leverer vi den tekststreng, der returneres af SUBSTITUTE, til Excel-funktionen LEN, så den beregner strengens længde uden A'er. Derefter trækker vi dette antal tegn fra tekststrengens samlede længde. Resultatet af disse beregninger er et array af antal tegn med et antal tegn pr. celle.

    Endelig summerer SUMPRODUCT tallene i arrayet og returnerer det samlede antal af det angivne tegn i intervallet.

    En formel, der ikke tager hensyn til store og små bogstaver, til at tælle bestemte tegn i et område

    Du ved allerede, at SUBSTITUTE er en funktion, der tager hensyn til store og små bogstaver, hvilket også gør vores Excel-formel for antal tegn til at tage hensyn til store og små bogstaver.

    Hvis du vil have formlen til at ignorere store og små bogstaver, skal du følge de fremgangsmåder, der blev vist i det foregående eksempel: Formel, der ikke tager hensyn til store og små bogstaver, til at tælle bestemte tegn i en celle.

    Du kan især bruge en af følgende formler til at tælle specifikke tegn i et område, der ignorerer tilfælde:

    • Brug UPPER-funktionen og indtast et tegn i store bogstaver:

      =SUMPRODUCT(LEN(B2:B8) - LEN(SUBSTITUTE(UPPER(B2:B8), "A",""))))

    • Brug indlejrede SUBSTITUTE-funktioner:

      =SUMPRODUKT(LEN(B2:B8) - LEN(SUBSTITUTE(SUBSTITUTE((B2:B8), "A",""), "a",""))))

    • Brug funktionerne UPPER og LOWER, skriv enten et stort eller lille bogstav i en celle, og henvis til den pågældende celle i din formel:

      =SUMPRODUCT(LEN(B2:B8) - LEN(SUBSTITUTE(SUBSTITUTE((B2:B8), UPPER($E$1), "")), LOWER($E$1),""))))

    Nedenstående skærmbillede viser den sidste formel i praksis:

    Tip. Hvis du vil tælle forekomsten af en specifik tekst (delstreng) i et område, skal du bruge den formel, der er vist i Sådan tæller du specifik tekst/ord i et område.

    Sådan kan du tælle tegn i Excel ved hjælp af LEN-funktionen. Hvis du vil vide, hvordan du tæller ord i stedet for enkelte tegn, kan du finde et par nyttige formler i vores næste artikel, så bliv hængende!

    I mellemtiden kan du downloade en prøvearbejdsmappe med den formel for tegntælling, der er beskrevet i denne vejledning, og se en liste over relaterede ressourcer sidst på siden. Tak for din læsning og håber at se dig snart!

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.