Innehållsförteckning
Hur räknar jag celler med text i Excel? Det finns några olika formler för att räkna celler som innehåller text, specifika tecken eller endast filtrerade celler. Alla formler fungerar i Excel 365, 2021, 2019, 2016, 2013 och 2010.
Från början var Excel-kalkylblad utformade för att arbeta med siffror, men numera använder vi dem ofta för att lagra och manipulera text. Vill du veta hur många celler med text det finns i ditt kalkylblad? Microsoft Excel har flera funktioner för detta. Vilken ska du använda? Det beror på situationen. I den här handledningen hittar du en mängd olika formler och när varje formel är bäst att använda.används.
Hur du räknar antalet celler med text i Excel
Det finns två grundläggande formler för att ta reda på hur många celler i ett visst intervall som innehåller en textsträng eller ett tecken.
COUNTIF-formeln för att räkna alla celler med text
När du vill ta reda på antalet celler med text i Excel kan du använda COUNTIF-funktionen med en asterisk i kriterier argument är den bästa och enklaste lösningen:
COUNTIF( sortiment , "*")Eftersom asterisken (*) är ett jokertecken som matchar vilken teckensekvens som helst, räknas alla celler som innehåller text i formeln.
SUMPRODUCT-formel för att räkna celler med valfri text
Ett annat sätt att få fram antalet celler som innehåller text är att kombinera funktionerna SUMPRODUCT och ISTEXT:
SUMPRODUCT(--ISTEXT( sortiment ))Eller
SUMPRODUCT(ISTEXT( sortiment )*1)ISTEXT-funktionen kontrollerar om varje cell i det angivna intervallet innehåller texttecken och returnerar en matris med värden som TRUE (celler med text) och FALSE (andra celler). Den dubbla unära (--) eller multiplikationsoperationen omvandlar TRUE och FALSE till 1 respektive 0, vilket ger en matris med ettor och nollor. SUMPRODUCT-funktionen summerar alla element i matrisen och returnerar antalet1:or, vilket är antalet celler som innehåller text.
För att få en bättre förståelse för hur dessa formler fungerar, se vilka värden som räknas och vilka som inte räknas:
Vad som räknas | Vad som inte räknas |
|
|
Om du till exempel vill räkna celler med text i intervallet A2:A10, exklusive siffror, datum, logiska värden, fel och tomma celler, använder du en av de här formlerna:
=COUNTIF(A2:A10, "*")
=SUMPRODUCT(--ISTEXT(A2:A10))
=SUMPRODUCT(ISTEXT(A2:A10)*1)
Skärmbilden nedan visar resultatet:
Räkna celler med text exklusive mellanslag och tomma strängar
Formlerna som diskuteras ovan räknar alla celler som innehåller texttecken. I vissa situationer kan det dock vara förvirrande eftersom vissa celler bara ser tomma ut, men i själva verket innehåller tecken som är osynliga för det mänskliga ögat, t.ex. tomma strängar, apostrofer, mellanslag, radbrytningar etc. Som ett resultat av detta räknas en tom cell av formeln, vilket gör att en användare måste ta fram sinhår försöker lista ut varför :)
Om du vill utesluta "falskt positiva" tomma celler från räkningen använder du funktionen COUNTIFS med tecknet "uteslutet" i det andra kriteriet.
Om du till exempel vill räkna celler med text i intervallet A2:A7 och ignorera de celler som innehåller en mellanslagstecken. , använd denna formel:
=COUNTIFS(A2:A7, "*", A2:A7, " ")
Om ditt målområde innehåller formeldrivna data kan vissa av formlerna resultera i en tom sträng (""). För att ignorera celler med tomma strängar också, ersätta "*" med "*?*" i kriterier1 argument:
=COUNTIFS(A2:A9, "*?*", A2:A9, " ")
Ett frågetecken omgivet av asterisker anger att det ska finnas minst ett texttecken i cellen. Eftersom en tom sträng inte innehåller några tecken uppfyller den inte kriterierna och räknas inte. Tomma celler som börjar med en apostrof (') räknas inte heller.
I skärmdumpen nedan finns det ett mellanslag i A7, en apostrof i A8 och en tom sträng (="") i A9. Vår formel utelämnar alla dessa celler och returnerar ett antal textceller på 3:
Hur du räknar celler med viss text i Excel
Om du vill få fram antalet celler som innehåller en viss text eller ett visst tecken, anger du helt enkelt texten i kriterier argumentet i COUNTIF-funktionen. Nedanstående exempel förklarar nyanserna.
För att matcha exempeltexten exakt Ange hela texten inom citationstecken:
COUNTIF( sortiment , " text ")För att räkna celler med delvis matcha , placera texten mellan två asterisker, som representerar ett valfritt antal tecken före och efter texten:
COUNTIF( sortiment , "* text *")Om du till exempel vill ta reda på hur många celler i intervallet A2:A7 som innehåller exakt ordet "bananer" använder du den här formeln:
=COUNTIF(A2:A7, "bananer")
Om du vill räkna alla celler som innehåller "bananer" som en del av sitt innehåll i någon position, använd den här metoden:
=COUNTIF(A2:A7, "*bananer*")
För att göra formeln mer användarvänlig kan du placera kriterierna i en fördefinierad cell, till exempel D2, och ange cellreferensen i det andra argumentet:
=COUNTIF(A2:A7, D2)
Beroende på inmatningen i D2 kan formeln matcha exempeltexten helt eller delvis:
- För fullständig matchning skriver du hela ordet eller frasen så som det visas i källtabellen, t.ex. Bananer .
- För partiell matchning skriver du exempeltexten omgiven av jokertecken, till exempel *Bananas* .
Eftersom formeln är Skiftlägeskänslig , kan du inte bry dig om bokstavsbeteckningen, vilket innebär att *bananer* kommer också att göra det.
Alternativt kan du räkna celler med Partiell matchning. , sammanfoga cellreferensen och jokertecken som t.ex:
=COUNTIF(A2:A7, "*"&D2&"*")
Mer information finns i avsnittet Hur du räknar celler med viss text i Excel.
Hur du räknar filtrerade celler med text i Excel
När du använder Excel-filter för att visa endast de data som är relevanta vid en viss tidpunkt kan du ibland behöva räkna synliga celler med text Tyvärr finns det ingen lösning med ett klick för den här uppgiften, men nedanstående exempel hjälper dig att gå igenom stegen.
Anta att du har en tabell som visas i bilden nedan. Vissa poster hämtades från en större databas med hjälp av formler, och olika fel uppstod på vägen. Du vill hitta det totala antalet poster i kolumn A. När alla rader är synliga fungerar formeln COUNTIF som vi har använt för att räkna celler med text utmärkt:
=COUNTIF(A2:A10, "*")
Nu begränsar du listan med hjälp av vissa kriterier, t.ex. genom att filtrera bort objekt med en kvantitet som är större än 10. Frågan är hur många objekt som återstår.
Att räkna filtrerade celler med text Det här är vad du måste göra:
- Gör alla rader synliga i källtabellen, genom att rensa alla filter och ta bort dolda rader.
- Lägg till en hjälpkolumn med formeln SUBTOTAL som anger om en rad är filtrerad eller inte.
Att hantera filtrerade celler , använd 3 för funktion_nummer argument:
= DELSUMMA(3, A2)
Att identifiera alla dolda celler , filtreras bort och döljs manuellt, läggs 103 i funktion_nummer :
= DELSUMMA(103, A2)
I det här exemplet vill vi bara räkna synliga celler med text oavsett hur andra celler är dolda, så vi skriver in den andra formeln i A2 och kopierar den till A10.
För synliga celler returnerar formeln 1. Så snart du filtrerar bort eller manuellt döljer vissa rader returnerar formeln 0 för dem. (Du kommer inte att se nollorna eftersom de returneras för dolda rader. För att kontrollera att det fungerar på detta sätt kan du kopiera innehållet i en dold cell med formeln Subtotal till en synlig cell, t.ex. =D2, om du antar att rad 2 är dold.)
- Använd funktionen COUNTIFS med två olika kriterier_intervall / kriterier par för att räkna synliga celler med text:
- Kriterium1 - söker efter celler med text ("*") i intervallet A2:A10.
- Criteria2 - söker efter 1 i intervallet D2:D10 för att upptäcka synliga celler.
=COUNTIFS(A2:A10, "*", D2:D10, 1)
Nu kan du filtrera data på det sätt du vill, och formeln visar hur många filtrerade celler i kolumn A som innehåller text (3 i vårt fall):
Om du hellre vill slippa infoga ytterligare en kolumn i kalkylbladet behöver du en längre formel för att utföra uppgiften. Välj den som du tycker bäst om:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10)))
=SUMMAPRODUKT(DELSUMMA(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), -- (ISTEXT(A2:A10))))
Multiplikationsoperatorn fungerar också:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))
=SUMMAPRODUKT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)-MIN(ROW(A2:A10)),,1)) * (ISTEXT(A2:A10)))
Vilken formel du använder är en fråga om personliga preferenser - resultatet blir detsamma i alla fall:
Hur dessa formler fungerar
I den första formeln används funktionen INDIRECT för att "mata" de individuella referenserna för alla celler i det angivna intervallet till SUBTOTAL. I den andra formeln används en kombination av funktionerna OFFSET, ROW och MIN i samma syfte.
Funktionen SUBTOTAL returnerar en matris med 1:or och 0:or där ettor representerar synliga celler och nollor motsvarar dolda celler (som hjälpkolumnen ovan).
ISTEXT-funktionen kontrollerar varje cell i A2:A10 och returnerar TRUE om en cell innehåller text och FALSE i annat fall. Den dubbla unära operatorn (--) omvandlar TRUE- och FALSE-värdena till 1 och 0. I det här läget ser formeln ut på följande sätt:
=SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})
Funktionen SUMPRODUCT multiplicerar först elementen i båda matriserna på samma positioner och summerar sedan den resulterande matrisen.
Eftersom multiplikation med noll ger noll, är det bara de celler som representeras av 1 i båda matriserna som har 1 i den slutliga matrisen.
=SUMPRODUCT({0;1;1;0;0;1;0;0;0})
Och antalet 1:or i matrisen ovan är antalet synliga celler som innehåller text.
Så här gör du för att räkna celler med text i Excel. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!
Tillgängliga nedladdningar
Excel-formler för att räkna celler med text