Innehållsförteckning
I den här artikeln visar jag hur du kan räkna om en cell innehåller text i Excel. Jag ska visa hur du räknar antalet celler som innehåller text och antalet celler som innehåller text men som inkluderar eller utesluter ett visst textvärde.
Ladda ner övningsboken
Räkna om cellen innehåller text.xlsm5 enkla metoder för att räkna om cellen innehåller text i Excel
Här har vi en datamängd med Namn av vissa kunder och deras Kontaktadresser i ett företag som heter Sunflower Kindergarten.
Idag är vårt mål att räkna hur många adresser bland kontaktadresserna som är E-post Adresser.
Det betyder att vi ska räkna en adress om den är en text, inte ett nummer.
1. Använd COUNTIF-funktionen för att räkna om cellen innehåller text i Excel
Du kan använda COUNTIF-funktion i Excel för att räkna antalet celler som innehåller text.
För att åstadkomma detta använder du en Asterisk-symbol (*) som kriterier av den COUNTIF funktion .
Därför är formeln för att räkna det totala antalet E-post Adresserna kommer att vara:
=COUNTIF(C4:C13, "*")
[ Här C4:C13 är intervallet för mina kontaktadresser. Du kan infoga det enligt dina behov.]
Titta, den har räknat det totala antalet textadresser, det vill säga, E-post adresser.
Resultatet är 7 .
Läs mer: Hur du räknar celler i Excel med olika text (5 sätt)
2. Kombinera funktionerna ISTEXT och SUMPRODUCT för att räkna om cellen innehåller text i Excel
Du kan också använda en kombination av ISTEXT-funktionen och SUMPRODUCT-funktionen till räkna celler som innehåller textvärden i Excel.
För att räkna antalet E-post Adresser på det här sättet, välj en valfri cell i din datamängd och ange den här formeln:
=SUMPRODUCT(--ISTEXT(C4:C13))
[ Här C4:C13 är intervallet för mina kontaktadresser. Du kan infoga det enligt dina behov.]
Vi har återigen räknat antalet textadresser med framgång. Och det är 7 .
⧪ Förklaring till formeln:
- ISTEXT(C4:C13) kontrollerar varje cell i intervallet C4:C13 och returnerar en TRUE om cellen innehåller en text. Annars returneras en FALSK .
- Därför kan ISTEXT(C4:C13) returnerar en matris med boolska värden, TRUE och FALSK .
- -ISTEXT(C4:C13) omvandlar den matris som returneras av ISTEXT-funktionen till en matris av 1:or och 0:or.
- Den omvandlar TRUE till 1 och FALSK till 0 .
- Slutligen, den SUMPRODUCT-funktionen returnerar summan av det totala intervallet, det vill säga antalet 1:or i intervallet.
- Formeln returnerar alltså antalet celler som innehåller textvärden inom intervallet.
3. Använd COUNTIF-funktionen för att räkna om cellen innehåller text som innehåller en viss text i Excel
Hittills har vi räknat antalet celler som innehåller textadresser, dvs, E-post Adresser.
Du kan också använda COUNTIF-funktion till räkna antalet celler som innehåller textvärden med en viss text.
Låt oss till exempel försöka räkna antalet kunder som använder sig av Gmail Adresser .
För att åstadkomma detta måste vi räkna antalet celler som innehåller strängen "gmail" inom dem.
Enkelt: omsluta bara texten. "gmail" inom en Asterisk symbol (*) inom den COUNTIF-funktion som kriterier .
Formeln kommer att vara följande:
=COUNTIF(C4:C13,"*gmail*")
⧪ Anteckningar:
- Här C4:C13 är intervallet för mina kontaktadresser.
- Och "gmail" är den specifika text som vi letar efter.
- Du sätter in dem enligt dina behov.
Titta, den har lyckats räkna det totala antalet celler som innehåller Gmail Adresser .
Och det är 4 .
⧪ Förklaring till formeln:
- I detta fall är kriterierna för COUNTIF-funktion är "*gmail*" Den räknar alla strängar med textvärdet "gmail" i den.
- Därför, COUNTIF(C4:C13, "*gmail*") räknar alla celler inom intervallet C4:C13 som innehåller texten "gmail" .
Läs mer: Hur du räknar specifika ord i en kolumn i Excel (2 metoder)
4. Använd COUNTIFS-funktionen för att räkna om cellen innehåller text som utesluter en viss text i Excel
I det föregående avsnittet försökte vi räkna antalet celler som innehåller textvärden med en viss text.
Vi kan också räkna antalet celler som innehåller textvärden med undantag för en viss text.
Du måste använda COUNTIFS-funktion i stället för COUNTIF funktion för detta.
Låt oss till exempel försöka räkna antalet celler som innehåller E-post Adresser, men inte Gmail Adresser.
Här ska vi räkna antalet celler som innehåller textvärden som utesluter strängen "Gmail" .
Välj en lämplig cell och skriv in formeln:
=COUNTIFS(C4:C13,"*",C4:C13,"*gmail*")
⧪ N otes:
- Här C4:C13 är intervallet för mina kontaktadresser.
- Och "gmail" är den specifika text som vi vill utesluta.
- Du sätter in dem enligt dina behov.
Titta, vi har återigen lyckats räkna antalet E-post adresser som inte är Gmail adresser.
Det är 3 .
⧪ Förklaring till formeln:
- COUNTIFS funktion räknar först alla celler som uppfyller det första kriteriet.
- Därefter räknas alla celler som uppfyller det andra kriteriet, och så vidare.
- Här räknas först alla celler inom intervallet C4:C13 som är textvärden ( "*" ).
- Sedan räknas alla celler som inte innehåller texten igen. "gmail" ( "*gmail*" ). Här "*gmail*" betecknar Inte lika med "*gmail*". " .
- Formeln räknar alltså alla celler som innehåller textvärden, men inte "gmail" .
5. Kör en VBA-kod för att utföra alla uppgifter samtidigt.
Hittills har vi utfört fyra uppgifter separat:
- Räkna antalet celler som innehåller text
- Räkna sedan antalet celler som inte innehåller text.
- Räkna antalet celler som innehåller text men som innehåller en viss text
- Räkna också antalet celler som innehåller text men som inte innehåller en viss text.
Nu ska vi utveckla en Makro med hjälp av en VBA-kod som kan utföra alla fyra uppgifterna samtidigt.
⧪ Steg 1:
➤ Tryck på ALT+F11 på tangentbordet. VBA fönster kommer att öppnas.
⧪ Steg 2:
➤ Gå till Infoga på fliken VBA fönster.
➤ Bland de tillgängliga alternativen väljer du Modul .
⧪ Steg 3:
➤ Ett nytt modulfönster som heter "Modul 1" kommer att öppnas.
➤ Följande ska införas VBA kod i modulen.
⧪ Kod:
Sub Count_If_Cell_Contains_Text() Dim Count As Integer Count = 0 Task = Int(InputBox("Ange 1 för att räkna celler som innehåller text: " + vbNewLine + "Ange 2 för att räkna celler som inte innehåller text: " + vbNewLine + "Ange 3 för att räkna texter som innehåller en viss text: " + vbNewLine + "Ange 4 för att räkna texter som inte innehåller en viss text: ")) If Task = 1 Then For i = 1 To Selection.Rows.CountIf VarType(Selection.Cells(i, 1)) = 8 Then Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 2 Then For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) 8 Then Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 3 Then Text = LCase(InputBox("Skriv in den text du vill inkludera: "))For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then For j = 1 To Len(Selection.Cells(i, 1)) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text))) = Text Then Count = Count + 1 Exit For End If Next j End If Next i MsgBox Count ElseIf Task = 4 ThenText = LCase(InputBox("Ange den text som du vill utesluta: ")) For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then Dim Exclude As Integer Exclude = 0 For j = 1 To Len(Selection.Cells(i, 1)) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text))) = Text Then Exclude = Exclude + 1Exit For End If Next j If Exclude = 0 Then Count = Count + 1 End If End If Next i MsgBox Count Else MsgBox "Ange ett heltal mellan 1 och 4." End If End Sub
⧪ Anteckningar:
- Denna kod ger en Makro kallas . Räkna_Om_Cell_Contains_Text .
⧪ Steg 4:
➤ Spara arbetsboken som Arbetsbok med Excel-makroaktivering .
⧪ Steg 5:
➤ Återgå till arbetsbladet.
➤ Välj intervallet av celler i din datamängd där du vill räkna texter.
⧪ Steg 6:
➤ Tryck sedan på ALT+F8 på tangentbordet.
➤ En dialogruta som heter Makro öppnas. Välj Räkna_Om_Cell_Contains_Text ( Namnet på Makro ) och klicka på Kör .
⧪ Steg 7:
➤ En Inmatningsruta visas och ber dig ange ett heltal mellan 1 och 4, var och en för en specifik uppgift som nämns där.
⧪ Steg 8:
➤ Om du vill räkna celler som innehåller textvärden anger du 1 Klicka sedan på OK .
➤ Du får en meddelanderuta som visar hur många celler som innehåller text ( 7 i det här exemplet).
⧪ Steg 9:
➤ Om du vill räkna celler som inte innehåller textvärden anger du 2 Klicka sedan på OK .
➤ Du får en meddelanderuta som visar hur många celler som inte innehåller text ( 3 i det här exemplet).
⧪ Steg 10:
➤ Om du vill räkna celler som innehåller textvärden, men som innehåller en viss text, anger du 3 Klicka sedan på OK .
➤ Du får en annan Inmatningsruta och ber dig att skriva in den specifika texten. Här har jag skrivit in "gmail" .
⧪ Obs: Detta är skiftlägesoberoende. Det betyder att om du anger "Gmail" , den kommer också att omfatta följande "gmail" .
➤ Klicka sedan på OK .
➤ Du får en meddelanderuta som visar hur många celler som innehåller text, men som innehåller den specifika texten ( "gmail" här, 4 ).
⧪ Steg 11:
➤ Om du vill räkna celler som innehåller textvärden, men inte en viss text, anger du 4 Klicka sedan på OK .
➤ Du får en annan Inmatningsruta och ber dig att skriva in den specifika texten. Här har jag återigen skrivit in "gmail" .
⧪ Obs: Detta är också skiftlägesoberoende. Det betyder att om du anger "Gmail" Det kommer också att fungera bra.
➤ Klicka sedan på OK .
➤ Du får en meddelanderuta som visar hur många celler som innehåller text, men inte den specifika texten ( "gmail" här, 3 ).
Läs mer: Excel VBA för att räkna celler som innehåller specifik text
Slutsats
Med dessa metoder kan du räkna om en cell innehåller text i Excel, samt inkludera eller utesluta en viss text. Känner du till någon annan metod? Eller har du några frågor? Fråga oss gärna.