Оглавление
Хотя подсчет слов и символов в Google Sheets используется в редких случаях, это все же та функциональность, которую некоторые из нас ожидают увидеть прямо в меню. Но в отличие от Google Docs, в Google Sheets это делает функция LEN.
Хотя существует множество различных способов подсчета символов в электронных таблицах, в сегодняшней статье блога мы рассмотрим функцию LEN, поскольку ее основное назначение в таблицах - считать :) Однако сама по себе она почти никогда не используется. Ниже вы узнаете, как правильно использовать LEN в Google Sheets и найдете наиболее востребованные формулы для подсчета символов в электронных таблицах.
Функция LEN в Google Sheets - использование и синтаксис
Основное и единственное назначение функции LEN в Google Sheets - получение длины строки. Она настолько проста, что даже требует всего 1 аргумента:
=LEN(text)- он может принимать либо сам текст в двойных кавычках:
=LEN("Yggdrasil")
- или ссылку на ячейку с интересующим текстом:
=LEN(A2)
Давайте посмотрим, есть ли какие-либо особенности в использовании функции в электронных таблицах.
Количество символов в Google Sheets
Я начну с самой простой операции: подсчет символов в Google Sheets выполняется самым обычным способом - путем ссылки на ячейку с текстом с помощью функции LEN.
Я ввожу формулу в B2 и копирую ее вниз по всему столбцу для подсчета символов в каждой строке:
=LEN(A2)
Примечание. Функция LEN вычисляет все символы: буквы, цифры, пробелы, знаки препинания и т.д.
Вы можете подумать, что аналогичным образом можно выполнить подсчет символов для всего диапазона ячеек, например, так: LEN(A2:A6)
Но, как это ни странно, так просто это не работает.
Чтобы суммировать символы в нескольких ячейках, следует обернуть LEN в SUMPRODUCT - функцию, которая суммирует числа из введенных диапазонов. В моем случае диапазон возвращается функцией LEN:
= СУММАРНЫЙ ПРОДУКТ(LEN(A2:A6))
Конечно, вы могли бы использовать функцию SUM. Но SUM в Google Sheets не обрабатывает массивы из других функций. Чтобы это работало, вам придется добавить еще одну функцию - ArrayFormula:
=ArrayFormula(SUM(LEN(A2:A6)))
Как подсчитать символы без пробелов в Google Sheets
Как я уже отмечал выше, функция LEN в Google Sheets считает каждый символ, который она видит, включая пробелы.
Но что если лишние пробелы добавлены по ошибке, и вы не хотите учитывать их в результате?
Для таких случаев в Google Sheets есть функция TRIM. Она проверяет текст на наличие ведущих, отстающих и повторяющихся пробелов между ними. Когда TRIM используется в паре с LEN, последняя не учитывает все эти нечетные пробелы.
Вот пример. Я добавил пробелы в разных позициях в столбце А. Как видите, когда LEN в Google Sheets работает самостоятельно, он считает их все:
=LEN(A2)
Но как только вы интегрируете TRIM, все лишние пробелы игнорируются:
=LEN(TRIM(A2))
Вы можете пойти дальше и заставить вашу формулу игнорировать даже пробелы между словами. В этом вам поможет функция SUBSTITUTE. Хотя ее основная цель - заменить один символ другим, есть хитрость, позволяющая полностью сократить пробелы:
=SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- текст_к_поиску это диапазон, с которым вы работаете: столбец A, или A2 если быть точным.
- поиск_для должен быть символ пробела в двойных кавычках: " "
- заменять_на должны содержать пустые двойные кавычки. Если вы собираетесь игнорировать пробелы, вам нужно заменить их буквально ничем (пустой строкой): ""
- число_случаев обычно используется для указания экземпляра для замены. Но поскольку я описываю, как считать символы без пробелов, я предлагаю вам опустить этот аргумент, поскольку он необязателен.
Теперь попробуйте собрать все это в Google Sheets LEN, и вы увидите, что пробел не учитывается:
=LEN(SUBSTITUTE(A2, " ", ""))
Google Sheets: подсчет определенных символов
Тот же тандем 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" в ячейке:
Примечание. Вы можете задаться вопросом, почему B1 говорит, что в A2 есть только 1 "s", в то время как вы видите 3?
Дело в том, что функция SUBSTITUTE чувствительна к регистру. Я попросил ее взять все случаи 's' в нижнем регистре, что она и сделала.
Чтобы заставить его игнорировать регистр текста и обрабатывать буквы как в нижнем, так и в верхнем регистре, вам придется вызвать на помощь еще одну функцию Google Sheets: LOWER.
Совет. Посмотрите другие способы изменения регистра текста в Google Sheets.
Это так же просто, как Google Sheets LEN и TRIM, потому что все, что для этого требуется - это текст:
=LOWER(text)
И все, что он делает, это переводит всю текстовую строку в нижний регистр. Этот трюк - именно то, что вам нужно, чтобы заставить 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, которую вы можете использовать для подсчета конкретных слов.
Здесь у меня "Песенка черепахи-пересмешницы" из "Приключений Алисы в стране чудес":
Я хочу узнать, сколько раз слово "will" встречается в каждой строке. Думаю, вы не удивитесь, если я скажу, что нужная мне формула состоит из тех же функций, что и раньше: Google Sheets LEN, SUBSTITUTE и LOWER:
=(LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "будет", "")))/LEN("будет"))
Формула может выглядеть пугающе, но я уверяю вас, что она проста для понимания, так что потерпите:)
- Поскольку регистр текста не имеет для меня значения, я использую НИЖНИЙ(A2) чтобы перевести все в нижний регистр.
- Затем идет SUBSTITUTE(LOWER(A2), "will",""")))) - он избавляется от всех вхождений 'will', заменяя их пустыми строками ("").
- После этого я вычитаю количество символов без слова "will" из общей длины строки. Полученное число подсчитывает все символы во всех вхождениях слова "will" в каждой строке.
Так, если "will" появляется один раз, то число равно 4, поскольку в слове 4 буквы. Если оно появляется дважды, то число равно 8, и так далее.
- Наконец, я делю это число на длину одного слова "will".
Совет. И снова, если вы хотите получить общее количество всех появлений слова "will", просто заключите всю формулу в SUMPRODUCT:
=SUMPRODUCT((LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "будет", "")))/LEN("будет")))
Как видите, все эти случаи подсчета количества символов решаются с помощью одних и тех же шаблонов одних и тех же функций для Google Sheets: LEN, SUBSTITUTE, LOWER и SUMPRODUCT.
Если какие-то формулы все еще смущают вас, или вы не уверены, как применить все к вашей конкретной задаче, не стесняйтесь и спрашивайте в разделе комментариев ниже!