INHOUDSOPGAWE
Hoe tel ek selle met teks in Excel? Daar is 'n paar verskillende formules om selle te tel wat enige teks, spesifieke karakters of slegs gefiltreerde selle bevat. Al die formules werk in Excel 365, 2021, 2019, 2016, 2013 en 2010.
Aanvanklik is Excel-sigblaaie ontwerp om met getalle te werk. Maar deesdae gebruik ons dit ook dikwels om teks te stoor en te manipuleer. Wil jy weet hoeveel selle met teks daar in jou werkblad is? Microsoft Excel het verskeie funksies hiervoor. Watter een moet jy gebruik? Wel, dit hang af van die situasie. In hierdie tutoriaal sal jy 'n verskeidenheid formules vind en wanneer elke formule die beste is om te gebruik.
Hoe om die aantal selle met teks in Excel te tel
Daar is twee basiese formules om te vind hoeveel selle in 'n gegewe reeks enige teksstring of karakter bevat.
COUNTIF formule om alle selle met teks te tel
Wanneer jy die aantal selle wil vind met teks in Excel, die COUNTIF-funksie met 'n asterisk in die kriteria -argument is die beste en maklikste oplossing:
COUNTIF( reeks, "*")Omdat die asterisk (*) is 'n jokerteken wat ooreenstem met enige volgorde van karakters, die formule tel alle selle wat enige teks bevat.
SUMPRODUCT formule om selle met enige teks te tel
Nog 'n manier om die aantal selle wat teks bevat, is om die SUMPRODUCT en ISTEXT funksies te kombineer:
SUMPRODUCT(--ISTEXT( reeks))Of
SUMPRODUCT(ISTEXT( reeks)*1)Die ISTEXT-funksie kontroleer of elke sel in die gespesifiseerde reeks bevat enige tekskarakters en gee 'n reeks TRUE (selle met teks) en ONWAAR (ander selle) waardes terug. Die dubbel unêre (--) of die vermenigvuldigingsbewerking dwing WAAR en ONWAAR in onderskeidelik 1 en 0, wat 'n skikking van ene en nulle produseer. Die SUMPRODUCT-funksie som al die elemente van die skikking op en gee die aantal 1'e terug, wat die aantal selle is wat teks bevat.
Om meer begrip te kry van hoe hierdie formules werk, kyk asseblief watter waardes getel word en wat nie is nie:
Wat word getel | Wat word nie getel nie |
|
|
Om byvoorbeeld selle met teks in die reeks A2:A10 te tel, met uitsluiting van getalle, datums, logiese waardes, foute en leë selle, gebruik een van hierdie formules:
=COUNTIF(A2:A10, "*")
=SUMPRODUCT(--ISTEXT(A2:A10))
=SUMPRODUCT(ISTEXT(A2:A10)*1)
Die skermkiekie hieronder wys die resultaat:
Tel selle met teks uitgesluit spasies en leë stringe
Die formules hierbo bespreek telalle selle wat enige tekskarakters in het. In sommige situasies kan dit egter verwarrend wees omdat sekere selle dalk net leeg lyk, maar in werklikheid karakters bevat wat onsigbaar is vir die menslike oog soos leë snare, apostrofe, spasies, lynbreuke, ens. sel word getel deur die formule wat veroorsaak dat 'n gebruiker hul hare uittrek en probeer uitvind hoekom :)
Om "vals positiewe" leë selle van die telling uit te sluit, gebruik die COUNTIFS-funksie met die "uitgesluit" karakter in die tweede kriterium.
Om byvoorbeeld selle met teks in die reeks A2:A7 te tel wat dié wat 'n spasiekarakter bevat, ignoreer, gebruik hierdie formule:
=COUNTIFS(A2:A7,"*", A2:A7, " ")
As jou teikenreeks enige formulegedrewe data bevat, kan sommige van die formules 'n leë string ("") tot gevolg hê. Om selle met leë stringe ook te ignoreer, vervang "*" met "*?*" in die criteria1 -argument:
=COUNTIFS(A2:A9,"*?*", A2:A9, " ")
'n Vraag merk omring deur sterretjies dui aan dat daar ten minste een tekskarakter in die sel moet wees. Aangesien 'n leë string geen karakters in het nie, voldoen dit nie aan die kriteria nie en word dit nie getel nie. Leë selle wat met 'n apostrof (') begin, word ook nie getel nie.
In die skermkiekie hieronder is daar 'n spasie in A7, 'n apostrof in A8 en 'n leë string (="") in A9. Ons formule laat al daardie selle uit en gee 'n teksselletelling van terug3:
Hoe om selle met sekere teks in Excel te tel
Om die aantal selle te kry wat sekere teks of karakter bevat, verskaf jy eenvoudig daardie teks in die kriteria -argument van die COUNTIF-funksie. Die onderstaande voorbeelde verduidelik die nuanses.
Om die voorbeeldteks presies te pas, voer die volledige teks tussen aanhalingstekens in:
COUNTIF( reeks, " teks")Om selle met gedeeltelike passing te tel, plaas die teks tussen twee sterretjies, wat enige aantal karakters voor en na die teks verteenwoordig:
COUNTIF( reeks, "* teks*")Om byvoorbeeld te vind hoeveel selle in die reeks A2:A7 presies die woord "piesangs" bevat, gebruik hierdie formule:
=COUNTIF(A2:A7, "bananas")
Om alle selle wat "piesangs" bevat as deel van hul inhoud in enige posisie te tel, gebruik hierdie een:
=COUNTIF(A2:A7, "*bananas*")
Om die formule meer gebruikersvriendelik te maak, kan jy die kriteria in 'n voorafbepaalde sel plaas, sê D2, en die selverwysing in die tweede argument plaas:
=COUNTIF(A2:A7, D2)
Afhangende van die invoer in D2 kan die formule die voorbeeldteks heeltemal of gedeeltelik pas:
- Vir volledige pasmaat, tik die hele woord of frase soos dit in die brontabel voorkom, bv. Piesangs .
- Vir gedeeltelike passing, tik die voorbeeldteks omring deur die jokertekens, soos *Piesangs* .
As die formule is hoofletter-onsensitief , jy mag jou nie aan die letterkas steur nie,wat beteken dat *piesangs* ook sal doen.
Alternatiewelik, om selle met gedeeltelike passing te tel, koppel die selverwysing aaneen en jokertekenkarakters soos:
=COUNTIF(A2:A7, "*"&D2&"*")
Vir meer inligting, sien asseblief Hoe om selle met spesifieke teks in Excel te tel.
Hoe om gefiltreerde selle met teks in Excel te tel
Wanneer jy Excel-filter gebruik om slegs die data wat op 'n gegewe oomblik relevant is, te vertoon, moet jy soms sigbare selle met teks tel. Ongelukkig is daar geen een-klik-oplossing vir hierdie taak nie, maar die onderstaande voorbeeld sal jou gemaklik deur die stappe lei.
Gestel, jy het 'n tabel soos in die prent hieronder. Sommige inskrywings is uit 'n groter databasis getrek deur formules te gebruik, en verskeie foute het langs die pad voorgekom. Jy soek die totale aantal items in kolom A. Met al die rye sigbaar, werk die COUNTIF-formule wat ons gebruik het vir die tel van selle met teks 'n lekkerte:
=COUNTIF(A2:A10, "*")
En nou, jy verklein die lys deur 'n paar kriteria, sê filtreer die items uit met 'n hoeveelheid groter as 10. Die vraag is – hoeveel items het oorgebly?
Om te tel gefiltreerde selle met teks , dit is wat jy moet doen:
- Maak al die rye in jou brontabel sigbaar. Maak hiervoor alle filters skoon en versteek versteekte rye.
- Voeg 'n helperkolom by met die SUBTOTAAL-formule wat aandui of 'n ry isgefiltreer of nie.
Om gefiltreerde selle te hanteer, gebruik 3 vir die funksienommer -argument:
=SUBTOTAL(3, A2)
Om almal te identifiseer versteekte selle , met die hand uitgefiltreer en versteek, plaas 103 in funksienommer :
=SUBTOTAL(103, A2)
In hierdie voorbeeld wil ons net sigbare selle tel met teks ongeag hoe ander selle versteek is, dus voer ons die tweede formule in A2 in en kopieer dit af na A10.
Vir sigbare selle gee die formule 1 terug. Sodra jy uitfiltreer of versteek sommige rye handmatig, sal die formule 0 vir hulle teruggee. (Jy sal nie daardie nulle sien nie, want hulle word teruggestuur vir versteekte rye. Om seker te maak dit werk so, kopieer net die inhoud van 'n versteekte sel met die Subtotaal-formule na enige sigbare sê, sê =D2, met die veronderstelling dat ry 2 versteek is .)
- Gebruik die COUNTIFS-funksie met twee verskillende kriteriareeks / kriteria -pare om sigbare selle met teks te tel:
- Kriteria1 - soek na selle met enige teks ("*") in die reeks A2:A10.
- Kriteria2 - soek na 1 in die reeks D2:D10 om sigbare selle op te spoor.
=COUNTIFS(A2:A10, "*", D2:D10, 1)
Nou kan jy die data filtreer soos jy wil, en die formule sal jou vertel hoeveel gefiltreerde selle in kolom A teks bevat (3 in ons geval):
As jy liewer nie 'n bykomende kolom in jou werkblad wil invoeg nie, sal jy 'n langer formule nodig hê om die taak uit te voer. Kies net die een wat jyhou van beter:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10)))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), -- (ISTEXT(A2:A10)))
Die vermenigvuldigingsoperateur sal ook werk:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)-MIN(ROW(A2:A10)),,1)) * (ISTEXT(A2:A10)))
Watter formule om te gebruik is 'n kwessie van jou persoonlike voorkeur - die resultaat sal in elk geval dieselfde wees:
Hoe hierdie formules werk
Die eerste formule gebruik die INDIREKTE funksie om die individuele verwysings van alle selle in die gespesifiseerde reeks na SUBTOTAAL te "voer". Die tweede formule gebruik 'n kombinasie van die OFFSET-, ROW- en MIN-funksies vir dieselfde doel.
Die SUBTOTAAL-funksie gee 'n skikking van 1'e en 0'e terug waar ene sigbare selle verteenwoordig en nulle pas by versteekte selle (soos die helperkolom) hierbo).
Die ISTEXT-funksie kontroleer elke sel in A2:A10 en gee WAAR as 'n sel teks bevat, anders ONWAAR. Die dubbel unêre operateur (--) dwing die WAAR en ONWAAR waardes in 1'e en 0'e. Op hierdie punt lyk die formule soos volg:
=SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})
Die SUMPRODUCT-funksie vermenigvuldig eers die elemente van beide skikkings in dieselfde posisies en som dan die resulterende skikking op.
Aangesien vermenigvuldiging met nul nul gee, het slegs die selle wat deur 1 in beide skikkings verteenwoordig word, 1 in die finale skikking.
=SUMPRODUCT({0;1;1;0;0;1;0;0;0})
En die aantal 1'e in die skikking hierbo is die aantal sigbare selle wat teks bevat.
Dit is hoe om selle met teks in Excel te tel. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!
Beskikbaardownloads
Excel-formules om selle met teks te tel