Cuprins
Tutorialul arată cum să numărați numărul de celule cu un anumit text în Excel. Veți găsi exemple de formule pentru potrivire exactă, potrivire parțială și celule filtrate.
Săptămâna trecută am văzut cum să numărăm celulele cu text în Excel, adică toate celulele cu orice text. Atunci când analizați bucăți mari de informații, este posibil să doriți să știți și câte celule conțin un anumit text. Acest tutorial explică cum să faceți acest lucru într-un mod simplu.
Cum să numărați celulele cu text specific în Excel
Microsoft Excel dispune de o funcție specială pentru a număra condiționat celulele, funcția COUNTIF. Tot ce trebuie să faceți este să furnizați șirul de text țintă în fereastra criterii argument.
Iată o formulă generică Excel pentru a număra numărul de celule care conțin un anumit text:
COUNTIF(range, " text ")Exemplul următor o arată în acțiune. Să presupunem că aveți o listă de ID-uri de elemente în A2:A10 și doriți să numărați numărul de celule cu un anumit ID, să zicem "AA-01". Introduceți acest șir de caractere în al doilea argument și veți obține această formulă simplă:
=COUNTIF(A2:A10, "AA-01")
Pentru a le permite utilizatorilor dvs. să numere celulele cu un text dat fără a fi nevoie să modifice formula, introduceți textul într-o celulă predefinită, de exemplu D1, și furnizați referința celulei:
=COUNTIF(A2:A10, D1)
Notă. Funcția COUNTIF din Excel este nu ține cont de majuscule și minuscule Pentru a trata în mod diferit caracterele majuscule și minuscule, utilizați această formulă sensibilă la majuscule și minuscule.
Cum se numără celulele cu un anumit text (potrivire parțială)
Formula discutată în exemplul anterior se potrivește exact cu criteriile. Dacă există cel puțin un caracter diferit într-o celulă, de exemplu un spațiu în plus la sfârșit, nu va fi o potrivire exactă și o astfel de celulă nu va fi luată în considerare.
Pentru a găsi numărul de celule care conțin un anumit text ca parte a conținutului lor, utilizați caractere wildcard în criteriile dvs., și anume un asterisc (*) care reprezintă orice secvență sau caractere. În funcție de obiectivul dvs., o formulă poate arăta ca una dintre următoarele.
Numărați celulele care conțin un text specific la chiar la început :
COUNTIF(range, " text *")Numără celulele care conțin un anumit text în orice poziție :
COUNTIF(range, "* text *")De exemplu, pentru a afla câte celule din intervalul A2:A10 încep cu "AA", utilizați această formulă:
=COUNTIF(A2:A10, "AA*")
Pentru a obține numărul de celule care conțin "AA" în orice poziție, folosiți acest lucru:
=COUNTIF(A2:A10, "*AA*")
Pentru a face formulele mai dinamice, înlocuiți șirurile de caractere codificate cu referințe de celule.
Pentru a număra celulele care încep cu un anumit text:
=COUNTIF(A2:A10, D1& "*")
Pentru a număra celulele cu un anumit text oriunde în ele:
=COUNTIF(A2:A10, "*"&D1&"*")
Captura de ecran de mai jos arată rezultatele:
Numără celulele care conțin un anumit text (sensibil la majuscule și minuscule)
În situația în care trebuie să diferențiați caracterele majuscule și minuscule, funcția COUNTIF nu va funcționa. În funcție de faptul că sunteți în căutarea unei corespondențe exacte sau parțiale, va trebui să construiți o formulă diferită.
Formulă sensibilă la majuscule și minuscule pentru a număra celulele cu un text specific (potrivire exactă)
Pentru a număra numărul de celule cu un anumit text care recunosc cazul textului, vom folosi o combinație a funcțiilor SUMPRODUCT și EXACT:
SUMPRODUCT(--EXACT(" text ", gama ))Cum funcționează această formulă:
- EXACT compară fiecare celulă din interval cu textul de probă și returnează o matrice de valori TRUE și FALSE, TRUE reprezentând potrivirile exacte și FALSE toate celelalte celule. O cratimă dublă (numită dublu unitar ) transformă TRUE și FALSE în 1 și 0.
- SUMPRODUCT însumează toate elementele tabloului. Această sumă este numărul de 1, care reprezintă numărul de rezultate.
De exemplu, pentru a obține numărul de celule din A2:A10 care conțin textul din D1 și care tratează majusculele și minusculele ca fiind caractere diferite, utilizați această formulă:
=SUMPRODUCT(--EXACT(D1, A2:A10))
Formulă sensibilă la majuscule și minuscule pentru a număra celulele cu un text specific (potrivire parțială)
Pentru a construi o formulă care să țină cont de majuscule și minuscule și care poate găsi un șir de text de interes oriunde într-o celulă, folosim 3 funcții diferite:
SUMPRODUCT(--(ISNUMBER(FIND(" text ", gama ))))Cum funcționează această formulă:
- Funcția FIND, care ține cont de majuscule și minuscule, caută textul țintă în fiecare celulă a intervalului. Dacă reușește, funcția returnează poziția primului caracter, în caz contrar, eroarea #VALUE! De dragul clarității, nu trebuie să știm poziția exactă, orice număr (spre deosebire de eroare) înseamnă că celula conține textul țintă.
- Funcția ISNUMBER gestionează matricea de numere și erori returnate de FIND și convertește numerele în TRUE și orice altceva în FALSE. Un dublu unar (--) transformă valorile logice în unu și zero.
- SUMPRODUCT însumează matricea de 1 și 0 și returnează numărul de celule care conțin textul specificat ca parte a conținutului lor.
Pentru a testa formula pe date din viața reală, să aflăm câte celule din A2:A10 conțin subșirul introdus în D1:
=SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))
Iar aceasta returnează un număr de 3 (celulele A2, A3 și A6):
Cum se numără celulele filtrate cu text specific
Pentru a număra elemente vizibile într-o listă filtrată, va trebui să folosiți o combinație de 4 sau mai multe funcții, în funcție de faptul că doriți o potrivire exactă sau parțială. Pentru ca exemplele să fie mai ușor de urmărit, să aruncăm mai întâi o privire rapidă asupra datelor sursă.
Presupunând că aveți un tabel cu ID-uri de comandă în coloana B și Cantitate în coloana C, așa cum se arată în imaginea de mai jos. Deocamdată, vă interesează doar cantitățile mai mari de 1 și ați filtrat tabelul în consecință. Întrebarea este - cum se numără celulele filtrate cu un anumit id?
Formulă pentru a număra celulele filtrate cu un text specific (potrivire exactă)
Pentru a număra celulele filtrate al căror conținut se potrivește exact cu șirul de text de probă, utilizați una dintre următoarele formule:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10)))), --(B2:B10=F1))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1)))
Unde F1 este textul de probă și B2:B10 sunt celulele care trebuie numărate.
Cum funcționează aceste formule:
În centrul ambelor formule, efectuați 2 verificări:
- Identificați rândurile vizibile și cele ascunse. Pentru aceasta, utilizați funcția SUBTOTAL cu ajutorul funcției număr_funcție setat la 103. Pentru a furniza toate referințele de celule individuale către SUBTOTAL, utilizați fie INDIRECT (în prima formulă), fie o combinație de OFFSET, ROW și MIN (în a doua formulă). Deoarece scopul nostru este de a localiza rândurile vizibile și ascunse, nu contează cu adevărat la ce coloană se face referire (A în exemplul nostru). Rezultatul acestei operații este un tablou de 1 și 0, în care unu reprezintă rândurile vizibilerânduri și zerouri - rânduri ascunse.
- Găsește celulele care conțin un text dat. Pentru aceasta, comparați textul de probă (F1) cu intervalul de celule (B2:B10). Rezultatul acestei operații este o matrice de valori TRUE și FALSE, care sunt convertite în 1 și 0 cu ajutorul operatorului dublu unar.
În cele din urmă, funcția SUMPRODUCT înmulțește elementele din cele două tablouri aflate în aceleași poziții și apoi însumează tabloul rezultat. Deoarece înmulțirea cu zero dă zero, numai celulele care au 1 în ambele tablouri au 1 în tabloul final. Suma de 1 este numărul de celule filtrate care conțin textul specificat.
Formulă pentru a număra celulele filtrate cu un anumit text (potrivire parțială)
Pentru a număra celulele filtrate care conțin un anumit text ca parte a conținutului celulei, modificați formulele de mai sus în felul următor. În loc să comparați textul eșantionat cu intervalul de celule, căutați textul țintă utilizând ISNUMBER și FIND, așa cum s-a explicat într-unul dintre exemplele anterioare:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))
Ca rezultat, formulele vor localiza un anumit șir de text în orice poziție dintr-o celulă:
Notă. Funcția SUBTOTAL cu 103 din număr_funcție identifică toate celulele ascunse, filtrate și ascunse manual. Ca urmare, formulele de mai sus numără doar celulele celule vizibile indiferent de modul în care au fost ascunse celulele invizibile. Pentru a exclude numai celulele filtrate, dar a le include pe cele ascunse manual, utilizați 3 pentru număr_funcție .
Iată cum se numără numărul de celule cu un anumit text în Excel. Vă mulțumesc pentru lectură și sper să ne revedem pe blog săptămâna viitoare!
Descărcări disponibile
Formule Excel pentru a număra celulele cu un anumit text