Excel има някои невероятни текстови функции, които могат да ви помогнат при работа с текстовите данни.
В някои случаи може да се наложи да изчислите общия брой знаци в клетка/диапазон или колко пъти се появява конкретен знак в клетка.
Въпреки че има функцията LEN, която може да преброи броя знаци в клетка, можете да направите и останалото с комбинация от формули (както ще видим по -късно в примерите).
В този урок ще разгледам различни примери, при които можете да броите общо или конкретни знаци в клетка/диапазон в Excel.
Пребройте всички знаци в клетка
Ако просто искате да получите общ брой на всички знаци в клетка, можете да използвате функцията LEN.
Функцията LEN приема един аргумент, който може да бъде текстът в двойни кавички или препратка към клетка към клетка, която има текста.
Да предположим например, че имате набора от данни, както е показано по -долу и искате да преброите общия брой знаци във всяка клетка:
По -долу е формулата, която ще направи това:
= LEN (A2)
Сама по себе си функцията LEN може да не изглежда много, но когато я комбинирате с други формули, тя може да направи някои прекрасни неща (като например да получите броя на думите в клетка или да разделите име и фамилия).
Забележка: Функцията LEN ще преброи всички знаци в клетка, било то специален знак, числа, препинателни знаци и интервали (водещи, последни и двойни интервали между думите).
Тъй като функцията LEN отчита всеки знак в клетка, понякога може да получите грешен резултат в случай, че имате допълнителни интервали в клетката.
Например, в случая по -долу, функцията LEN връща 25 за текста в клетка A1, докато трябва да е била 22. Но тъй като брои и допълнителни символи на интервал, получавате грешен резултат.
За да избегнете преброяването на допълнителни интервали, първо можете да използвате функцията TRIM, за да премахнете всички водещи, последни и двойни интервали и след това да използвате функцията LEN, за да получите реалния брой думи.
Формулата по -долу ще направи това:
= LEN (TRIM (A2))
Пребройте всички знаци в диапазон от клетки
Можете също да използвате функцията LEN, за да преброите общия брой знаци в целия диапазон.
Да предположим например, че имаме един и същ набор от данни и този път, вместо да получа броя на знаците във всяка клетка, искам да знам колко има в целия диапазон.
Можете да направите това, като използвате формулата по -долу:
= СУМПРОДУКТ (LEN (A2: A7)))
Позволете ми да обясня как работи тази формула.
В горната формула частта LEN на функцията поема цял диапазон от клетки и брои знаците във всяка клетка.
Резултатът от функцията LEN ще бъде:
{22;21;23;23;23;31}
Всяко от тези числа представлява броя на знаците в клетката.
И когато използвате функцията SUMPRODUCT с нея, тя просто ще добави всички тези числа.
Сега, ако се чудите защо не можете да използвате SUM вместо SUMPRODUCT, причината е, че това е масив и SUMPRODUCT може да обработва масив, но функцията SUM не може.
Ако все пак искате да използвате SUM, можете да използвате формулата по -долу (но не забравяйте, че трябва да използвате Control + Shift + Enter, за да получите резултата вместо обикновен Enter)
= SUM (LEN (A2: A7))
Пребройте специфични знаци в клетка
Както споменах, истинската полезност на функцията LEN е, когато се използва в комбинация с други формули.
И ако искате да броите конкретни знаци в клетка (това може да е буква, цифра, специален знак или интервал), можете да направите това с комбинация от формули.
Да предположим например, че имате набора от данни, както е показано по -долу и искате да преброите общия брой думи във всяка клетка.
Въпреки че няма вградена формула за получаване на броя на думите, можете да преброите знаците за интервал и след това да го използвате, за да знаете общия брой думи в клетката.
По -долу е формулата, която ще ви даде общия брой знаци за интервал в клетка:
= LEN (A2) -LEN (SUBSTITUTE (A2, "", ""))+1
Горната формула брои общия брой знаци за интервал и след това добавя 1 към това число, за да получи броя на думите.
Ето как работи тази формула:
- Функцията SUBSTITUTE се използва за замяна на всички знаци за интервал с празно място. След това функцията LEN се използва за преброяване на общия брой знаци, когато няма интервали.
- Резултатът от LEN (SUBSTITUTE (A2, ”“, ””)) след това се изважда от LEN (A2). Това ни дава общия брой знаци за интервал, които има в клетката.
- 1 се добавя във формулата и общият брой думи ще бъде с един повече от общия брой знаци за интервал (тъй като две думи са разделени с един знак).
Обърнете внимание, че в случай че има водещи, последни или двойни интервали, ще получите грешен резултат. В такъв случай е най -добре да използвате функцията TRIM заедно с функцията LEN.
Можете също да използвате същата логика, за да намерите конкретен знак или дума или фраза в клетка.
Да предположим например, че имам набор от данни, както е показано по -долу, където имам различни партиди, където всяка партида има азбука и номер, който да я представя (като A1, J2 и т.н.)
По -долу е формулата, която ще ви даде общия брой пъти, когато всеки месец се създава партида с азбука А:
= LEN (B2) -LEN (ЗАМЕСТНИК (B2, "A", ""))
Горната формула отново използва същата логика - намерете дължината на текста в клетка със и без знака, който искате да преброите и след това вземете разликата между тези две.
В горната формула съм закодирал твърдо символа, който искам да преброя, но можете също да го поставите в клетка и след това да използвате препратката към клетката. Това го прави по -удобен, тъй като формулата ще се актуализира следващия път, когато промените текста в клетката.
Пребройте специфични знаци, използвайки формула, която не е чувствителна към регистъра
Има един проблем с формулата, използвана за преброяване на конкретни знаци в клетка.
Функцията SUBSTITUTE е чувствителна към регистъра. Това означава, че „А“ не е равно на „а“. Ето защо получавате грешен резултат в клетка С5 (резултатът трябва да е 3).
И така, как можете да получите броя на знаците на конкретен герой, когато във всеки случай може да е бил (долен или горен).
Правите това, като правите формулата безразлична. Въпреки че можете да отидете на сложна формула, аз просто добавих броя на знаците в двата случая (малки и главни A).
= LEN (B2) -LEN (SUBSTITUTE (B2, "A", ""))+LEN (B2) -LEN (SUBSTITUTE (B2, "a", ""))
Преброяване на знаци/цифри преди и след десетичното число
Не знам защо, но това е често срещано запитване, което получавам от читателите си и съм виждал в много форуми - като този
Да предположим, че имате набор от данни, както е показано по -долу и искате да преброите знаците преди десетичната запетая и след десетичната запетая.
По -долу са формулите, които ще направят това.
Пребройте знаците/цифрите преди десетичната запетая:
= LEN (INT (A2))
Пребройте знаците/числата след десетичната запетая:
= LEN (A2) -FIND (".", A2)
Имайте предвид, че тези формули са предназначени само за значими цифри в клетката. В случай, че имате начални или последни нули или сте използвали форматиране на персонализирано число, за да покажете повече/по -малко числа, горните формули все пак ще ви дадат значителни цифри преди и след десетичната запетая.
Това са някои от сценариите, при които можете да използвате формули за преброяване на знаци в клетка или диапазон от клетки в Excel.
Надявам се, че урокът ви е бил полезен!