Turinys
Kaip "Excel" suskaičiuoti langelius su tekstu? Yra keletas skirtingų formulių, kaip suskaičiuoti langelius, kuriuose yra bet koks tekstas, tam tikri simboliai arba tik filtruoti langeliai. Visos formulės veikia "Excel 365", 2021, 2019, 2016, 2013 ir 2010 m.
Iš pradžių "Excel" skaičiuoklės buvo skirtos darbui su skaičiais. Tačiau šiais laikais jas dažnai naudojame ir tekstui saugoti bei tvarkyti. Norite sužinoti, kiek langelių su tekstu yra jūsų darbalapyje? "Microsoft Excel" turi keletą tam skirtų funkcijų. Kurią iš jų turėtumėte naudoti? Na, tai priklauso nuo situacijos. Šioje pamokoje rasite įvairių formulių ir kada geriausia naudoti kiekvieną formulę.naudojamas.
Kaip suskaičiuoti ląstelių su tekstu skaičių "Excel" programoje
Yra dvi pagrindinės formulės, pagal kurias galima nustatyti, kiek tam tikro intervalo langelių yra bet kokia teksto eilutė ar simbolis.
COUNTIF formulė visoms ląstelėms su tekstu suskaičiuoti
Kai "Excel" programoje norite rasti ląstelių su tekstu skaičių, COUNTIF funkcija su žvaigždute kriterijai argumentas yra geriausias ir paprasčiausias sprendimas:
COUNTIF( diapazonas , "*")Kadangi žvaigždutė (*) yra pakaitinis ženklas, atitinkantis bet kokią simbolių seką, formulė skaičiuoja visus langelius, kuriuose yra bet koks tekstas.
SUMPRODUCT formulė ląstelėms su bet kokiu tekstu skaičiuoti
Kitas būdas gauti ląstelių, kuriose yra teksto, skaičių - sujungti funkcijas SUMPRODUCT ir ISTEXT:
SUMPRODUCT(--ISTEXT( diapazonas ))Arba
SUMPRODUKT(ISTEXT( diapazonas )*1)Funkcija ISTEXT patikrina, ar kiekviename nurodyto intervalo ląstelėje yra teksto simbolių, ir grąžina TRUE (ląstelės su tekstu) ir FALSE (kitos ląstelės) reikšmių masyvą. Dvigubas vienaženklis (--) arba daugybos operacija TRUE ir FALSE atitinkamai paverčia 1 ir 0, taip sukurdama vienetų ir nulių masyvą. Funkcija SUMPRODUCT susumuoja visus masyvo elementus ir grąžina vienetų ir nulių skaičių.1, t. y. ląstelių, kuriose yra tekstas, skaičius.
Jei norite geriau suprasti, kaip veikia šios formulės, žiūrėkite, kurios reikšmės įskaitomos, o kurios ne:
Kas skaičiuojama | Kas neskaičiuojama |
|
|
Pavyzdžiui, norėdami suskaičiuoti langelius su tekstu diapazone A2:A10, išskyrus skaičius, datas, logines reikšmes, klaidas ir tuščius langelius, naudokite vieną iš šių formulių:
=COUNTIF(A2:A10, "*")
=SUMPRODUCT(--ISTEXT(A2:A10))
=SUMPRODUKTAS(ISTEXT(A2:A10)*1)
Toliau pateiktoje ekrano nuotraukoje matomas rezultatas:
Suskaičiuokite langelius su tekstu, išskyrus tarpus ir tuščias eilutes
Pirmiau aptartos formulės skaičiuoja visus langelius, kuriuose yra bet kokių teksto simbolių. Tačiau kai kuriose situacijose tai gali klaidinti, nes tam tikri langeliai gali tik atrodyti tušti, bet iš tikrųjų juose yra žmogaus akiai nematomų simbolių, pavyzdžiui, tuščių eilučių, apostrofų, tarpų, eilučių pertrūkių ir t. t. Todėl formulė skaičiuoja vizualiai tuščią langelį, todėl naudotojas turi išsitraukti savoplaukai bando išsiaiškinti, kodėl :)
Norėdami į skaičiavimą neįtraukti "klaidingai teigiamų" tuščių langelių, naudokite funkciją COUNTIFS, antrajame kriterijuje įrašydami simbolį "neįtraukta".
Pavyzdžiui, norėdami suskaičiuoti langelius su tekstu iš intervalo A2:A7, ignoruodami langelius, kuriuose yra tarpo simbolis , naudokite šią formulę:
=COUNTIFS(A2:A7, "*", A2:A7, " ")
Jei tiksliniame diapazone yra formulėmis valdomų duomenų, kai kurios formulės gali sukelti tuščia eilutė (""). Jei norite ignoruoti langelius su tuščios eilutės taip pat pakeiskite "*" į "*?*" kriterijai1 argumentas:
=COUNTIFS(A2:A9, "*?*", A2:A9, " ")
Klausimo ženklas, apsuptas žvaigždutėmis, rodo, kad ląstelėje turi būti bent vienas teksto simbolis. Kadangi tuščioje eilutėje nėra jokių simbolių, ji neatitinka kriterijų ir nėra skaičiuojama. Tuščios ląstelės, prasidedančios apostrofu ('), taip pat neskaičiuojamos.
Toliau pateiktoje ekrano kopijoje A7 langelyje yra tarpas, A8 langelyje - apostrofas, o A9 langelyje - tuščia eilutė (=""). Mūsų formulė neįtraukia visų šių langelių ir grąžina 3 teksto langelių skaičių:
Kaip suskaičiuoti langelius su tam tikru tekstu "Excel
Norėdami sužinoti ląstelių, kuriose yra tam tikras tekstas arba simbolis, skaičių, tiesiog pateikite šį tekstą į kriterijai COUNTIF funkcijos argumentas. Toliau pateiktuose pavyzdžiuose paaiškinami niuansai.
Pavyzdžio teksto atitikimas tiksliai , įrašykite visą tekstą kabutėse:
COUNTIF( diapazonas , " tekstas ")Skaičiuoti ląsteles su dalinis rungtynės , tekstą įterpkite tarp dviejų žvaigždučių, kurios reiškia bet kokį ženklų skaičių prieš ir po teksto:
COUNTIF( diapazonas , "* tekstas *")Pavyzdžiui, norėdami sužinoti, kiek A2:A7 intervalo ląstelių yra būtent žodis "bananai", naudokite šią formulę:
=COUNTIF(A2:A7, "bananai")
Jei norite suskaičiuoti visus langelius, kurių turinyje bet kurioje pozicijoje yra žodis "bananai", naudokite šį langelį:
=COUNTIF(A2:A7, "*bananai*")
Kad formulę būtų patogiau naudoti, kriterijus galite įrašyti į iš anksto nustatytą ląstelę, pavyzdžiui, D2, o antrajame argumente pateikti ląstelės nuorodą:
=COUNTIF(A2:A7, D2)
Priklausomai nuo D2 įvesties, formulė gali visiškai arba iš dalies atitikti pavyzdžio tekstą:
- Jei norite, kad atitiktis būtų visiška, įveskite visą žodį ar frazę, kaip ji pateikiama šaltinio lentelėje, pvz. Bananai .
- Norėdami gauti dalinę atitiktį, įveskite pavyzdžio tekstą, apsuptą pakaitinių simbolių, pvz. *Bananas* .
Kadangi formulė yra Atskirų raidžių , galite nesirūpinti raidžių dydžiu, t. y. *bananai* taip pat.
Arba, norint suskaičiuoti ląsteles su dalinis atitikimas , sugretinkite ląstelės nuorodą ir pakaitinius simbolius, pvz:
=COUNTIF(A2:A7, "*"&D2&"*")
Daugiau informacijos rasite skyriuje Kaip "Excel" skaičiuoti langelius su konkrečiu tekstu.
Kaip "Excel" skaičiuoti filtruotas ląsteles su tekstu
Kai naudojate "Excel" filtrą, norėdami rodyti tik tam tikru momentu aktualius duomenis, kartais gali tekti skaičiuoti matomos ląstelės su tekstu . Deja, nėra vieno spustelėjimo sprendimo šiai užduočiai atlikti, tačiau toliau pateiktame pavyzdyje galėsite patogiai atlikti šiuos veiksmus.
Tarkime, turite lentelę, kaip parodyta toliau pateiktame paveikslėlyje. Kai kurie įrašai buvo ištraukti iš didesnės duomenų bazės naudojant formules, o pakeliui pasitaikė įvairių klaidų. Norite rasti bendrą elementų skaičių stulpelyje A. Kai matomos visos eilutės, puikiai veikia COUNTIF formulė, kurią naudojome ląstelėms su tekstu skaičiuoti:
=COUNTIF(A2:A10, "*")
Dabar susiaurinkite sąrašą pagal tam tikrus kriterijus, tarkime, išfiltruokite elementus, kurių kiekis didesnis nei 10. Klausimas - kiek elementų liko?
Skaičiuoti filtruotos ląstelės su tekstu štai ką reikia daryti:
- Šaltinio lentelėje padarykite taip, kad visos eilutės būtų matomos. Tam išvalykite visus filtrus ir panaikinkite paslėptų eilučių slėpimą.
- Pridėkite pagalbinį stulpelį su formule SUBTOTAL, kuriame nurodoma, ar eilutė filtruojama, ar ne.
Tvarkyti Filtruotos ląstelės , naudokite 3 function_num argumentas:
=SUBTOTAL(3, A2)
Nustatyti visi paslėpti langeliai , išfiltruoti ir paslėpti rankiniu būdu, įdėti 103 į function_num :
=SUBTOTAL(103, A2)
Šiame pavyzdyje norime skaičiuoti tik matomos ląstelės su tekstu nepriklausomai nuo to, kaip buvo paslėptos kitos ląstelės, todėl antrąją formulę įrašome į A2 ir nukopijuojame į A10.
Matomuose langeliuose formulė grąžina 1. Kai tik išfiltruosite arba rankiniu būdu paslėpsite kai kurias eilutes, formulė grąžins 0. (Šių nulių nematysite, nes jie grąžinami paslėptoms eilutėms. Kad įsitikintumėte, jog formulė veikia taip, tiesiog nukopijuokite paslėpto langelio turinį su Tarpinės sumos formule į bet kurį matomą langelį, tarkime, =D2, jei 2 eilutė yra paslėpta.)
- Naudokite COUNTIFS funkciją su dviem skirtingais kriterijų_diapazonas / kriterijai poromis skaičiuoti matomus langelius su tekstu:
- Kriterijus1 - ieškoma langelių su bet kokiu tekstu ("*") diapazone A2:A10.
- Kriterijus2 - ieškoma 1 intervale D2:D10, kad būtų aptiktos matomos ląstelės.
=COUNTIFS(A2:A10, "*", D2:D10, 1)
Dabar galite filtruoti duomenis taip, kaip norite, ir formulė parodys, kiek A stulpelio langelių yra teksto (mūsų atveju - 3):
Jei nenorėtumėte į darbalapį įterpti papildomo stulpelio, tuomet užduočiai atlikti reikės ilgesnės formulės. Tiesiog pasirinkite tą, kuri jums labiau patinka:
=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))))
Taip pat veikia ir daugybos operatorius:
=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)))
Kurią formulę naudoti, priklauso nuo jūsų asmeninių pageidavimų - rezultatas bet kuriuo atveju bus toks pat:
Kaip veikia šios formulės
Pirmoje formulėje naudojama funkcija INDIRECT, kad į SUBTOTAL būtų "įvestos visų nurodyto intervalo langelių individualios nuorodos. Antroje formulėje tam pačiam tikslui naudojamas funkcijų OFFSET, ROW ir MIN derinys.
Funkcija SUBTOTAL grąžina 1 ir 0 masyvą, kuriame vienetai reiškia matomus langelius, o nuliai - paslėptus langelius (pvz., pirmiau pateiktą pagalbinį stulpelį).
Funkcija ISTEXT patikrina kiekvieną A2:A10 langelį ir grąžina TRUE, jei ląstelėje yra tekstas, ir FALSE, jei ne. Dvigubas vienaženklis operatorius (--) verčia TRUE ir FALSE reikšmes į 1 ir 0. Šiuo metu formulė atrodo taip:
=SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})
Funkcija SUMPRODUCT pirmiausia padaugina abiejų masyvų elementus, esančius tose pačiose padėtyse, o tada gautą masyvą susumuoja.
Kadangi padauginus iš nulio gaunamas nulis, galutiniame masyve 1 yra tik ląstelės, abiejuose masyvuose žymimos 1.
=SUMPRODUCT({0;1;1;0;0;1;0;0;0})
Pirmiau pateiktame masyve esančių 1 skaičius yra matomų langelių, kuriuose yra tekstas, skaičius.
Štai kaip skaičiuoti langelius su tekstu "Excel" programoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!
Galimi atsisiuntimai
"Excel" formulės ląstelėms su tekstu skaičiuoti