Формули на Excel за броене на клетки с текст: всякакви, специфични или филтрирани клетки

  • Споделя Това
Michael Brown

Как да преброя клетките с текст в Excel? Има няколко различни формули за преброяване на клетки, които съдържат всякакъв текст, определени символи или само филтрирани клетки. Всички формули работят в Excel 365, 2021, 2019, 2016, 2013 и 2010.

Първоначално електронните таблици на Excel са предназначени за работа с числа. Но в наши дни често ги използваме и за съхраняване и манипулиране на текст. Искате ли да разберете колко клетки с текст има в работния ви лист? Microsoft Excel има няколко функции за това. Коя от тях трябва да използвате? Е, това зависи от ситуацията. В този урок ще намерите различни формули и кога е най-добре да се използва всяка формула.използвани.

    Как да преброите броя на клетките с текст в Excel

    Съществуват две основни формули за определяне на броя на клетките в даден диапазон, които съдържат даден текстов низ или символ.

    Формула COUNTIF за преброяване на всички клетки с текст

    Когато искате да намерите броя на клетките с текст в Excel, функцията COUNTIF със звездичка в полето критерии аргументът е най-доброто и най-лесно решение:

    COUNTIF( обхват , "*")

    Тъй като звездичката (*) е заместващ символ, който съвпада с всяка последователност от символи, формулата отчита всички клетки, които съдържат какъвто и да е текст.

    Формула SUMPRODUCT за преброяване на клетките с произволен текст

    Друг начин за получаване на броя на клетките, съдържащи текст, е да се комбинират функциите SUMPRODUCT и ISTEXT:

    SUMPRODUCT(--ISTEXT( обхват ))

    Или

    SUMPRODUCT(ISTEXT( обхват )*1)

    Функцията ISTEXT проверява дали всяка клетка в зададения диапазон съдържа текстови символи и връща масив от стойности TRUE (клетки с текст) и FALSE (други клетки). Двойната едночленна операция (--) или операцията за умножение превръща TRUE и FALSE съответно в 1 и 0, като създава масив от единици и нули. Функцията SUMPRODUCT сумира всички елементи на масива и връща броя на единиците.1, което е броят на клетките, които съдържат текст.

    За да разберете по-добре как работят тези формули, вижте кои стойности се отчитат и кои не:

    Какво се отчита Какво не се отчита
    • Клетки с произволен текст
    • Специални символи
    • Числа, форматирани като текст
    • Визуално празни клетки, които съдържат празен низ (""), апостроф ('), интервал или непечатни символи
    • Числа
    • Дати
    • Логически стойности на TRUE и FALSE
    • Грешки
    • Празни клетки

    Например, за да преброите клетките с текст в диапазона A2:A10, с изключение на числата, датите, логическите стойности, грешките и празните клетки, използвайте една от тези формули:

    =COUNTIF(A2:A10, "*")

    =SUMPRODUCT(--ISTEXT(A2:A10))

    =SUMPRODUCT(ISTEXT(A2:A10)*1)

    Резултатът е показан на снимката на екрана по-долу:

    Преброяване на клетките с текст, с изключение на интервалите и празните низове

    Формулите, разгледани по-горе, отчитат всички клетки, в които има някакви текстови символи. В някои ситуации обаче това може да бъде объркващо, тъй като някои клетки могат само да изглеждат празни, но всъщност съдържат невидими за човешкото око символи, като празни низове, апострофи, интервали, прекъсвания на редове и т.н. В резултат на това визуално празна клетка се отчита от формулата, което кара потребителя да извадикосата се опитва да разбере защо :)

    За да изключите "фалшиво положителните" празни клетки от преброяването, използвайте функцията COUNTIFS със символа "изключено" във втория критерий.

    Например, за да преброите клетките с текст в диапазона A2:A7, като игнорирате тези, които съдържат символът интервал , използвайте тази формула:

    =COUNTIFS(A2:A7, "*", A2:A7, " ")

    Ако целевият диапазон съдържа данни, управлявани с формули, някои от формулите могат да доведат до празен низ (""). За да игнорирате клетките с празни низове също така, заменете "*" с "*?*" в критерии1 аргумент:

    =COUNTIFS(A2:A9, "*?*", A2:A9, " ")

    Въпросителният знак, заобиколен от звездички, показва, че в клетката трябва да има поне един текстов символ. Тъй като празният низ няма символи, той не отговаря на критериите и не се брои. Празните клетки, които започват с апостроф ('), също не се броят.

    На скрийншота по-долу има интервал в А7, апостроф в А8 и празен низ (="") в А9. Нашата формула пропуска всички тези клетки и връща брой текстови клетки 3:

    Как да преброите клетките с определен текст в Excel

    За да получите броя на клетките, които съдържат определен текст или символ, просто въведете този текст в полето критерии в аргумента на функцията COUNTIF. Примерите по-долу обясняват нюансите.

    Съответствие с текста на примера точно , въведете пълния текст, ограден с кавички:

    COUNTIF( обхват , " текст ")

    Преброяване на клетките с частичен мач , поставете текста между две звездички, които представляват произволен брой символи преди и след текста:

    COUNTIF( обхват , "* текст *")

    Например, за да откриете колко клетки в диапазона A2:A7 съдържат точно думата "банани", използвайте тази формула:

    =COUNTIF(A2:A7, "банани")

    За да преброите всички клетки, които съдържат "банани" като част от съдържанието си в която и да е позиция, използвайте тази:

    =COUNTIF(A2:A7, "*банани*")

    За да направите формулата по-удобна за използване, можете да поставите критериите в предварително определена клетка, например D2, и да поставите препратката към клетката във втория аргумент:

    =COUNTIF(A2:A7, D2)

    В зависимост от въведените данни в D2 формулата може да съвпада напълно или частично с примерния текст:

    • За пълно съвпадение въведете цялата дума или фраза така, както се появява в таблицата на източника, напр. Банани .
    • За частично съвпадение въведете текста на извадката, заобиколен от заместващи символи, като *Банани* .

    Тъй като формулата е без значение на големи и малки букви , може да не се притеснявате за големината на буквите, което означава, че *банани* също ще се справи.

    Алтернативно, за да преброите клетките с частично съвпадение , конкатенирайте препратката към клетката и заместващите символи като:

    =COUNTIF(A2:A7, "*"&D2&"*")

    За повече информация вижте Как да преброим клетки с определен текст в Excel.

    Как да преброите филтрирани клетки с текст в Excel

    Когато използвате филтъра на Excel, за да показвате само данните, които са актуални в даден момент, понякога може да се наложи да броите видими клетки с текст . За съжаление няма решение за тази задача с едно кликване, но примерът по-долу ще ви помогне да преминете през стъпките.

    Да предположим, че имате таблица, както е показано на изображението по-долу. Някои записи са изтеглени от по-голяма база данни с помощта на формули и по пътя са възникнали различни грешки. Търсите да намерите общия брой елементи в колона А. При видими редове формулата COUNTIF, която използвахме за преброяване на клетки с текст, работи отлично:

    =COUNTIF(A2:A10, "*")

    И сега стеснявате списъка по някакъв критерий, например филтрирате елементите с количество, по-голямо от 10. Въпросът е - колко елемента са останали?

    Да броите филтрирани клетки с текст ето какво трябва да направите:

    1. Направете така, че всички редове да са видими в таблицата с източника. За целта изчистете всички филтри и премахнете скритите редове.
    2. Добавете помощна колона с формулата SUBTOTAL, която показва дали даден ред е филтриран или не.

      Да се справяте филтрирани клетки , използвайте 3 за function_num аргумент:

      = МЕЖДИННА СУМА(3, A2)

      Да идентифицирате всички скрити клетки , филтрирани и скрити ръчно, въведете 103 в function_num :

      = МЕЖДИННА СУМА(103, A2)

      В този пример искаме да преброим само видими клетки с текст независимо от това как са скрити другите клетки, така че въвеждаме втората формула в A2 и я копираме надолу в A10.

      За видимите клетки формулата връща 1. Щом филтрирате или скриете ръчно някои редове, формулата ще върне 0 за тях. (Няма да видите тези нули, защото те се връщат за скритите редове. За да се уверите, че работи по този начин, просто копирайте съдържанието на скрита клетка с формулата Subtotal (Междинна сума) във всяка видима, да речем =D2, ако приемем, че ред 2 е скрит.)

    3. Използвайте функцията COUNTIFS с две различни criteria_range / критерии двойки, за да преброите видимите клетки с текст:
      • Критерий1 - търси клетки с какъвто и да е текст ("*") в диапазона A2:A10.
      • Критерий2 - търси 1 в диапазона D2:D10, за да открие видими клетки.

      =COUNTIFS(A2:A10, "*", D2:D10, 1)

    Сега можете да филтрирате данните по желания от вас начин и формулата ще ви покаже колко филтрирани клетки в колона А съдържат текст (в нашия случай 3):

    Ако предпочитате да не вмъквате допълнителна колона в работния си лист, тогава ще ви е необходима по-дълга формула за изпълнение на задачата. Просто изберете тази, която ви харесва повече:

    =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)))

    Операторът за умножение също ще работи:

    =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)))

    Коя формула да използвате, е въпрос на лично предпочитание - резултатът ще бъде един и същ при всички случаи:

    Как работят тези формули

    Първата формула използва функцията INDIRECT, за да "подаде" индивидуалните референции на всички клетки в посочения диапазон към SUBTOTAL. Втората формула използва комбинация от функциите OFFSET, ROW и MIN за същата цел.

    Функцията SUBTOTAL връща масив от единици и нули, в който единиците представляват видими клетки, а нулите - скрити клетки (като помощната колона по-горе).

    Функцията ISTEXT проверява всяка клетка в A2:A10 и връща TRUE, ако клетката съдържа текст, и FALSE в противен случай. Двойният унитарен оператор (--) превръща стойностите TRUE и FALSE в 1 и 0. В този момент формулата изглежда по следния начин:

    =SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})

    Функцията SUMPRODUCT първо умножава елементите на двата масива на едни и същи позиции и след това сумира получения масив.

    Тъй като умножаването по нула дава нула, само клетките, представени с 1 в двата масива, имат 1 в крайния масив.

    =SUMPRODUCT({0;1;1;0;0;1;0;0;0})

    Броят на единиците в горния масив е броят на видимите клетки, които съдържат текст.

    Ето как да преброите клетките с текст в Excel. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Налични изтегляния

    Формули на Excel за броене на клетки с текст

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.