Съдържание
Въпреки че броят на думите и символите в Google Sheets се използва в редки случаи, все пак това е функционалност, която някои от нас очакват да видят направо в менюто. Но за разлика от Google Docs, за Google Sheets това прави функцията LEN.
Въпреки че има много различни начини за преброяване на знаци в електронни таблици, днешната публикация в блога ще разгледа функцията LEN, тъй като основното ѝ предназначение в таблиците е - ами, да преброява :) Въпреки това тя почти никога не се използва самостоятелно. По-долу ще научите как да използвате правилно LEN в Google Sheets и ще намерите най-търсените формули за изчисляване на знаци в електронни таблици.
Функция LEN в Google Sheets - употреба и синтаксис
Основната и единствена цел на функцията LEN в Google Sheets е да получи дължината на низ. Тя е толкова проста, че дори изисква само 1 аргумент:
=LEN(текст)- тя може да приеме или самия текст в двойни кавички:
=LEN("Yggdrasil")
- или препратка към клетка с интересуващия ни текст:
=LEN(A2)
Нека да видим дали има някакви особености при използването на функцията в електронни таблици.
Брой символи в Google Sheets
Ще започна с най-простата операция: преброяване на символите в Google Sheets по най-разпространения начин - чрез препратка към клетка с текст с помощта на функцията LEN.
Въвеждам формулата в B2 и я копирам надолу по цялата колона, за да преброя знаците във всеки ред:
=LEN(A2)
Забележка: Функцията LEN изчислява всички символи: букви, цифри, интервали, препинателни знаци и т.н.
Може да си помислите, че по подобен начин бихте могли да направите преброяване на символите за целия диапазон от клетки, например по следния начин: LEN(A2:A6)
. Но колкото и да е странно, това не е просто така.
За да съберете символите в няколко клетки, трябва да обвиете функцията LEN в SUMPRODUCT - функцията, която събира числата от въведените диапазони. В моя случай диапазонът се връща от функцията LEN:
=SUMPRODUCT(LEN(A2:A6))
Разбира се, вместо това бихте могли да включите функцията SUM. Но SUM в Google Sheets не обработва масиви от други функции. За да я използвате, ще трябва да добавите друга функция - ArrayFormula:
=ArrayFormula(SUM(LEN(A2:A6))
Как да преброим символите без интервали в Google Sheets
Както отбелязах по-горе, функцията LEN на Google Sheets брои всеки символ, който вижда, включително интервалите.
Но какво става, ако по погрешка са добавени допълнителни интервали и не искате да ги отчитате за резултата?
За подобни случаи в Google Sheets има функцията TRIM. Тя проверява текста за водещи, следващи и повтарящи се интервали между тях. Когато TRIM е съчетана с LEN, последната не отчита всички тези нечетни интервали.
Ето един пример. Добавих интервали на различни позиции в колона А. Както можете да видите, когато е самостоятелно, Google Sheets LEN отчита всички тях:
=LEN(A2)
Но щом интегрирате TRIM, всички допълнителни интервали се игнорират:
=LEN(TRIM(A2))
Можете да отидете по-далеч и да накарате формулата си да не взема предвид дори единичните интервали между думите. Функцията SUBSTITUTE ще ви помогне. Въпреки че основната ѝ цел е да замени един символ с друг, има трик, с който да я накарате да намали интервалите напълно:
=SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- text_to_search е обхватът, с който работите: колона A или A2 по-точно.
- търсене_за трябва да бъде символ за интервал в двойни кавички: " "
- replace_with Ако искате да игнорирате интервалите, трябва да ги замените с буквално нищо (празен низ): ""
- occurence_number обикновено се използва за посочване на екземпляра за заместване. Но тъй като описвам как да преброим символите без всички интервали, предлагам да пропуснете този аргумент, тъй като той не е задължителен.
Сега се опитайте да съберете всички тези данни в LEN на Google Sheets и ще видите, че не се отчита никакво пространство:
=LEN(SUBSTITUTE(A2, " ", ""))
Листове на Google: преброяване на конкретни символи
Същият тандем от LEN и SUBSTITUTE в Google Sheets се използва винаги, когато трябва да преброите определени символи, букви или числа.
В моите примери ще открия броя на срещите на буквата "s". И този път ще започна с готова формула:
=LEN(A2)-LEN(SUBSTITUTE(A2, "s", ""))
Нека го разделим на части, за да разберем как работи:
- SUBSTITUTE(A2, "s", "") търси буквата 's' в A2 и заменя всички срещания с "nothing" или празен низ ("").
- LEN(SUBSTITUTE(A2, "s", "") изчислява броя на всички символи освен 's' в A2.
- LEN(A2) преброява всички символи в A2.
- Накрая изваждате едното от другото.
Разликата в резултата показва колко "s" има в клетката:
Забележка: Може би се чудите защо В1 казва, че в A2 има само 1 "s", а вие виждате 3?
Работата е там, че функцията SUBSTITUTE е чувствителна към малки и големи букви. Помолих я да вземе всички случаи на 's' с малки букви и тя го направи.
За да пренебрегне текстовите букви и да обработва букви с малки и големи букви, ще трябва да извикате още една функция на Google Sheets за помощ: LOWER.
Съвет. Вижте други начини за промяна на регистъра на текста в Google Sheets.
Тя е толкова проста, колкото и LEN и TRIM в Google Sheets, тъй като се изисква само текстът:
=Най-ниско(текст)
И всичко, което прави, е да превърне целия текстов низ в малки букви. Този трик е точно това, от което се нуждаете, за да накарате Google Sheets да брои определени символи, независимо от техния размер:
=LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "s", ""))
Съвет. И както преди, за да преброите общия брой на определени символи в диапазона, обвийте своя LEN в SUMPRODUCT:
=SUMPRODUCT(LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "s", "")))
Преброяване на думи в Google Sheets
Когато в клетките има няколко думи, има вероятност да ви е необходим техният брой вместо дължината на низа в Google Sheets.
И въпреки че има много начини за това, днес ще спомена как Google Sheets LEN върши тази работа.
Спомняте ли си формулата, която използвах за преброяване на конкретни символи в Google Sheets? Всъщност тя ще ми бъде полезна и тук. Защото няма да броя буквално думите. Вместо това ще преброя броя на интервалите между думите и след това просто ще добавя 1:
=LEN(A2)-LEN(SUBSTITUTE((A2), " ", ""))+1
- LEN(A2) преброява броя на всички символи в клетката.
- LEN(SUBSTITUTE((A2)," ","")) премахва всички интервали от текстовия низ и преброява останалите символи.
- След това изваждате едното от другото и получената разлика е броят на интервалите в клетката.
- Тъй като броят на думите в изречението винаги надвишава броя на интервалите с една единица, добавете 1 в края.
Листове на Google: преброяване на конкретни думи
И накрая, бих искал да споделя една формула от Google Sheets, която можете да използвате, за да преброите определени думи.
Тук имам "Песента на присмехулната костенурка" от "Приключенията на Алиса в страната на чудесата":
Искам да знам колко пъти думата "ще" се появява във всеки ред. Вярвам, че няма да се изненадате, ако ви кажа, че формулата, от която се нуждая, се състои от същите функции, както преди: LEN, SUBSTITUTE и LOWER на Google Sheets:
=(LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "will", "")))/LEN("will")
Формулата може да изглежда страшна, но ви уверявам, че е лесна за разбиране, така че потърпете :)
- Тъй като случаят на текста няма значение за мен, използвам LOWER(A2) за да превърнете всичко в малки букви.
- След това отива SUBSTITUTE(LOWER(A2), "will",""))) - тя премахва всички срещания на 'will', като ги заменя с празни низове ("").
- След това изваждам броя на символите без думата "will" от общата дължина на низа. Числото, което получавам, отчита всички символи във всички случаи на поява на думата "will" във всеки ред.
Така, ако "will" се появи веднъж, числото е 4, тъй като думата има 4 букви. Ако се появи два пъти, числото е 8 и т.н.
- Накрая разделям това число на дължината на единичната дума "ще".
Съвет. И отново, ако предпочитате да получите общия брой на всички появявания на думата "ще", просто оградете цялата формула със SUMPRODUCT:
=SUMPRODUCT((LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "ще", "")))/LEN("ще"))
Както можете да видите, всички тези случаи на преброяване на символите се решават чрез едни и същи модели на едни и същи функции за Google Sheets: LEN, SUBSTITUTE, LOWER и SUMPRODUCT.
Ако някои формули все още ви объркват или ако не сте сигурни как да приложите всичко към конкретната си задача, не се притеснявайте и попитайте в раздела за коментари по-долу!