Obsah
V tomto článku vám ukážem, ako môžete počítať, či bunka obsahuje text v programe Excel. Ukážem vám, ako spočítať počet buniek, ktoré obsahujú texty, ako aj počet buniek, ktoré obsahujú texty, ale obsahujú alebo neobsahujú určitú textovú hodnotu.
Stiahnite si cvičebnicu
Count If Cell Contains Text.xlsm5 jednoduchých prístupov na počítanie, či bunka obsahuje text v programe Excel
Tu máme súbor údajov s Názvy niektorých zákazníkov a ich Kontaktné adresy spoločnosti s názvom Sunflower Kindergarten.
Dnes je naším cieľom spočítať, koľko adries spomedzi kontaktných adries je E-mail Adresy.
To znamená, že budeme počítať adresu, ak je to text, nie číslo.
1. Použitie funkcie COUNTIF na počítanie, či bunka obsahuje text v programe Excel
Môžete použiť Funkcia COUNTIF programu Excel na počítanie počtu buniek, ktoré obsahujú texty.
Ak to chcete dosiahnuť, použite Symbol hviezdičky (*) ako kritériá z COUNTIF funkcia .
Preto sa vzorec na počítanie celkového počtu E-mail Adresy budú:
=COUNTIF(C4:C13, "*")
[ Tu C4:C13 je rozsah mojich kontaktných adries. Vložte ho podľa svojej potreby.]
Pozrite sa, spočítal celkový počet textových adries, teda, E-mail adresy.
Výsledkom je 7 .
Čítajte viac: Ako počítať bunky v programe Excel s rôznym textom (5 spôsobov)
2. Kombinácia funkcií ISTEXT a SUMPRODUCT na počítanie, či bunka obsahuje text v programe Excel
Môžete tiež použiť kombináciu Funkcia ISTEXT a Funkcia SUMPRODUCT na počítať bunky ktoré obsahujú textové hodnoty v programe Excel.
Počítanie počtu E-mail Adresy týmto spôsobom, vyberte ľubovoľnú bunku v súbore údajov a zadajte tento vzorec:
=SUMPRODUCT(--ISTEXT(C4:C13))
[ Tu C4:C13 je rozsah mojich kontaktných adries. Vložte ho podľa svojej potreby.]
Pozrite sa, opäť sme úspešne spočítali počet textových adries. A to je 7 .
⧪ Vysvetlenie vzorca:
- ISTEXT(C4:C13) kontroluje každú bunku rozsahu C4:C13 a vráti TRUE ak bunka obsahuje text. V opačnom prípade vráti FALSE .
- Teda ISTEXT(C4:C13) vráti pole logických hodnôt, TRUE a FALSE .
- -ISTEXT(C4:C13) konvertuje pole vrátené príkazom Funkcia ISTEXT na pole 1 a 0.
- Prevádza TRUE na stránku . 1 a FALSE na stránku . 0 .
- Nakoniec Funkcia SUMPRODUCT vracia súčet celkového rozsahu. To znamená, že vracia počet jednotiek v rozsahu.
- Vzorec teda vracia počet buniek, ktoré obsahujú textové hodnoty v danom rozsahu.
3. Použitie funkcie COUNTIF na spočítanie, či bunka obsahuje text vrátane konkrétneho textu v programe Excel
Doteraz sme počítali počet buniek, ktoré obsahujú textové adresy, t. j, E-mail Adresy.
Môžete tiež použiť Funkcia COUNTIF na spočítať počet buniek, ktoré obsahujú textové hodnoty vrátane konkrétneho textu.
Skúsme napríklad spočítať počet zákazníkov, ktorí používajú Gmail Adresy .
Aby sme to dosiahli, musíme spočítať počet buniek, ktoré obsahujú reťazec "gmail" v nich.
Jednoduché. Stačí zabaliť text "gmail" v rámci Symbol hviezdičky (*) v rámci Funkcia COUNTIF ako kritériá .
Vzorec bude nasledovný:
=COUNTIF(C4:C13,"*gmail*")
⧪ Poznámky:
- Tu C4:C13 je rozsah mojich kontaktných adries.
- A "gmail" je konkrétny text, ktorý hľadáme.
- Vložíte ich podľa svojich potrieb.
Pozrite sa, že úspešne spočítal celkový počet buniek, ktoré obsahujú Gmail Adresy .
A to je 4 .
⧪ Vysvetlenie vzorca:
- Tu sa uplatňujú kritériá Funkcia COUNTIF je . "*gmail*" . Počíta všetky reťazce s textovou hodnotou "gmail" v ňom.
- Preto, COUNTIF(C4:C13, "*gmail*") počíta všetky bunky v rozsahu C4:C13 ktoré obsahujú text "gmail" .
Prečítajte si viac: Ako počítať konkrétne slová v stĺpci v programe Excel (2 metódy)
4. Použitie funkcie COUNTIFS na počítanie, či bunka obsahuje text s výnimkou konkrétneho textu v programe Excel
V predchádzajúcej časti sme sa pokúsili spočítať počet buniek, ktoré obsahujú textové hodnoty vrátane konkrétneho textu.
Môžeme tiež spočítať počet buniek, ktoré obsahujú textové hodnoty s výnimkou určitého textu.
Musíte použiť Funkcia COUNTIFS namiesto COUNTIF funkcia na to.
Skúsme napríklad spočítať počet buniek, ktoré obsahujú E-mail Adresy, ale nie Gmail Adresy.
Tu musíme spočítať počet buniek, ktoré obsahujú textové hodnoty okrem reťazca "Gmail" .
Vyberte ľubovoľnú vhodnú bunku a zadajte tento vzorec:
=COUNTIFS(C4:C13,"*",C4:C13,"*gmail*")
⧪ N otes:
- Tu C4:C13 je rozsah mojich kontaktných adries.
- A "gmail" je konkrétny text, ktorý chceme vylúčiť.
- Vložíte ich podľa svojich potrieb.
Pozrite sa, opäť sme úspešne spočítali počet E-mail adresy, ktoré nie sú Gmail adresy.
Je to 3 .
⧪ Vysvetlenie vzorca:
- Stránka COUNTIFS funkcia najprv spočíta všetky bunky, ktoré spĺňajú prvé kritérium.
- Potom spočíta všetky bunky, ktoré spĺňajú druhé kritérium, a tak ďalej.
- Tu sa najprv spočítajú všetky bunky v rámci rozsahu C4:C13 ktoré sú textovými hodnotami ( "*" ).
- Potom opäť spočíta všetky bunky, ktoré neobsahujú text "gmail" ( "*gmail*" ). Tu "*gmail*" označuje Nie je rovné "*gmail* " .
- Vzorec teda počíta všetky bunky, ktoré obsahujú textové hodnoty, ale okrem "gmail" .
5. Spustite kód VBA na vykonanie všetkých úloh súčasne
Doteraz sme samostatne vykonali štyri úlohy:
- Spočítajte počet buniek, ktoré obsahujú texty
- Potom spočítajte počet buniek, ktoré neobsahujú texty
- Spočítajte počet buniek, ktoré obsahujú texty, ale obsahujú určitý text
- Spočítajte aj počet buniek, ktoré obsahujú texty, ale neobsahujú konkrétny text
Teraz vytvoríme Makro pomocou Kód VBA ktorý dokáže vykonávať všetky štyri úlohy súčasne.
⧪ Krok 1:
➤ Tlač ALT+F11 na klávesnici. VBA okno sa otvorí.
⧪ Krok 2:
➤ Prejdite na Vložte na karte VBA okno.
➤ Z dostupných možností vyberte Modul .
⧪ Krok 3:
➤ Nové okno modulu s názvom "Modul 1" sa otvorí.
➤ Vložte tento text VBA kód v module.
⧪ Kód:
Sub Count_If_Cell_Contains_Text() Dim Count As Integer Count = 0 Task = Int(InputBox("Zadajte 1 pre počet buniek, ktoré obsahujú texty: " + vbNewLine + "Zadajte 2 pre počet buniek, ktoré neobsahujú texty: " + vbNewLine + "Zadajte 3 pre počet textov, ktoré obsahujú určitý text: " + vbNewLine + "Zadajte 4 pre počet textov, ktoré neobsahujú určitý text: ")) If Task = 1 Then For i = 1 To Selection.Rows.CountAk VarType(Selection.Cells(i, 1)) = 8 Potom 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("Zadajte text, ktorý chcete zahrnúť: "))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("Zadajte text, ktorý chcete vylúčiť: ")) 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 "Please Enter an Integer between 1 to 4." End If End Sub
⧪ Poznámky:
- Tento kód vytvára Makro s názvom Count_If_Cell_Contains_Text .
⧪ Krok 4:
➤ Uložte zošit ako Pracovný zošit programu Excel s podporou makier .
⧪ Krok 5:
➤ Vráťte sa k pracovnému listu.
➤ Vyberte rozsah buniek v súbore údajov, v ktorom chcete počítať texty.
⧪ Krok 6:
➤ Potom stlačte ALT+F8 na klávesnici.
➤ Dialógové okno s názvom Makro sa otvorí. Vyberte Count_If_Cell_Contains_Text ( Názov Makro ) a kliknite na Spustiť .
⧪ Krok 7:
➤ . Vstupné pole zobrazí sa výzva na zadanie celého čísla od 1 do 4, pričom každé z nich je určené pre konkrétnu úlohu, ktorá je tam uvedená.
⧪ Krok 8:
➤ Ak chcete počítať bunky, ktoré obsahujú textové hodnoty, zadajte 1 Potom kliknite na tlačidlo OK .
➤ Zobrazí sa okno so správou o počte buniek, ktoré obsahujú texty ( 7 v tomto príklade).
⧪ Krok 9:
➤ Ak chcete počítať bunky, ktoré neobsahujú textové hodnoty, zadajte 2 Potom kliknite na tlačidlo OK .
➤ Zobrazí sa okno so správou o počte buniek, ktoré neobsahujú texty ( 3 v tomto príklade).
⧪ Krok 10:
➤ Ak chcete počítať bunky, ktoré obsahujú textové hodnoty, ale obsahujú konkrétny text, zadajte 3 Potom kliknite na tlačidlo OK .
➤ Dostanete ďalšie Vstupné pole žiada o zadanie konkrétneho textu. Tu som zadal "gmail" .
⧪ Poznámka: V tomto prípade sa nerozlišujú veľké a malé písmená. To znamená, že ak zadáte "Gmail" , bude zahŕňať aj "gmail" .
➤ Potom kliknite na OK .
➤ Zobrazí sa okno so správou o počte buniek, ktoré obsahujú texty, ale obsahujú konkrétny text ( "gmail" tu, 4 ).
⧪ Krok 11:
➤ Ak chcete spočítať bunky, ktoré obsahujú textové hodnoty, ale vylúčiť konkrétny text, zadajte 4 Potom kliknite na tlačidlo OK .
➤ Dostanete ďalšie Vstupné pole žiada o zadanie konkrétneho textu. Tu som opäť zadal "gmail" .
⧪ Poznámka: Aj pri tejto funkcii sa nerozlišujú veľké a malé písmená. To znamená, že ak zadáte "Gmail" , bude tiež fungovať dobre.
➤ Potom kliknite na OK .
➤ Zobrazí sa okno so správou o počte buniek, ktoré obsahujú texty, ale vylúčia konkrétny text ( "gmail" tu, 3 ).
Prečítajte si viac: Excel VBA na počítanie buniek obsahujúcich určitý text
Záver
Pomocou týchto metód môžete v programe Excel spočítať, či bunka obsahuje text, spolu s zahrnutím alebo vylúčením konkrétneho textu. Poznáte nejakú inú metódu? Alebo máte nejaké otázky? Neváhajte sa nás opýtať.