Функция ДЛСТР — как измерить длину текста в Excel с примерами

Синтаксис.

Подсчитывает и возвращает длину текста. Есть только один аргумент, который, разумеется, обязателен:

= DLSTR (текст)

Где текст — это текстовая строка, для которой вы хотите подсчитать количество символов. Нет ничего проще, правда?

Ниже вы найдете несколько простых формул, чтобы получить общее представление о том, как это работает.

= DLSTR (123) — возвращает 3, поскольку в текстовом аргументе переданы 3 цифры .

= DLSTR («яблоко») — возвращает 6, потому что слово яблоко состоит из 6 букв. Как и любая другая формула Excel, она требует, чтобы текстовые выражения были заключены в кавычки, которые не учитываются при вычислении.

Однако на практике вы, скорее всего, будете указывать ссылки на ячейки, а не писать текст в самой формуле.

Например, чтобы получить длину текста в A1, вы должны написать:

= DLSTR (A1)

Ниже приведены более информативные примеры с подробными пояснениями и скриншотами.

На первый взгляд функция DLSTR кажется настолько простой, что не требует дополнительных пояснений. Однако есть несколько полезных приемов, которые помогут вам настроить его под свои нужды.

Определяем длину ячейки.

Как уже было сказано, здесь учитываются абсолютно все символы, включая все пробелы: начальные, конечные и между словами.

Например, чтобы получить длину A2, мы используем это выражение:

= ДЛСТР (A2)

Как показано на скриншоте ниже, результат равен 32, включая 23 буквы, 2 цифры, 3 пробела и 1 знак препинания.

Чтобы подсчитать длину нескольких ячеек, выберите ячейку с формулой и скопируйте ее в другие, например, перетащив маркер заполнения.

После копирования мы получаем длину каждой ячейки отдельно.

Примечание. При копировании столбца обязательно используйте относительную ссылку, например DLSTR (A1), или смешанную ссылку, например DLSTR ($ A1), которая захватывает только столбец, чтобы выражение правильно соответствовало новой позиции.

Считаем длину нескольких ячеек.

Самый очевидный способ сделать это — добавить больше функций, например:

= DLSTR (A2) + DLSTR (A3) + DLSTR (A4)

Или используйте функцию СУММ для вычисления длины текста, возвращаемого из нескольких ячеек:

= СУММ (DLSTR (A2), DLSTR (A3), DLSTR (A4), DLSTR (A5))

В каждом случае программа считает в каждой из указанных ячеек и возвращает общую длину строк в диапазоне:

Этот подход, несомненно, прост для понимания и использования, но это не лучший способ рассчитать длину текста в диапазоне, например, 100 или 1000 ячеек.

Таким образом, приведенные выше формулы могут хорошо работать для небольшого диапазона. Чтобы вычислить общую длину текста на большой площади, нам лучше найти что-нибудь более компактное, например функцию СУММПРОИЗВ, которая умножает массивы и возвращает сумму этих продуктов.

Вот как сделать подсчет в диапазоне:

= СУММПРОИЗВ (DLSTR (интервал))

И ваша настоящая формула может выглядеть так:

= СУММПРОИЗВ (DLSTR (A2: A5))

Другой способ выполнить вычисление по диапазону — использовать DLSTR в сочетании с SUM:

{= СУММ (DLSTR (A2: A5))}

В отличие от СУММПРОИЗВ, функция СУММ не работает с массивами по умолчанию, и вы должны обязательно нажать Ctrl + Shift + Enter после ввода, чтобы преобразовать его в формулу массива.

Как показано на следующем снимке экрана, СУММ возвращает точно такой же результат:

Как это работает?

Это один из самых простых способов рассчитать длину текстовой строки. Мы вычисляем длину каждой ячейки в указанном диапазоне и возвращаем их в виде массива чисел. Затем СУММПРОИЗВ или СУММ складывает эти числа и возвращает общую сумму.

В приведенном выше примере суммирован массив из 4 чисел, представляющих длины строк в ячейках от B2 до B5:

= СУММПРОИЗВ ({32; 32; 32; 39})

Помните, что функция DLSTR в Excel считает абсолютно все символы в каждой ячейке, включая буквы, числа, знаки препинания, специальные символы и все пробелы (начальные, конечные и пробелы между словами). Но нам это не всегда нужно. О том, как обойти эту особенность, поговорим дальше.

ЛЕВСИМВ и ПРАВСИМВ

Текстовые функции LEFT и RIGHT возвращают указанное количество символов, начиная с начала или конца строки. Пробел считается символом.

Текстовые функции в Excel

Текстовые функции в Excel

Как подсчитать без начальных и конечных пробелов?

При работе с большими таблицами распространенной проблемой являются начальные или конечные пробелы, то есть лишние пробелы в начале или конце различных заголовков или заголовков. Вы вряд ли заметите их на бумаге, но, встретив их несколько раз, вы научитесь их опасаться.

Если вы подозреваете, что в ваших данных есть несколько невидимых пробелов, мы легко с этим справимся.

Чтобы получить длину текста без начальных и конечных пробелов, просто вставьте функцию TRIM в DLSTR:

= ДЛСТР (ОБРЕЗАТЬ (A2))

Примеры применения ДЛСТР

Эта функция часто используется в качестве вспомогательного средства в составных формулах вместе с другими текстовыми функциями.

К тому же эти комбинации позволяют решать самые необычные задачи.

Пример 1 — посчитать слова

Сколько слов в ячейке? Обычно между ними на 1 больше пробелов. Если есть пробел, значит два слова, если два, то три слова и так далее.

Если есть вероятность, что между словами больше 1 пробела или есть пробелы в начале и конце ячейки, функция TRIM может удалить их.

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

  • с ними,
  • без них,
  • и вычисляем разницу.

Как получить строку без пробелов? Здесь поможет функция REPLACE.

Так будет выглядеть формула для ячейки А1 с учетом всех этих нюансов. TRIM удаляет лишние пробелы, SUBSTITUTE удаляет их, а DLSTR измеряет длину строк:

= DLSTR (A1) — DLSTR (ПОДСТАВИТЬ (ОБРЕЗАТЬ (A1), «»; «»)) + 1

Пример 2 — посчитать встречаемость фрагмента в тексте

Есть ли в тексте какой-то конкретный персонаж? И если да, то сколько их?

Давайте взглянем на пару примеров формул.

Есть ли в ячейке лишние пробелы

Следующая формула проверит, есть ли в ячейке лишние пробелы. Это полезно, когда вам нужно не просто удалить их, а узнать, были ли они:

= DLSTR (ОБРЕЗАТЬ (A1)) <> DLSTR (A1)DLSTR для управления лишними пробелами - пример
Формула для проверки наличия лишних пробелов в строке

Формула очевидна и достаточно проста. Если длина ячейки после удаления лишних пробелов с помощью функции ОБРЕЗАТЬ такая же, как у исходной, значит, их нет, а если, наоборот, не то же самое, то есть.

Обратите внимание, что несмотря на то, что в том же утверждении, что и вопрос, звучит условие ЕСЛИ, функция ЕСЛИ здесь не нужна. Если равенство верное, Excel поместит результат ИСТИНА в саму ячейку и ЛОЖЬ, если наоборот.

Сколько раз встречается символ или слово в тексте

По аналогии с предыдущим примером мы не можем выполнить логическое (ДА-НЕТ, ИСТИНА-ЛОЖЬ) сравнение длин строк до и после удаления символа или фрагмента, а вычислить разницу.

Если мы ищем персонажа, он сразу поймет его присутствие.

Чтобы удалить произвольный символ из строки, нам понадобится функция REPLACE.

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

Если фрагмент текста состоит из 2 и более символов, нам также нужно разделить результат на его длину:

= (DLSTR (A1) -LSTR (ПОДСТАВИТЬ (A1; B1; «»))) / DLSTR (B1)

В этой формуле исходный текст находится в ячейке A1, а подсчитываемый кусок — в ячейке B1.

пример - функция DLSTR для вычисления вхождения фрагмента текста
Подсчитать появление фрагмента текста

Обратите внимание на строки 5 и 6: поскольку функция «ПОДСТАВИТЬ» чувствительна к регистру, она не удаляла первое вхождение из текста. Если вам все еще нужно учитывать вхождения, вам могут понадобиться функции LOWER или UPPERCASE.

Подсчитываемый текстовый фрагмент может быть любой длины.

Еще один момент: функция может не подходить для подсчета коротких слов, потому что одно слово может входить в состав другого.

Пример 3 — извлечь или удалить последнее слово

Зная количество пробелов в тексте, вы можете заменить последний редким символом, чтобы вычислить его положение позже.

В этом, как и в предыдущем примере, нам поможет функция REPLACE: она позволяет заменять не только все определенные фрагменты текста в строке, но и конкретное вхождение (первое, второе и т.д.).

Что это нам дает? Последний пробел — это не что иное, как символ, отделяющий последнее слово от остальной части строки. А по положению, причем несложными манипуляциями, удалить или извлечь.

Пример 4 — удалить первые N символов / первое слово

Простая комбинация функций RIGHT, SEARCH и DLSTR позволяет удалить первое слово из ячейки.

Механика проста:

  1. вычислить позицию первого пробела с функцией ПОИСК,
  2. вычтите это число из длины строки (DLSTR
  3. Извлеките функцию RIGHT, полученную в результате отличия от исходной строки

ВПРАВО - пример с извлечением второго слова
Убираем первое слово из ячейки, получая второе

Более подробно пример рассмотрен в статье о функции ВПРАВО.

Если количество символов заранее известно, формула еще проще: нужны только DLSTR и RIGHT:

= ВПРАВО (A1; DLSTR (A1) -4)DLSTR для удаления первых N символов - пример
Удалите первые 4 символа из строки с помощью функций DLSTR и RIGHT

Пример 5 — замена последнего символа в ячейке

Это может показаться очевидным, но позиция последнего символа в строке равна его длине в символах. А затем, зная длину строки, вы можете заменить последний символ в ней, взяв на 1 символ меньше, используя ВЛЕВО, и объединив с желаемым текстом через амперсанд:

= LEFT (A1; DLSTR (A1) -1) & «Текст вместо последнего символа»

Или используйте функцию REPLACE, которая примет в качестве входных данных длину строки в качестве позиции заменяемого символа:

= REPLACE (A1; DLSTR (A1); 1; «Текст вместо последнего символа»)

ПРОПНАЧ

Функция PROPER text делает первую букву каждого слова заглавной, а остальные преобразует в нижний регистр.

Текстовые функции в Excel

Любая первая буква, следующая за небуквальным символом, также преобразуется в верхний регистр.

Текстовые функции в Excel

СЖПРОБЕЛЫ

Удаляет все ненужные пробелы из текста, кроме одинарных пробелов между словами.

Текстовые функции в Excel

В тех случаях, когда наличие лишнего пробела в конце или начале строки обнаружить сложно, эта функция просто становится незаменимой. На следующем рисунке вы можете видеть, что содержимое ячеек A1 и B1 абсолютно одинаково, но это не так. В ячейке A1 мы намеренно вставили лишний пробел в конце слова Excel. В результате функция EXACT вернула нам значение FALSE.

Текстовые функции в Excel

Применяя функцию ОБРЕЗАТЬ к значению ячейки A1, мы удалим из нее все лишние пробелы и получим правильный результат:

Текстовые функции в Excel

TRIM полезен для данных, импортированных в листы Excel из внешних источников. Такие данные очень часто содержат лишние пробелы и различные непечатаемые символы. Чтобы удалить из текста все непечатаемые символы, используйте функцию ПЕЧАТЬ.

Как посчитать без любых пробелов?

Если ваша цель состоит в том, чтобы считать только буквы и цифры без пробелов в начале, конце или середине, вам нужно немного более сложное выражение:

= DLSTR (ПОДСТАВИТЬ (A2;» «;»»))

Как вы, наверное, знаете, функция REPLACE заменяет один текст другим. В приведенной выше формуле вы заменяете пробел («») ничем, то есть пустой текстовой строкой («»). И поскольку вы встраиваете ПОДСТАВКУ в функцию DLSTR, подстановка фактически не выполняется в ячейках, она просто говорит вам вычислить длину строки без пробелов.

СТРОЧН

Если в Excel вам нужно написать все строчные буквы, например, преобразовать их в строчные, на помощь приходит текстовая функция LOWER. Он не заменяет неалфавитные символы.

Текстовые функции в Excel

ПОВТОР

Функция REPEAT повторяет строку текста указанное количество раз. Строка указывается как первый аргумент функции, а количество повторов — как второй.

Текстовые функции в Excel

Форматирование

Если входное значение не в текстовом формате, оно преобразуется в текстовый формат.

Ячейки в формате даты обрабатываются как числа, поэтому они обычно содержат 5 символов (если даты не близки к 1900).

Процентный формат также преобразуется в натуральное число, например 2500% = 25 (2 символа, см. Примерную таблицу выше).

ПСТР

Текстовая функция MID возвращает указанное количество символов, начиная с указанной позиции. Пробел считается символом.

Текстовые функции в Excel

ПРОПИСН

Текстовая функция UPPERCASE переводит все буквы в верхний регистр, т.е преобразует их в верхний регистр. Как и LOWER, он не заменяет неалфавитные символы.

Текстовые функции в Excel

СОВПАД

Функция ТОЧНЫЙ позволяет сравнивать две текстовые строки в Excel. Если они точно такие же, возвращается ИСТИНА; в противном случае — ЛОЖЬ. Эта текстовая функция чувствительна к регистру, но игнорирует различия в форматировании.

Текстовые функции в Excel

Если случай для вас не важен (это происходит в большинстве случаев), вы можете использовать формулу, которая просто проверяет равенство двух ячеек.

Текстовые функции в Excel

Синтаксис

DLSTR (текст)

DLINB (текст)

Аргументы этой функции описаны ниже.

  • Требуется текст. Текст, длину которого вы хотите узнать. Пробелы считаются символами.

Источники

  • https://mister-office.ru/funktsii-excel/len-functions-count-characters-cell.html
  • https://msoffice-prowork.com/ref/excel/excelfunc/text/len/
  • https://office-guru.ru/excel/tekstovye-funkcii-excel-v-primerah-77.html
  • https://SEMTools.guru/ru/excel-functions/len/
  • https://www.wallstreetmojo.com/len-excel-function/
  • https://support.microsoft.com/ru-ru/office/%D0%B4%D0%BB%D1%81%D1%82%D1%80-%D0%B4%D0%BB%D0%B8%D0%BD%D0%B1-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D0%B4%D0%BB%D1%81%D1%82%D1%80-%D0%B4%D0%BB%D0%B8%D0%BD%D0%B1-29236f94-cedc-429d-affd-b5e33d2c67cb

Оцените статью
Блог про Excel
Adblock
detector