Как задать длину строки в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис и использование функций ДЛСТР и ДЛИНБ в Microsoft Excel.

Описание

Функция ДЛСТР возвращает число символов в текстовой строке.

Функция ДЛИНБ возвращает число байтов, представляющих символы в текстовой строке.

Важно: 

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

  • Функция ДЛИНБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой двухбайтовой кодировки. В противном случае функция ДЛИНБ работает так же, как функция ДЛСТР, и отсчитывает по одному байту на каждый символ.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

ДЛСТР(текст)

ДЛИНБ(текст)

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

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

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

Мурманск

Формула

=LEN(B1)

=LEN(B2)

=LEN(B3)

Описание

Длина первой строки

Длина второй строки

Длина третьей строки, которая содержит восемь пробелов

     Один   

Результат

11

0

11

Нужна дополнительная помощь?

Skip to content

5 примеров с функцией ДЛСТР в Excel.

Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии) для вычисления длины текстовых строк в Excel с пробелами или без них.

Из всех функций Excel она, пожалуй, самая простая и понятная. Название функции легко запомнить, это не что иное, как сокращение «длина строки». Она возвращает длину текстовой строки или длину ячейки.

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

В этом коротком руководстве мы сначала кратко рассмотрим синтаксис, а затем более подробно изучим некоторые полезные примеры для определения длины текста в ваших таблицах Excel.

  • Базовые сведения
  • Считаем длину одной ячейки
  • Определяем общую длину диапазона ячеек
  • Как игнорировать начальные и конечные пробелы?
  • Как считать длину без учета любых пробелов?
  • Количество символов до или после определённого знака.

Синтаксис.

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

= ДЛСТР(текст)

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

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

=ДЛСТР(123) — возвращает 3, потому что в текстовый аргумент передается 3 цифры .

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

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

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

=ДЛСТР(A1)

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

На первый взгляд функция ДЛСТР выглядит настолько простой, что не требует дополнительных пояснений. Однако есть несколько полезных приемов, которые могут помочь вам настроить её под ваши конкретные нужды.

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

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

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

=ДЛСТР(A2)

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

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

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

Примечание. При копировании вниз по столбцу обязательно используйте относительную ссылку, например ДЛСТР(A1), или смешанную ссылку, например ДЛСТР($A1), фиксирующую только столбец, чтобы ваше выражение правильно адаптировалась для нового местоположения. 

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

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

=ДЛСТР(A2)+ДЛСТР(A3)+ДЛСТР(A4)

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

=СУММ(ДЛСТР(A2); ДЛСТР(A3); ДЛСТР(A4); ДЛСТР(A5))

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

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

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

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

= СУММПРОИЗВ(ДЛСТР( диапазон ))

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

=СУММПРОИЗВ(ДЛСТР(A2:A5))

Другой способ сделать расчет в диапазоне — использовать ДЛСТР в сочетании с СУММ:

{=СУММ(ДЛСТР(A2:A5))}

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

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

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

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

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

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

Вы помните, что функция Excel ДЛСТР считает абсолютно все символы в каждой ячейке, включая буквы, числа, знаки препинания, специальные символы и все пробелы (ведущие, конечные и пробелы между словами). Но ведь это не всегда нам нужно. Как обойти эту особенность, поговорим далее.

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

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

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

Чтобы получить длину текста без начальных и конечных пробелов, просто вставьте функцию СЖПРОБЕЛЫ (TRIM в английской версии) в ДЛСТР:

=ДЛСТР(СЖПРОБЕЛЫ(A2))

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

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

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

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

Определяем длину текста до или после определённого знака.

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

Предположим, у вас есть список артикулов различных товаров. И все действительные артикулы содержат ровно 5 знаков в первой группе (до тире). Как нам обнаружить ошибки при вводе? Ага, подсчитав сколько знаков перед первым тире.

Итак, наше выражение выглядит следующим образом:

=ДЛСТР(ЛЕВСИМВ($A2; ПОИСК(«-«; $A2)-1))

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

  • Вы используете функцию ПОИСК, чтобы вернуть позицию первого дефиса («-») в A2:
    ПОИСК(«-«; $A2)
  • Затем вы применяете функцию ЛЕВСИМВ, чтобы извлечь подстроку определённой длины, начиная с левой стороны. И не забудьте вычесть 1 из результата, потому что вы не хотите включать тире:
    ЛЕВСИМВ($A2; ПОИСК(«-«; $A2)-1)
  • И, наконец, у вас есть функция ДЛСТР, которая возвращает длину этого кусочка текста.

Теперь вы можете пойти дальше и выделить неправильные артикулы, установив простое правило условного форматирования с такой формулой, как =$B2<>5:

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

=ЕСЛИ(ДЛСТР(ЛЕВСИМВ(A2; ПОИСК(«-«;A2)-1))<>5; «Неверно!»; «»)

Как показано на скриншоте ниже, формула идеально определяет недопустимые артикулы на основе длины строки. И вам даже не нужен отдельный столбец:

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

Например, в списке имен нужно узнать, сколько букв содержит фамилия. Вот как мы это сделаем:

=ДЛСТР(ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(» «;A2)))

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

  • Сначала вы определяете позицию пробела (» «) в текстовой строке с помощью функции ПОИСК:
    ПОИСК(» «;A2)
  • Затем подсчитываете, сколько знаков следует за пробелом. Для этого вы вычитаете позицию пробела из общей длины текста:
    ДЛСТР(A2)-ПОИСК(» «;A2)
  • После этого применяем ПРАВСИМВ, чтобы вернуть всё после пробела, то есть фамилию.
  • И, наконец, вы используете формулу ДЛСТР, чтобы получить длину фамилии, возвращенной ПРАВСИМВ.

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

Вот как можно использовать ДЛСТР в Excel.  В следующей статье мы рассмотрим другие её возможности, и вы узнаете еще несколько полезных формул для подсчета символов в Excel.

[the_ad_group id=»48″]

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Функция ДЛСТР() в MS EXCEL

​Смотрите также​«искомый текст» — что​ принципам:​ столбцы.​ формат. Где брать​ Критерию также будут​ соответствовать значения начинающиеся​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​ будет соответствовать несколько​

Синтаксис функции

​Пусть имеется перечень артикулов​​ из строки в​

​ разобрать любую строку,​​ и т.д., импортирован​длину​ необязательно), например, в​

​=ИНДЕКС(Список;​ строки, и выведем​Функция ДЛСТР(), английский вариант​ нужно найти;​

Контроль длины строк

​Для объединения значений из​В первой строке есть​ строку формата? Щелкаем​ соответствовать значения заканчивающиеся​ с фраз дрелью,​)​ значений. Для их​

​ товара: 2-3657; 3-4897;​ отдельный диапазон (см.​ имеющую определенную структуру.​ в ячейку MS​

​=ИНДЕКС(A4:A12;ПОИСКПОЗ(МАКС(ДЛСТР(A4:A12)); ДЛСТР(A4:A12);0))​A7:A15​НАИМЕНЬШИЙ(ЕСЛИ(ДЛСТР(Список)=$D$7;СТРОКА(Список)-СТРОКА($A$6);9999);​ их в отдельный​ LEN(), возвращает количество​«просматриваемый текст» — где​ нескольких ячеек в​ только имя и​ правой кнопкой мыши​ на фразы дрела,​

Изменение строк

​ дрел23 и т.п.​Часть формулы ПОИСК($C$2;Список)=1 определяет:​ вывода в отдельный​ … ​

​ статью Извлекаем в MS​​ Об этом смотри​​ EXCEL из другой​Первое сверху значение, имеющее​. Для этого: выделите​
​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​
​ диапазон.​

excel2.ru

Поиск нескольких значений с максимальной длиной строки в MS EXCEL

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

​Критерий вводится в ячейку​​начинается​​ диапазон удобно использовать​

Задача

​Как видно, артикул состоит​ EXCEL число из​ статью Разнесение в MS​ информационной системы. В​минимальную​ диапазон, в Строке​Разберем подробнее:​Пусть в диапазоне​ строке. Например, записав​«начальная позиция» — с​ оператор амперсанд (&)​ Формула для извлечения​ значением. Нажимаем «Формат​СОВЕТ:​G2​

Решение

​ли значение из​ формулы массива.​ из 2-х числовых​ конца текстовой строки).​ EXCEL текстовых строк​ этом случае у​длину​ формул введите вышеуказанную​часть формулы ДЛСТР(Список)=$D$7 возвращает​A4:A12​ формулу =ДЛСТР(«8 марта»),​

​ какой позиции начинать​ или функция СЦЕПИТЬ.​ имени: =ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)).​ ячеек». В открывшемся​О поиске текстовых​и выглядит так:​ диапазона​Пусть Исходный список значений​ частей, разделенных дефисом.​​ Но, что делать,​​ по столбцам.​

​ адреса имеется определенная​=ИНДЕКС(A4:A12;ПОИСКПОЗ(МИН(ДЛСТР(A4:A12)); ДЛСТР(A4:A12);0))​ формулу массива и​ массив {ЛОЖЬ: ЛОЖЬ:​имеется список имен.​ получим число 7​

​ искать (по умолчанию​Например, значения расположены в​ Для определения второго​ окне выбираем «все​ значений с учетом​
​ «?дрель?». В этом​
​A5:A13​
​ (например, перечень инструментов)​

​ Причем, числовые части​

  • ​ если в названии​Еще раз отмечу, что​​ структура (если элементы​​Примечание​ нажмите​​ИСТИНА​​Найти самое длинное имя​ — количество знаков​ – 1).​ разных столбцах (ячейках):​ аргумента функции ЛЕВСИМВ​​ форматы». Копируем нужный​​ РЕгиСТра читайте в​ случае будут выведены​с фразы «дрел?».​ находится в диапазоне​ имеют строго заданный​ улицы есть числа?​ перед использованием функций​ адреса хранились в​
  • ​. Вышеуказанную задачу можно​CTRL+SHIFT+ENTER.​: ЛОЖЬ: ЛОЖЬ: ЛОЖЬ:​ (значение с максимальной​ в текстовой строке​​Если нужно учитывать регистр,​​Ставим курсор в ячейку,​​ – количества знаков​​ в строке «Тип».​ статье Поиск текстовых​ все значения,​
  • ​Часть формулы ДЛСТР($C$2)=ДЛСТР(Список)​A5:A13.​ размер: первое число​ Например, «26 Бакинских​ необходимо понять структуру​ отдельных полях) и​ решить без использования​В ячейках диапазона​
  • ​ ЛОЖЬ:​ длиной строки) (см.​ с учетом пробела.​​ используется функция НАЙТИ.​​ где будут находиться​

​ – используется функция​ Вставляем скопированное значение​ значений в списках.​содержащие​ определяет:​См. Файл примера.​ состоит из 1​​ комиссаров». Короче, тут​​ текстовой строки, которую​ скорее всего нет​ формулы массива, но​A7:A15​ИСТИНА​​ файл примера). Так​

​ДЛСТРтекст​​cerber412​​ объединенные три значения.​ ПОИСК. Она находит​ в формулу.​ Часть3. Поиск с​слово дрель, и​равна ли длина строки​Выведем в отдельный диапазон​

​ цифры, второе -​ начинается творчество. ​ требуется разобрать. Например,​ (мало) опечаток. Разгадав​

​ для этого потребуется​
​, не содержащих имен,​: ЛОЖЬ}. В этом​ как имен с​)​: Добрый вечер, форумчане.​ Вводим равно. Выбираем​ пробел в ячейке​Приведем еще пример, где​ учетом РЕГИСТРА.​

excel2.ru

Поиск значения в MS EXCEL с максимальной или минимальной длиной строки

​ у которых есть​значения из диапазона​ значения, которые удовлетворяют​ из 4-х.​

​Не забудьте про пробелы!​ извлечем номер дома​ структуру можно быстро​ создать дополнительные столбцы​ содержится ошибка #ССЫЛКА!​ можно убедиться, выделив​​ одинаковыми длинами может​​Текст​

​помогите с решением​ первую ячейку с​ А2, начиная слева.​
​ может быть полезна​

​Для удобства работы с​ перед ним и​A5:A13​

​ критерию, причем критерий​

​Задача состоит в том,​

​ Каждый пробел -​​ из вышеуказанного адреса.​​ разнести адрес по​

​ с формулой ДЛСТР(A4),​

​ — это результат​​ в Строке формул​​ быть несколько, например​

​  — текст, длину которого​

​ — непростой для​​ текстом и нажимаем​Формула для извлечения фамилии:​ данная функция. Добавим​ текстом в Excel​ после него как​5 символам?​ задан с использованием​ чтобы определить артикулы,​

​ это отдельный символ.​ Понятно, что потребуется​ столбцам. Например, адрес «г.Москва,​ затем найти максимальное​ формулы массива. С​ соответствующее выражение и​ Ярослава и Владимир​ требуется определить. Пробелы​ меня проблемы.​ на клавиатуре &.​

excel2.ru

Разбор текстовых строк в MS EXCEL

​С помощью функции ПОИСК​ нули в начале​ существуют текстовые функции.​ минимум 1 символ.​Знак * (умножить) между​ подстановочных знаков (*,​ у которых левый​ Часто при печати​ использовать функцию ПРАВСИМВ(),​ ул.Тверская, д.13″ очевидно​ значение.​ помощью Условного форматирования​ нажать клавишу​ имеют по 8​ также учитываются.​На листе есть​ Затем – знак​ Excel определяет количество​ числа. Если ввести​

​ Они облегчают обработку​Для создания списка, содержащего​ частями формулы представляет​ ?). Рассмотрим различные​ индекс​ их ставят 2​ но сколько символов​

​ состоит из 3-х​В общем случае значений​ эту ошибку можно​F9​ букв, то и​Если вместо текстового значения​ небольшой диапазон с​ пробела, заключенный в​ знаков для функции​ вручную, Excel их​ сразу сотен строк.​ найденные значения, воспользуемся​ условие И (значение​ варианты поиска.​Первая часть задачи решается​ или 3 подряд,​ извлечь? Два? А​ блоков: город, улица,​ с максимальной длиной​ скрыть.​. Значение ИСТИНА соответствует​ имен с максимальной​ введено число, то​ различными текстовыми данными.​ кавычки (“ “).​ ПРАВСИМВ. Функция ДЛСТР​ удалит. Поэтому введем​ Рассмотрим некоторые из​ формулой массива:​ должно начинаться с​Для удобства написания формул​ формулой =—ЛЕВСИМВ(A16;1)​ а это совсем​

​ если в других​ дом, разделенных пробелами​ строки м.б. несколько.​С помощью Условного форматирования​ значению с максимальной​ длиной может быть​ функция возвращает количество​Чтобы вычислить суммарную​ Снова — &.​ «считает» общую длину​

​ формулу:​ них на примерах.​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ дрел и иметь​

​ создадим Именованный диапазон​Вторая часть задачи решается​ не то же​ адресах номер дома​

​ и запятыми. Кроме​ Иногда требуется вывести​ также выделены имена​ длиной строки. Как​

​ также несколько. Выведем​ цифр.​ длину строк диапазона,​ И так последовательно​ текста. Затем отнимается​Если нужно вернуть прежние​Преобразует числа в текст.​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());»»);​

​ такую же длину,​ Список для диапазона​ формулой =ЗНАЧЕН(ПРАВСИМВ(A16;4)). ​ самое, что один​ состоит из 1​ того, перед названием​ все эти значения​ с максимальной длиной​ видим, это третье​ их все в​Функцию ДЛСТР() можно использовать​ а не только​ соединяем ячейки с​ количество знаков до​ числовые значения (без​ Синтаксис: значение (числовое​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​ как и критерий,​A5:A13​Зачем нам потребовалась функция ЗНАЧЕН()?​ пробел. Используйте функцию Функция​ или 3 цифр?​ стоят сокращения г.,​ в соседнем столбце.​ в Исходном диапазоне.​ и восьмое значение.​ отдельный диапазон.​ в Условном форматировании​ одной ячейки -​ текстом и пробелы.​ первого пробела (найденное​

​ нулей), то используем​ или ссылка на​)​ т.е. 5 букв).​.​ Дело в том,​ СЖПРОБЕЛЫ() в MS​ В этом случае​ ул., д. С​ Об этом читайте​СОВЕТ:​ Всего значений 9,​Создадим для удобства Динамический​ для выделения строк​ сейчас я просто​Получаем в одной ячейке​ ПОИСКом).​ оператор «—»:​ ячейку с формулой,​Часть формулы ПОИСК($G$2;Список) определяет:​ Критерию также будут​Перечень найденных значений будем​ что текстовые функции,​ EXCEL, чтобы избавиться​ можно попытаться найти​ такой задачей достаточно​ в статье Поиск​Как найти значение​

​ как и имен​ диапазон Список. Это​ с длиной превышающей​ складываю ДЛРСТР() каждой​ объединенные значения:​Вторая строка содержит имя,​Обратите внимание, что значения​ дающей в результате​содержит​ соответствовать такие несуразные​ помещать в отдельный​ такие ка ПРАВСИМВ(),​ от лишних пробелов.​

​ подстроку «д.», после​ легко справится инструмент​​ значений с максимальной​ с максимальной или​ в Исходном списке;​ нам позволит добавлять​ пороговое значение. Формула​ ячейки.​Использование функции СЦЕПИТЬ:​

​ отчество и фамилию.​ теперь отображаются в​​ число); формат (для​ли значение из​

​ значения как дрел5,​​ столбец.​ возвращают текст, а​

​Об извлечении чисел из​ которой идет номер​​ MS EXCEL Текст​​ длиной строки.​ минимальной длиной строки​функция ЕСЛИ() возвращает массив​ при необходимости в​ =ДЛСТР(A2)>10, введенная в​Но так -​

​С помощью кавычек в​ Для имени используем​ числовом формате.​ отображения числа в​ диапазона​

Артикул товара

​ дрелМ и т.п.​Найдем все названия инструментов,​ не число (т.е.​

​ текстовой строки​ дома. Это можно​ по столбцам. Как​Часто текстовая строка может​ и вывести только​ номеров строк, в​ Исходный список новые​ правило Условного форматирования​ получается слишком длинная​

​ формуле можно добавить​ такую же формулу:​​ виде текста).​

​A5:A13​ (если они содержатся​

​ которые​ в нашем случае​

​см. здесь: Извлекаем в​ сделать с помощью​ это сделать написано​ содержать несколько значений.​ первое найденное значение​ которых содержатся значения​ имена. Новые имена​позволяет выделить все ячейки,​ формула.​ в конечное выражение​Формула для извлечения фамилии​Отдельные текстовые функции и​Самая полезная возможность функции​фразу «?дрел?». Критерию​

ВНИМАНИЕ!

​ в списке).​начинаются​ число в текстовом​ MS EXCEL число​ функции ПОИСК() (см. статью​ в статье Текст-по-столбцам (мастер​ Например, адрес компании:​ рассказано в статье​ с максимальной длиной​ будут автоматически учтены​ содержащие тектовые строки​

excel2.ru

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки

​Как сделать ее​ любой знак или​ несколько иная: Это​ их комбинации позволяют​ ТЕКСТ – форматирование​ также будут соответствовать​Критерий вводится в ячейку​с фразы дрел​ формате). Для того,​ из начала текстовой​ Нахождение в MS​ текстов) в MS​ «г.Москва, ул.Тверская, д.13»,​ Поиск значения с​

​ строкой {9999:9999:​ при работе нижеследующих​ длиной более 10​​ покороче, но с​​ текст.​

Задача

​ пять знаков справа.​ распределить слова из​ числовых данных для​ значения содержащие фразы​E2​ и​ чтобы применить к​

А. Найти значения, которые начинаются с критерия и содержат определенное количество символов

​ строки или здесь Извлекаем в​ EXCEL позиции n-го​ EXCEL.​​ т.е. название города,​​ максимальной или минимальной​

​3​ формул. Формула для​ символов.​

​ той же функциональностью?​Функция ПОИСК возвращает начальную​​ Вложенные функции ПОИСК​​ одной ячейки в​ объединения с текстовыми​​ 5дрел7, Адрелу и​​и выглядит так:​длина строки​

​ таким числам в​ MS EXCEL число​​ вхождения символа в​​Очевидно, что не всегда​ улицы и номер​ длиной строки.​

​:9999:9999:9999:9999:​ создания Динамического диапазона:​Чтобы ограничить ввод в​Иными словами -​ позицию искомого текста​ ищут второй и​ отдельные ячейки:​ данными. Без использования​ т.п.​ «дрел??». В этом​

​которых составляет 5​ текстовом формате операцию​ из середины текстовой​
​ слове). Далее нужно​
​ адрес имеет четкую​
​ дома. Если необходимо​
​Найдем в списке текстовых​

​8​​ =СМЕЩ(лист1!$A$7;;;СЧЁТЗ(лист1!$A$7:$A$19))​​ ячейки строк с​ сейчас формула такая​​ (без учета регистра).​​ третий пробелы в​
​ЛЕВСИМВ (текст; кол-во знаков)​ функции Excel «не​​Критерий вводится в ячейку​​ случае будут выведены​​ символов.​​ сравнения с другим​

​ строки.​ вычислить количество цифр​ структуру, например, могут​ определить все компании​ значений строку с​:9999}. Остальные элементы массива​Теперь найдем максимальную длину​ длиной не более​ ДЛРСТР()+ДЛРСТР()+ДЛРСТР()+ДЛРСТР()+ДЛРСТР()+ДЛРСТР()​ Например:​ строке. ПОИСК(» «;A3;1)​ – отображает заданное​ понимает», как показывать​I2​

Б. Найти значения, которые начинаются со слова дрель или дрели и содержат как минимум 6 букв

​ все значения, в​​Критерий будет вводиться в​​ числом, т.е. ​Об извлечении названия файла​ номера дома. Это​ быть пропущены пробелы​ в определенном городе,​​ максимальной / минимальной​​ равны 9999 (требуется​ строки с использованием​​ 10 символов можно​​Как сделать ее​

​Функция ПОИСК вернула позицию​ находит первый пробел​ число знаков с​
​ числа, и преобразует​
​и выглядит так:​
​ которые​
​ ячейку​

​Если у Вас есть​​ из полного пути​​ сделано в файле​ (запятые все же​​ то нужно «разобрать»​​ длиной.​ для дальнейшей сортировки);​ формулы массива =МАКС(ДЛСТР(Список)).​ использовать Проверку данных.​ короче?​

В. Найти значения, у которых слово дрель находится в середине строки

​ 10, т.к. слово​​ слева (перед отчеством).​​ начала ячейки;​ их в базовый​ «дрел?». В этом​начинаются​​С2​​ примеры или вопросы,​см. Извлечение имени файла​ примера, ссылка на​ стоят). В этом​ адрес на несколько​

​Пусть имеется список текстовых​функция НАИБОЛЬШИЙ() сортирует полученный​ В нашем случае​
​ В этом случае​
​Может быть есть​
​ «Захар» начинается с​
​ К найденному результату​

​ПРАВСИМВ (текст; кол-во знаков)​​ формат.​​ случае будут выведены​с текста-критерия (со​​и выглядеть так:​​ связанные с разбором​ в MS EXCEL.​ который внизу статьи.​ случае помогут функции,​ составляющих. Аналогичный подход​

Г. Найти значения, которые заканчиваются на слово дрель или дрели

​ значений, среди которых​​ выше массив. Формула​​ это 8 (имена​ использование ДЛСТР() не​ способ определения длины​ десятого символа в​​ добавляем единицу (+1).​​ – возвращает заданное​Покажем на примере. Допустим,​

​ все значения,​

​ слова дрел) и​ «дрел?». Вопросительный знак​ текстовых строк -​
​Про разбор фамилии​
​Усложним ситуацию. Пусть подстрока «д.»​
​ работающие с текстовыми​
​ потребуется, если необходимо​

​ нужно найти значение​​ СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))) возвращает массив​ Ярослава и Владимир​​ требуется, т.к. Проверка​​ строки — не​​ строке. Где это​ Получаем ту позицию,​ количество знаков с​ нужно объединить текст​заканчивающиеся​

​длиной как минимум​
​ является подстановочным знаком.​ смело пишите в​см. Разделяем пробелами Фамилию,​ может встречаться в​ строками. Вот эти​ разнести по столбцам​ с максимальной длиной​

excel2.ru

Функции для работы с текстом в Excel

​ последовательных чисел от​ имеют длину по​ данных уже содержит​ ДЛРСТР для одной​ может пригодиться?​ с которой будем​ конца ячейки;​

Примеры функции ТЕКСТ в Excel

​ в строках и​на слова дрель​6 символов.​Для реализации этого варианта​ комментариях к этой​ Имя и Отчество.​ адресе несколько раз,​ функции:​

​ Имя и фамилию,​ строки. Список значений​ 1 до 9​ 8 букв). Формулу​ преднастроенное правило.​ ячейки, а какой-нибудь​Функция ПОИСК определяет положение​ искать второй пробел.​ПОИСК (искомый текст; диапазон​ числовые значения:​

​ или дрели.​Для создания списка, содержащего​ поиска требуется функция​ статье или в​

Выручка.

​Часто в русских текстовых​ например, при указании​- Функция ЛЕВСИМВ() в MS​

Плохой пример.

​ артикул товара или​ находится в диапазоне​ (9 – количество​ разместим в ячейке​Функция ДЛСТР() часто используется​ другой формулой -​ знака в текстовой​Часть формулы – ПОИСК(«​

ТЕКСТ.

​ для поиска; начальная​Использование амперсанда без функции​

​ ​ найденные значения, воспользуемся​ позволяющая использовать подстановочные​ группу ! Я​ строках попадаются​ названия деревни используется​ EXCEL — выводит нужное​ извлечь число или​A4:A12​ значений в исходном​D7​ при изменении строк.​

Формат ячеек.

​ для нескольких ячеек​ строке. А функция​ «;A3;ПОИСК(» «;A3;1)+1) –​ позиция) – показывает​ ТЕКСТ дает «неадекватный»​Для создания списка, содержащего​ формулой массива:​ знаки: используем функцию​

Числа.

​ дополню эту статью​английские буквы​ сокращение «д.», т.е.​ количество левых символов​

Оператор 2 минуса.

​ дату из текстовой​(см. Файл примера).​ массиве);​

​.​

Функция разделения текста в Excel

​ Например, когда требуется​ разом.​ ПСТР возвращает текстовые​ находит второй пробел.​ позицию первого появления​

  • ​ результат:​ найденные значения, воспользуемся​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ ПОИСК(). Согласно критерию​
  • ​ самыми интересными из​. Их также можно​ совпадает с префиксом​ строки;​
  • ​ строки.​Сначала найдем максимальную длину​функция ИНДЕКС() возвращает значения​Также найдем количество значений​ вывести часть строки.​buchlotnik​ значения (см. пример​

​ Это будет конечная​ искомого знака или​Excel вернул порядковый номер​ формулой массива:​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»);​

​ «дрел?» (длина 5​ них.​ обнаружить и извлечь,​ номера дома. В​

ФИО.

​- Функция ПРАВСИМВ() в MS​Данная статья является сводной,​ строки с использованием​ с максимальной длиной​ с максимальной длины​Пусть в ячейке​: так а что​ выше). Либо можно​ позиция отчества.​ строки при просмотре​ для даты и​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​

​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​

ПРАВСИМВ.

​ символов) — должны​Найдем текстовые значения, удовлетворяющие​ см. Есть ли в​ этом случае нужно​ EXCEL — выводит нужное​ т.е. в ней​ формулы массива:​ строки из столбца​ строки =СУММПРОИЗВ((ДЛСТР(Список)=D7)*1). В​

​А1​ мешает так?​ заменить найденный текст​Далее из общей длины​

ЛЕВСИМВ.

​ слева направо​ общий формат вместо​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());»»);​)​ быть выведены 3​ заданному пользователем критерию.​ слове в MS​ определить все строки,​ количество правых символов​ содержатся ссылки на​=МАКС(ДЛСТР(A4:A12))​А​ нашем случае это​содержится имя файла​

​=СУММПРОИЗВ(ДЛСТР(D7:G9))​ посредством функции ЗАМЕНИТЬ.​ строки отнимается количество​При разделении текста в​ денежного. Чтобы избежать​

​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​Часть формулы ПОИСК($E$2;Список)=1 определяет:​ значения: Дрель, дрель,​ Критерии заданы с​ EXCEL латинские буквы,​ в которых имеется​ строки;​

​ другие статьи, в​Теперь найдем значение, имеющее​.​

ПСТР.

Функция объединения текста в Excel

​ 2 (имена Ярослава​ «Расчет.xlsx», требуется извлечь​или что то​Скачать пример функции для​ знаков с начала​

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

ФИО 2.

​)​начинается​ Дрели.​ использованием подстановочных знаков.​ цифры, ПРОПИСНЫЕ символы.​ название деревень (первые​- Функция ПСТР() в MS​ которых решены определенные​ максимальную длину строки,​Формула массива возвращает несколько​ и Владимир).​ его расширение. Формула​ же самое массивкой​ работы с текстом​

​ строки до второго​ каждого знака. Пробелы​

Объединение.

​ функция ТЕКСТ. Она​

СЦЕПИТЬ.

​Часть формулы ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2))) определяет:​ли значение из​Для создания списка, содержащего​ Поиск будем осуществлять​Все статьи сайта, связанные​

Функция ПОИСК текста в Excel

​ 2 символа, т.к.​ EXCEL — выводит часть​ задачи. Начнем с​ точнее первое значение.​

СЦЕПИТЬ.

​ значений и должна​Наконец выведем значения, имеющие​=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(«.»;A1))​ Код=СУММ(ДЛСТР(D7:G9))​ в Excel​ пробела. Результат –​

​ показывают начало или​ форматирует значения по​совпадают ли последние 5​ диапазона​ найденные значения, воспользуемся​ в диапазоне с​ с преобразованием текстовых​ это адрес населенного​

​ текста из середины​ адресов.​Задача​

​ быть введена в​ максимальную длину строки,​решает эту задачу.​

​cerber412​

  • ​Читайте так же: как​ число символов справа,​
  • ​ конец искомого имени.​ заданию пользователя.​
  • ​ символов​A5:A13​ формулой массива:​ повторяющимися значениями. При​

​ строк собраны в​ пункта) и исключить​

exceltable.com

Узнать длину строк — для нескольких ячеек разом. (Формулы/Formulas)

​ строки.​​Самый простейший случай, если​
​Решение​ диапазон, совпадающий по​ в отдельный диапазон.​
​Найдем в исходном списке​: buchlotnik, вот. Заработало.​ перевести число и​
​ которые нужно вернуть.​Распределим с помощью функций​Формула «для даты» теперь​значений из диапазона​с фразы «дрел??».​=ИНДЕКС(Список;​ наличии повторов, можно​
​ этом разделе: Изменение Текстовых​ их. Также можно​Используя комбинации этих функций​
​ адрес, состоящий из​Первое сверху значение, имеющее​ размерности с исходным​
​ Для этого используем​ текстовые значения, которые​Спасибо за дельный​
​ сумму прописью.​Формула «для отчества» строится​
​ имя, фамилию и​ выглядит так:​A5:A13​ Критерию также будут​НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»);​ ожидать, что критерию​ Строк (значений).​ извлечь все цифры​

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

​Синтаксис функции ПОИСК:​​ по тем же​
​ отчество в разные​Второй аргумент функции –​

excelworld.ru

​с фразой «дрел?».​

  • Что делает функция ДЛСТР?
  • Синтаксис
  • Форматирование
  • Примеры применения ДЛСТР
    • Пример 1. Посчитать слова
    • Пример 2 – посчитать встречаемость фрагмента в тексте
    • Пример 3 – извлечь или удалить последнее слово
    • Пример 4 – удалить первые N символов / первое слово
    • Пример 5 – последние символы ячейки
    • Пример 6 – в формуле массива
    • Пример 7 – извлечь цифры
Раздел функций Текстовые
Название на английском LEN
Волатильность Не волатильная
Похожие функции СЧЁТЗ

Что делает функция ДЛСТР?

Функцию часто называют “Длина строки”, что не совсем корректно, потому что речь не о строке, а о строковом выражении значения аргумента.

Эта функция позволяет посчитать количество символов в ячейке, включая пробелы и цифры, в этом самом строковом выражении. Обратите внимание на примеры ниже.

  • Хотя визуально 2500% это 5 символов, при преобразовании в текстовую строку это всего лишь 25, поэтому ДЛСТР возвращает 2.
  • Даты преобразуются в целые числа, где единицей является 1.01.1900 – вот почему для неё функция возвращает длину 1.
функция ДЛСТР - простейшие примеры
Примеры взаимодействия функции ДЛСТР с разными текстовыми и числовыми значениями в ячейках

Есть символ, который функция ДЛСТР вообще не учитывает. Это апостроф (‘), когда он в начале ячейки. Если в начале ячейки идут два символа апострофа подряд, второй уже учитывается.

Почему так происходит? Дело в том, что апостроф в Excel — один из специальных символов-операторов, переводящий формат ячейки в текстовый.

Синтаксис

=ДЛСТР(Аргумент)

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

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

Если входящее значение не в текстовом формате, оно конвертируется в него.

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

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

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

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

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

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

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

Если есть вероятность, что пробелов больше 1 между словами, или они есть в начале и конце ячейки, их можно устранить функцией СЖПРОБЕЛЫ.

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

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

Как получить строку без пробелов? Тут поможет функция ПОДСТАВИТЬ.

Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. СЖПРОБЕЛЫ удаляет лишние пробелы, ПОДСТАВИТЬ удаляет их, а ДЛСТР измеряет длину строк:

=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";"")) + 1

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

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

Рассмотрим пару примеров формул.

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

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

=ДЛСТР(СЖПРОБЕЛЫ(A1))<>ДЛСТР(A1)
ДЛСТР для проверки лишних пробелов - пример
Формула проверки наличия лишних пробелов в строке

Формула очевидна и довольно проста. Если длина ячейки после удаления лишних пробелов функцией СЖПРОБЕЛЫ равна исходной – значит, их в ней нет, а если наоборот, не равна – есть.

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

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

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

Если мы ищем один символ, это позволит сразу понять его встречаемость.

Для удаления произвольного символа из строки нам понадобится функция ПОДСТАВИТЬ.

Пример - ДЛСТР для подсчета встречаемости буквы в ячейке

Подсчет встречаемости буквы в ячейке

Если же текстовый фрагмент длиной 2 и более символов – нам потребуется еще и поделить полученный результат на его длину:

=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;B1;"")))/ДЛСТР(B1)

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

пример - функция ДЛСТР для подсчета встречаемости текстового фрагмента
Подсчет встречаемости текстового фрагмента

Обратите внимание на 5 и 6 строки – поскольку функция “ПОДСТАВИТЬ” чувствительна к регистру, из текста ею не было удалено первое вхождение. Если нужно учитывать вхождения в любом регистре, могут понадобиться функции СТРОЧН или ПРОПИСН.

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

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

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

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

С этим нам, как и в предыдущем примере, поможет функция ПОДСТАВИТЬ – она позволяет заменить не только все определенные текстовые фрагменты в строке, но и определенное по порядку вхождение (первое, второе и т.д.).

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

Подробно пример рассмотрен здесь: Удалить последнее слово в Excel

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

Нехитрая комбинация функций ПРАВСИМВ, ПОИСК и ДЛСТР позволяет удалить из ячейки первое слово.

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

  1. вычисляем позицию первого пробела функцией ПОИСК,
  2. вычитаем из длины строки (ДЛСТР) это число
  3. Извлекаем функцией ПРАВСИМВ полученную разницу из исходной строки

ПРАВСИМВ - пример с извлечением второго слова

Удаляем первое слово из ячейки, получая второе

Подробнее пример рассмотрен в статье про функцию ПРАВСИМВ.

Если же количество символов уже известно заранее, формула еще проще – нужны только ДЛСТР и ПРАВСИМВ:

=ПРАВСИМВ(A1;ДЛСТР(A1)-4)
ДЛСТР для удаления первых N символов - пример
Удаляем из строки первые 4 символа функциями ДЛСТР и ПРАВСИМВ

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

Пример 5 – последние символы ячейки

Как бы ни звучало очевидно, позиция последнего символа в строке равна ее длине в символах. А поэтому, зная длину строки, можно, например:

  • удалить последние символы в ячейке
  • извлечь последние символы из ячеек

А ниже примеры, как заменить последний символ в ней, взяв на 1 символ меньше с помощью ЛЕВСИМВ, и конкатенации с нужным текстом через амперсанд:

=ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&"Текст вместо последнего символа"

Или с помощью функции ЗАМЕНИТЬ, которая на вход возьмет длину строки как позицию заменяемого символа:

=ЗАМЕНИТЬ(A1;ДЛСТР(A1);1;"Текст вместо последнего символа")

Пример 6 – в формуле массива

Как посчитать все символы в диапазоне ячеек или столбце?

Здесь поможет формула массива на основе комбинации функции ДЛСТР и функции СУММ. Первая создаст массив значений длины каждой из ячеек диапазона, а вторая просуммирует эти значения:

={СУММ(ДЛСТР(ДИАПАЗОН))}

Пример - функция ДЛСТР в формуле массива

Функция ДЛСТР в формуле массива

Аналогичным способом функциями МАКС и МИН можно посчитать длины самой длинной и самой короткой строк в диапазоне.

Фигурные скобки вводить не нужно, они появятся сами при вводе формулы массива сочетанием клавиш Ctrl+Shift+Enter (вместо обычного Enter).

Пример 7 – извлечь цифры

Подробно процесс рассмотрен в разделе соответствующей статьи – как извлечь цифры из ячеек Excel формулой.

Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

Чтобы узнать длину строки в Excel существует функция ДЛСТР().

Синтаксис:

ДЛСТР(текст)

ДЛИНБ(текст)

Аргументы:

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

Например, ДЛСТР(«экономика») = 9.

Примеры подсчёта длины строки в Excel:

Длина строки в Excel. Функция ДЛСТР() 1


Подсчет символов в ячейках

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Если вам нужно подсчитать количество символов в ячейках, функция LENиспользовать — которого подсчитывает букв, чисел, знаков и все пробелы. Например, длина «Находится 98 градусов сегодня, поэтому я буду перейти swimming» (за исключением кавычки) — 42 символов — 31 буквы, числа 2, 8 пробелов, запятую и апострофы 2.

Чтобы использовать функцию, введите = ДЛСТР (ячейку) в строке формул, нажмите клавишу ВВОД на клавиатуре.

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

Чтобы получить общее количество символов в нескольких ячейках является использование функций сумм вместе с ДЛСТР. В этом примере функция LEN подсчитывается количество символов в каждой ячейке и функция сумм прибавляет счетчиков:

Попробуйте попрактиковаться

Ниже приведены некоторые примеры того, как работает функция ДЛСТР.

Скопируйте приведенную ниже таблицу и вставьте ее в ячейку A1 на листе Excel. Перетащите формулу из ячейки B2 B4, чтобы увидеть длину текста во всех ячейках в столбце A.

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

ФИО, номера банковских карт, адреса клиентов или сотрудников, комментарии и многое другое –все это является строками, с которыми многие сталкиваются, работая с приложением Excel. Поэтому полезно уметь обрабатывать информацию подобного типа. В данной статье будут рассмотрены текстовые функции в Excel, но не все, а те, которые, по мнению office-menu.ru, самые полезные и интересные:

Список всех текстовых функций Вы можете найти на вкладке «Формулы» => выпадающий список «Текстовые»:

Функция ЛЕВСИМВ

Возвращает подстроку из текста в порядке слева направо в заданном количестве символов.

Синтаксис: =ЛЕВСИМВ(текст; [количество_знаков])

  • текст – строка либо ссылка на ячейку, содержащую текст, из которого необходимо вернуть подстроку;
  • количество_знаков – необязательный аргумент. Целое число, указывающее, какое количество символов необходимо вернуть из текста. По умолчанию принимает значение 1.

Пример использования:

Формула: =ЛЕВСИМВ(«Произвольный текст»;8) – возвращенное значение «Произвол».

Функция ПРАВСИМВ

Данная функция аналогична функции «ЛЕВСИМВ», за исключением того, что знаки возвращаются с конца строки.

Пример использования:

Формула: =ПРАВСИМВ(«произвольный текст»;5) – возвращенное значение «текст».

Функция ДЛСТР

С ее помощью определяется длина строки. В качестве результата возвращается целое число, указывающее количество символов текста.

Синтаксис: =ДЛСТР(текст)

Пример использования:

Функция НАЙТИ

Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».

Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])

  • искомый_текст – строка, которую необходимо найти;
  • текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
  • нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.

Пример использования:

Из отрывка стихотворения великого поэта С.А.Есенина находим вхождение первого символа строки «птица». Поиск осуществляется с начала строки. Если в приведенном примере поиск осуществлялся бы с 40 символа, то функция в результате вернула ошибку, т.к. позиции вхождения не было найдено.

Функция ЗАМЕНИТЬ

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

Синтаксис: ЗАМЕНИТЬ(старый_текст; начальная_позиция; количество_знаков; новый_текст)

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

Пример использования:

Здесь в строке, содержащейся в ячейке A1, подменяется слово «старый», которое начинается с 19-го символа и имеет длину 6 символов, на слово «новый».

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

  • Аргумент «начальная_позиция» подменим функцией «НАЙТИ»;
  • В место аргумент «количество_знаков» вложим функцию «ДЛСТР».

В результате получим формулу: =ЗАМЕНИТЬ(A1;НАЙТИ(«старый»;A1);ДЛСТР(«старый»);»новый»)

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

Функция ПОДСТАВИТЬ

Данная функция заменяет в тексте вхождения указанной подстроки на новый текст, чем схожа с функцией «ЗАМЕНИТЬ», но между ними имеется принципиальное отличие. Если функция «ЗАМЕНИТЬ» меняет текст, указанный посимвольно вручную, то функция «ПОДСТАВИТЬ» автоматически находит вхождения указанной строки и меняет их.

Синтаксис: ПОДСТАВИТЬ(текст; старый_текст; новый_текст; [номер_вхождения])

  • текст – строка или ссылка на ячейку, содержащую текст;
  • старый_текст – подстрока из первого аргумента, которую необходимо заменить;
  • новый_текст – строка для подмены старого текста;
  • номер_вхождения – необязательный аргумент. Принимает целое число, указывающее порядковый номер вхождения старый_текст, которое подлежит замене, все остальные вхождения затронуты не будут. Если оставить аргумент пустым, то будут заменены все вхождения.

Пример использования:

Строка в ячейке A1 содержит текст, в котором имеются 2 подстроки «старый». Нам необходимо подставить на место первого вхождения строку «новый». В результате часть текста «…старый-старый…», заменяется на «…новый-старый…».

Если ли бы последний аргумент был опущен, то результатом бы стала строка «строка, содержащая новый-новый текст».

Функция ПСТР

ПСТР возвращает из указанной строки часть текста в заданном количестве символов, начиная с указанного символа.

Синтаксис: ПСТР(текст; начальная_позиция; количество_знаков)

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

Пример использования:

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

Аргумент количество_знаков может превышать допустимо возможную длину возвращаемых символов. Т.е. если в рассмотренном примере вместо количество_знаков = 12, было бы указано значение 15, то результат не изменился, и функция так же вернула строку «функции ПСТР».

Для удобства использования данной функции ее аргументы можно подменить функциями «НАЙТИ» и «ДЛСТР», как это было сделано в примере с функцией «ЗАМЕНИТЬ».

Функция СЖПРОБЕЛЫ

Данная функция удаляется все лишние пробелы: пробелы по краям и двойные пробелы между словами. После обработки строк функцией остаются только одиночные пробелы между словами.

Синтаксис: =СЖПРОБЕЛЫ(текст)

Пример использования:

=СЖПРОБЕЛЫ( » Текст с лишними пробелами между словами и по краям « )

Результатом выполнения функции будет строка: «Текст с лишними пробелами между словами и по краям» .

Функция СЦЕПИТЬ

С помощью функции «СЦЕПИТЬ» можно объединить несколько строк между собой. Максимальное количество строк для объединения – 255.

Синтаксис: =СЦЕПИТЬ(текст1; [текст2]; …)

Функция должна содержать не менее одного аргумента

Пример использования:

Функция возвратит строку: «Слово1 Слово2».

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

Вместо использования данной функции можно применять знак амперсанда «&». Он так же объединяет строки. Например: «=»Слово1″&» «&«Слово2″».

Excel works!

Excel работает за вас

Excel works!

Thanks for Visiting

Как посчитать количество символов в ячейке Excel? Работа с текстом

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

1. Как найти количество символов в ячейке Excel?

Для этого используется функция =ДЛСТР(), она возвращает количество символов в ячейке в виде числа. Как она работает видно в примере 1.

В случае если в этой ячейка записана именно формула, то =ДЛСТР() возвращает именно длину результата формулы. Пример 2.

2. Как обрезать текст слева или справа?

Для того, чтобы обрезать текст по количеству символов слева или справа используются функции =ЛЕВСИМВ() и =ПРАВСИМВ(), в скобках указываете ячейку с текстом, точка с запятой, количество символов для обреза.

Но их с успехом может заменить функция =ПСТР() . Она оставляет количество символов в заданном диапазоне, смотрите пример 4. Для замены лев- и правсимв, используйте =ПСТР() с начальной позицией 1, а с конечной позицией = длине строки. Пример 6.

3. Как посчитать количество определенных символов в строке?

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

Нам нужно подсчитать кол-во точек в заданной фразе. Первая часть формулы, я думаю, понятна, во второй части формулы применяется функция =ПОДСТАВИТЬ(), где вместо точек записываются «», т.е. пусто. Поэтому, как мы говорили ранее, нам выдает правильно количество точек в этой ячейке.

4. Небольшая хитрость. Как посчитать количество слов в строке?

Чтобы подсчитать количество слов, мы предположим, что количество слов = количеству пробел +1. Запишем формулу из примера 7 с нужными изменениями. См. пример 8.

Не получилось? Правильно, потому что в самом начале фразы у нас стоит многоточие, а это не слово. Поэтому формулу необходимо немного изменить. Как? Догатайтесь сами 😉 А в примере я оставлю все как есть.

ШКОЛА ПРОГРАММИРОВАНИЯ

Сообщение об ошибке

Работа со строками в Excel. Текстовые функции Excel

Часто в Excel приходится тем или иным образом обрабатывать текстовые строки. Вручную такие операции проделывать очень сложно когда кол-во строк составляет не одну сотню. Для удобства в Excel реализован не плохой набор функций для работы со строковым набором данных. В этой статье я коротко опишу необходимые функции для работы со строками категории «Текстовые» и некоторые рассмотрим на примерах.

Функции категории «Текстовые»

Итак, рассмотрим основные и полезные функции категории «Текстовые», с остальными можно ознакомиться самостоятельно.

  • БАТТЕКСТ (Значение) – функция преобразующая число в текстовый тип;
  • ДЛСТР (Значение) – вспомогательная функция, очень полезна при работе со строками. Возвращает длину строки, т.е. кол-во символов содержащихся в строке;
  • ЗАМЕНИТЬ (Старый текст, Начальная позиция, число знаков, новый текст) – заменяет указанное кол-во знаков с определенной позиции в старом тексте на новый;
  • ЗНАЧЕН (Текст) – преобразует текст в число;
  • ЛЕВСИМВ (Строка, Кол-во знаков) – очень полезная функция, возвращает указанное кол-во символов, начиная с первого символа;
  • ПРАВСИМВ (Строка, Кол-во знаков) – аналог функции ЛЕВСИМВ, с той лишь разницей, что возврат символов с последнего символа строки;
  • НАЙТИ (текст для поиска, текст в котором ищем, начальная позиция) – функция возвращает позицию, с которой начинается вхождение искомого текста. Регистр символов учитывается. Если необходимо не различать регистр символов, воспользуйтесь функцией ПОИСК. Возвращается позиция только первого вхождения в строке!
  • ПОДСТАВИТЬ (текст, старый текст, новый текст, позиция) – интересная функция, на первый взгляд похожа на функцию ЗАМЕНИТЬ, но функция ПОДСТАВИТЬ способна заменить на новую подстроку все вхождения в строке, если опущен аргумент «позиция»;
  • ПСТР (Текст, Начальная позиция, Кол-во знаков) – функция похожа на ЛЕВСИМВ, но способна возвратить символы с указанной позиции:
  • СЦЕПИТЬ (Текст1, Текст 2 …. Текст 30) – функция позволяет соединить до 30-ти строк. Так же, можно воспользоваться символом «&», выглядеть будет так «=”Текст1” & ”Текст2” & ”Текст3”»;

Это в основном часто используемые функции при работе со строками. Теперь рассмотрим пару примеров, которые продемонстрируют работу некоторых функций.

Пример 1
Дан набор строк:

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

Извлечем в столбец В номера накладных. Для этого найдем так называемый ключевой символ или слово. В нашем примере видно, что перед каждым номером накладной стоит «№», а длина номера накладной 6 символов. Воспользуемся функциями НАЙТИ и ПСТР. Пишем в ячейку B2 следующую формулу :

= ПСТР (A2; НАЙТИ («№»;A2)+1;6)

Разберем формулу. Из строки А2 с позиции следующей после найденного знака «№», мы извлекаем 6 символов номера.

Теперь извлечем дату. Тут все просто. Дата расположена в конце строки и занимает 8 символов. Формула для С2 следующая:

= ПРАВСИМВ (A2;8)

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

= ЗНАЧЕН ( ПРАВСИМВ (A2;8))

а затем, задать формат отображения в ячейке, как это сделать было описано в статье «Формат данных в Excel».

Ну и последнее, для удобства дальнейшей фильтрации строк, введем столбец месяц, который мы получим из даты. Только для создания месяца нам необходимо откинуть день и заменить его на «01». Формула для D2:

= ЗНАЧЕН ( СЦЕПИТЬ («01»; ПРАВСИМВ (A2;6))) или = ЗНАЧЕН («01″& ПРАВСИМВ (A2;6))

Задайте формат ячеке «ММММ ГГГГ». Результат:

Пример 2
В строке «Пример работы со строками в Excel» необходимо все пробелы заменить на знак «_», так же перед словом «Excel» добавить «MS».

Формула будет следующая:

=ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;ПОИСК(«excel»;A1);0;»MS «);» «;»_»)

Для того, чтоб понять данную формулу, разбейте ее на три столбца. Начните с ПОИСК, последней будет ПОДСТАВИТЬ.

Все. Если есть вопросы, задавайте, не стесняйтесь

Количество символов в ячейке Excel: формула подсчета и функция

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

На самом деле выполнить поставленную задачу достаточно просто, ведь в Эксель предусмотрена функция под названием “ДЛСТР”, которая применяется именно в таких случаях.

Количество символов в одной ячейке

Ниже приведен алгоритм действий для использования функции “ДЛСТР”:

  1. Становимся в ту ячейку, куда планируем вставить функцию, после чего щелкаем по кнопке “Вставить функцию” (с левой стороны от строки формул).
  2. Откроется окно Мастера функций. Кликнув по текущей категории выбираем пункт “Текстовые”.
  3. В предложенном перечне операторов выбираем “ДЛСТР” и жмем кнопку OK.
  4. На экране отобразится окно аргументов функции. На самом деле у данного оператора всего одно поле для заполнения, в котором нужно указать координаты ячейки, количество символов в которой нужно посчитать. Причем указать можно только адрес конкретной ячейки, ссылки на несколько ячеек или диапазон элементов оператором не поддерживаются. Прописать координаты в поле аргумента можно вручную. Также выбрать нужную ячейку можно, щелкнув левой кнопкой мыши по ней, предварительно кликнув по области ввода информации. После того, как значение аргумента заполнено, кликаем OK.
  5. Результат в виде количества символов в выбранной ячейке (в аргументах функции) сразу же отобразится на экране. А готовая формула функции отобразится, соответственно, в строке формул.

Количество знаков в столбце или строке

Как и многие другие действия, подсчет количества символов в столбце или строке можно автоматизировать, и вовсе не обязательно добавлять и настраивать аргументы функции для каждой ячейки вручную. В качестве примера мы выполним поставленную задачу для столбца. Для строки действия аналогичны с соответствующими корректировками:

  1. Чтобы растянуть результат на другие строки столбца наводим указатель мыши на правый нижний угол ячейки с функцией “ДЛСТР”, как только он сменит вид на небольшой плюсик, зажав левую кнопку мыши тянем его вниз до той строки, для которой мы хотим получить аналогичный результат.
  2. Как мы можем заметить, благодаря этому нехитрому действию нам удалось в считанные секунды получить данные по количеству символов для каждой ячейки выбранного столбца.

Ранее мы упоминали, что в качестве аргумента функции “ДЛСТР” можно указать только адрес одной конкретной ячейки. Поэтому, чтобы определить суммарное количество знаков во всех ячейках столбца нужно воспользоваться одним из способов подсчета суммы значений. Подробнее ознакомиться со всеми методами можно в нашей статье – “Как посчитать в Экселе сумму столбца”.

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

  1. Выделяем ячейки столбца. Далее нажимаем кнопку “Сумма” в разделе инструментов “Редактирование” (вкладка “Главная”).
  2. Результат в виде суммарного количества символов во всех ячейках столбца отобразится в ячейке сразу под выделенным диапазоном.

Определение количества знаков в разбросанных ячейках

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

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

    1. Отмечаем ячейку, куда планируем вставить формулу. Далее ставим знак “равно” (“=”) и через знак плюса добавляем функции “ДЛСТР” для каждой ячейки, которая должна участвовать в финальном расчете. Например, нам нужно определить итоговое количество знаков в ячейках A2, A5, A10, B3, B10, C8 и C12.
      Следовательно, финальная формула должна выглядеть следующим образом:
      =ДЛСТР(A2)+ДЛСТР(A5)+ДЛСТР(A10)+ДЛСТР(B3)+ДЛСТР(B10)+ДЛСТР(C8)+ДЛСТР(C12).
    2. После того, как формула набрана, нажимаем клавишу Enter и получаем готовый результат в выбранной ячейке.

Заключение

Некоторые пользователи, столкнувшись с такой задачей, как подсчет количества знаков в определенной ячейке или диапазоне ячеек в Excel тратят немало усилий на выполнение данной процедуры вручную, не догадываясь о наличии специально предназначенной для этого функции ДЛСТР, освоение которой займет пару минут, а результатом станет безошибочный результат и экономия одного из самых главных ресурсов – времени.

Вопрос: как правильно работать со строками в Эксель, интересует многих пользователей. Рассматривать его можно с различных сторон, именно это мы и сделаем в данной статье.

Измерить длину

Длину строки в Excel можно измерить количеством ячеек в ней, и количеством символов, введенных в одну ячейку. Максимальное количество ячеек в одном рядке Excel 2010 – «16 384», в одну ячейку можно ввести максимум «32 767 символов». Чтобы перейти к последней ячейке, нажмите комбинацию «Ctrl+стрелка вправо».

Работа со строками в Excel

Сколько их всего

Количество строк в Excel 2010 составляет «1 048 576». Чтобы посмотреть номер самой последней в Экселе, нажмите «Ctrl+стрелка вниз».

Добавить новую

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

Появится диалоговое окно «Добавление ячеек». Поставьте маркер в подходящем поле и нажмите «ОК».

Таким же образом можно добавить строку в таблицу Excel.

Сделать строку в Эксель можно и другим способом. Выделяем блок, который будет располагаться под ней. Дальше на вкладке «Главная» нажимаем на кнопочку «Вставить» и выбираем из меню «Вставить строки на лист».

Удалить

Для того чтобы удалить, например, пустую строку с листа Эксель, кликаем по ней правой кнопкой мыши и выбираем «Удалить».

После этого откроется уже знакомое диалоговое окно, в котором ставим маркер в поле «строку» и нажимаем «ОК».

Еще один способ: выделяем любую ячейку из рядка, который будем удалять. Потом на вкладке «Главная» кликаем по кнопочке «Удалить» и выбираем из меню «Удалить строки с листа».

Перенос текста

Если Вам нужно сделать перенос строки в ячейке – это аналогично созданию нового абзаца в Word – поставьте курсор перед тем словом, с которого будет начинаться новый абзац, и нажмите «Alt+Enter».

Применим этот способ к блоку А1. Теперь слово «СЮДА» начинается с нового абзаца. При выделении А1 в строке формул появляются две стрелочки. Кликая по ним, можно просматривать весь текст.

Если Вам просто нужно, чтобы были видны все слова, написанные в ячейке, выделите ее и на вкладке «Главная» нажмите на кнопочку «Перенос текста».

Высота самого блока будет автоматически расширена.

Изменить высоту

Изменить высоту строки можно несколькими способами. Самый простой – подведите курсор к нумерации нужного рядка в документе Excel, чтобы он принял вид стрелочки, направленной вверх-вниз. Нажмите левую кнопку мышки и растяните на нужную высоту.

Для того чтобы выровнять высоту всех строк в документе, то есть сделать ее одинаковой, выделите все необходимые. На вкладке «Главная» кликните по кнопочке «Формат» и выберите из меню «Высота строки».

В следующем окне задайте нужное значение для высоты и нажмите «ОК».

Если Вам нужно, чтобы высота соответствовала содержимому в ячейке, снова на вкладке «Главная» кликните по кнопочке «Формат». Затем выберите из меню «Автоподбор высоты строки».

Как выделить

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

Таким же способом, можно выделить несколько рядочков подряд. Только теперь зажмите левую кнопку мыши и протяните курсор вниз, на необходимое количество. Программа будет показывать количество выделенных рядочков. В примере это «3R».

Чтобы выделить несмежные строки, например, «3,4,5» и «7,8,9». Выделяем сначала «3,4,5», затем нажмите и удерживайте клавишу «Ctrl». Теперь выделяем «7,8,9».

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

Посчитать количество

Количество строк в Эксель можно посчитать различными способами.

Посчитаем пустые рядочки. В моем примере, они расположены в диапазоне «В4:В11». Для этого выделите любую ячейку на листе, и напишите в ней формулу: =СЧЁТЕСЛИ(B4:B11;»»). Здесь, вместо «В4:В11» – введите свой диапазон, в кавычках записано условие, так как ищем незаполненные, то там пусто. Результат – 8 пустых.

Чтобы посчитать заполненные – возьмем для примера диапазон «А1:А10», снова выделите любой блок, и напишите в нем формулу: =СЧЕТЕСЛИ(А1:А10;»<>»). Диапазон укажите свой, в качестве условия задаем «<>» – ищет непустые блоки.

Если в рядках, которые нужно посчитать, есть пустые и не пустые блоки, то можно просуммировать СЧЁТЕСЛИ с различными условиями для одинакового диапазона.

Чтобы посчитать строки в Excel, также можете воспользоваться функцией СЧЁТЕСЛИМН – в ней можно задавать различные диапазоны и условия, или функцией СЧИТАТЬПУСТОТЫ. Прочитать о них подробно можно в статье: как посчитать количество ячеек.

Как скрыть

Чтобы скрыть их на листе, выделите необходимые, затем кликните по выделенному правой кнопкой мыши и выберите из меню «Скрыть».

Если потребуется отобразить скрытые рядки, выделите по одному рядку, которые находятся выше и ниже них, затем кликните по ним правой кнопкой мыши и выберите из меню «Показать».

Группировка

Группировка рядков в документе может помочь при создании больших таблиц, в которых, помимо основных данных, есть еще и объяснения к этим данным. В таких случаях, объяснения можно сгруппировать, и просматривать, когда необходимо.

Чтобы сгруппировать строки в Эксель, выделите нужные, перейдите на вкладку «Данные», кликните «Структура»«Группировать».

В следующем окне поставьте маркер в поле «строки» и нажмите «ОК».

Строки будут сгруппированы. Чтобы их развернуть нажмите на «+», свернуть – на «-».

Если нужно будет разгруппировать строки, выделите их и выберите в «Структуре» «Разгруппировать».

Как закрепить

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

Находится необходимая кнопочка на вкладке «Вид». Кликните по кнопочке «Закрепить области» и выберите нужный вариант из списка.

В Excel также есть возможность сделать автоматическую нумерацию строк. Если Вам нужно поменять строки со столбцами в таблице, прочтите статью, как преобразовать строку в столбец в Excel.

Основные моменты, которые необходимо знать при работе со строками в Excel, мы рассмотрели. Теперь Вы сможете вставить или удалить строку, настроить ее высоту и перенести текст, выделить строки и посчитать их количество, скрыть, сгруппировать, пронумеровать, или закрепить нужную строку в Эксель.


Загрузка…

Об авторе: Олег Каминский

Вебмастер. Высшее образование по специальности «Защита информации». Создатель портала comp-profi.com. Автор большинства статей и уроков компьютерной грамотности

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

Рассмотрим простой пример.

1. Введите в ячейку А1 какой нибудь текст, к примеру «Текстовая строка».

2. В ячейку B1 внесите формулу =ДЛСТР(A1). Готово, в ячейке B1 Вы получите количество символов в тексте в ячейке A1. В моем примере результат равен 16.

Как узнать длину текста в Excel

Немного о синтаксисе функции:

=ДЛСТР(текст)

где текст — это либо ссылка на ячейку, содержащую текст, либо сама текстовая строка.

Надеюсь это статья Вам помогла. Есть вопросы — задавайте в комментариях.

На чтение 23 мин. Просмотров 18.6k.

VBA String Functions

Содержание

  1. Краткое руководство по текстовым функциям
  2. Введение
  3. Прочитайте это в первую очередь!
  4. Добавление строк
  5. Извлечение части строки
  6. Поиск в строке
  7. Удаление пробелов
  8. Длина строки
  9. Перевернуть текст
  10. Сравнение
  11. Сравнение строк с использованием сопоставления с шаблоном
  12. Заменить часть строки
  13. Преобразовать типы в строку (базовый)
  14. Преобразовать строку в число — CLng, CDbl, Val и т.д.
  15. Генерация строки элементов — функция строки
  16. Преобразовать регистр / юникод — StrConv, UCase, LCase
  17. Использование строк с массивами
  18. Форматирование строки
  19. Заключение

Краткое руководство по текстовым функциям

Текстовые операции Функции
Добавить две или более строки Format or «&»
Построить текст из массива Join
Сравнить StrComp or «=»
Сравнить — шаблон Like
Преобразовать в текст CStr, Str
Конвертировать текст в дату Просто: CDate 
Дополнительно: Format
Преобразовать текст в число Просто: CLng, CInt, CDbl, Val
Дополнительно: Format
Конвертировать в юникод, широкий, узкий StrConv
Преобразовать в верхний / нижний регистр StrConv, UCase, LCase
Извлечь часть текста Left, Right, Mid
Форматировать текст Format
Найти символы в тексте InStr, InStrRev
Генерация текста String
Получить длину строки Len
Удалить пробелы LTrim, RTrim, Trim
Заменить часть строки Replace
Перевернуть строку StrReverse
Разобрать строку в массив Split

Введение

Использование строк является очень важной частью VBA. Есть много типов манипуляций, которые вы можете делать со строками. К ним относятся такие задачи, как:

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

Хорошей новостью является то, что VBA содержит множество функций, которые помогут вам легко выполнять эти задачи.

Эта статья содержит подробное руководство по использованию строки в VBA. Он объясняет строки в простых терминах с понятными примерами кода. Изложение в статье поможет легко использовать ее в качестве краткого справочного руководства.

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

Прочитайте это в первую очередь!

Следующие два пункта очень важны при работе со строковыми функциями VBA.

Исходная строка не изменяется

Важно помнить, что строковые функции VBA не изменяют исходную строку. Они возвращают новую строку с изменениями, внесенными функцией. Если вы хотите изменить исходную строку, вы просто назначаете результат исходной строке. См. Раздел «Извлечение части строки» для примеров.

Как использовать Compare

Некоторые строковые функции, такие как StrComp (), Instr () и т.д. имеют необязательный параметр Compare. Он работает следующим образом:

vbTextCompare: верхний и нижний регистры считаются одинаковыми

vbBinaryCompare: верхний и нижний регистр считаются разными

Следующий код использует функцию сравнения строк StrComp () для демонстрации параметра Compare.

Sub Comp1()

    ' Печатает 0  : Строки совпадают
    Debug.Print StrComp("АБВ", "абв", vbTextCompare)
    ' Печатает -1 : Строки не совпадают
    Debug.Print StrComp("АБВ", "абв", vbBinaryCompare)

End Sub

Вы можете использовать параметр Option Compare вместо того, чтобы каждый раз использовать этот параметр. Опция сравнения устанавливается в верхней части модуля. Любая функция, которая использует параметр Compare, примет этот параметр по умолчанию. Два варианта использования Option Compare:

  • Oпция Compare Text: делает vbTextCompare аргументом сравнения по умолчанию
Option Compare Text

Sub Comp2()
    ' Соответствие строк - использует vbCompareText в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub
  • Опция Compare Binary: делает vbBinaryCompare аргументом сравнения по умолчанию.
Option Compare Binary

Sub Comp2()
    ' Строки не совпадают - использует vbCompareBinary в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub

Если Option Compare не используется, то по умолчанию используется Option Compare Binary.

Теперь, когда вы понимаете эти два важных момента о строке, мы можем продолжить и посмотреть на строковые функции индивидуально.

Добавление строк

VBA String Functions - Smaller

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

Sub Dobavlenie()

    Debug.Print "АБВ" & "ГДЕ"
    Debug.Print "Иван" & " " & "Петров"
    Debug.Print "Длинный " & 22
    Debug.Print "Двойной " & 14.99
    Debug.Print "Дата " & #12/12/2015#

End Sub

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

 Это даст сообщение об ошибке: «Несоответствие типов»
    Debug.Print "Длинный " + 22

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

Извлечение части строки

Функции, обсуждаемые в этом разделе, полезны при базовом извлечении из строки. Для чего-то более сложного можете посмотреть раздел, как легко извлечь любую строку без использования VBA InStr.

Функция Параметры Описание Пример
Left строка, длина Вернуть
символы с
левой стороны
Left(«Иван
Петров»,4)
Right строка, длина Вернуть
символы с
правой
стороны
Right(«Иван
Петров»,5)
Mid строка, начало, длина Вернуть
символы из
середины
Mid(«Иван
Петров»,3,2)

Функции Left, Right и Mid используются для извлечения частей строки. Это очень простые в использовании функции. Left читает символы слева, Right справа и Mid от указанной вами начальной точки.

Sub IspLeftRightMid()

    Dim sCustomer As String
    sCustomer = "Иван Васильевич Петров"

    Debug.Print Left(sCustomer, 4)  '  Печатает: Иван
    Debug.Print Right(sCustomer, 6) '  Печатает: Петров

    Debug.Print Left(sCustomer, 15)  '  Печатает: Иван Васильевич
    Debug.Print Right(sCustomer, 17)  '  Печатает: Васильевич Петров

    Debug.Print Mid(sCustomer, 1, 4) ' Печатает: Иван
    Debug.Print Mid(sCustomer, 6, 10) ' Печатает: Васильевич
    Debug.Print Mid(sCustomer, 17, 6) ' Печатает: Петров

End Sub

Как упоминалось в предыдущем разделе, строковые функции VBA не изменяют исходную строку. Вместо этого они возвращают результат в виде новой строки.

В следующем примере вы увидите, что строка Fullname не была изменена после использования функции Left.

Sub PrimerIspolzovaniyaLeft()

    Dim Fullname As String
    Fullname = "Иван Петров"

    Debug.Print "Имя: "; Left(Fullname, 4)
    ' Исходная строка не изменилась
    Debug.Print "Полное имя: "; Fullname

 End Sub

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

Sub IzmenenieStroki()

    Dim name As String
    name = "Иван Петров"

    ' Присвойте возвращаемую строку переменной имени
    name = Left(name, 4)

    Debug.Print "Имя: "; name

 End Sub

Поиск в строке

Функция Параметры Описание Пример
InStr Текст1,
текст2
Находит
положение
текста
InStr(«Иван
Петров»,»в»)
InStrRev Проверка
текста,
соответствие
текста
Находит
позицию
текста с конца
InStrRev(«Иван Петров»,»в»)

InStr и InStrRev — это функции VBA, используемые для поиска текста в тексте. Если текст поиска найден, возвращается позиция (с начала строки проверки) текста поиска. Когда текст поиска не найден, возвращается ноль. Если какой-либо текст имеет значение null, возвращается значение null.

InStr Описание параметров

InStr() Start[Необязат], String1, String2, Compare[Необязат]

  • Start [Необязательно — по умолчанию 1]: это число, указывающее начальную позицию поиска слева
  • String1: текст, в котором будем искать
  • String2: текст, который будем искать
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

Использование InStr и примеры

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

Sub PoiskTeksta()

    Dim name As String
    name = "Иван Петров"

    ' Возвращает 3 - позицию от первой 
    Debug.Print InStr(name, "а")
    ' Возвращает 10 - позиция первого "а", начиная с позиции 4
    Debug.Print InStr(4, name, "а")
    ' Возвращает 8
    Debug.Print InStr(name, "тр")
    ' Возвращает 6
    Debug.Print InStr(name, "Петров")
    ' Возвращает 0 - текст "ССС" не найдет
    Debug.Print InStr(name, "ССС")

End Sub

InStrRev Описание параметров

InStrRev() StringCheck, StringMatch, Start[Необязат], Compare[Необязат]

  • StringCheck: текст, в котором будем искать
  • StringMatch: Текст, который будем искать
  • Start [Необязательно — по умолчанию -1]: это число, указывающее начальную позицию поиска справа
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

Использование InStrRev и примеры

Функция InStrRev такая же, как InStr, за исключением того, что она ищет с конца строки. Важно отметить, что возвращаемая позиция является позицией с самого начала. Поэтому, если существует только один экземпляр элемента поиска, InStr () и InStrRev () будут возвращать одно и то же значение.

В следующем коде показаны некоторые примеры использования InStrRev.

Sub IspInstrRev()

    Dim name As String
    name = "Иван Петров"

    ' Обе возвращают 1 - позицию, только И
    Debug.Print InStr(name, "И")
    Debug.Print InStrRev(name, "И")

    ' Возвращает 11 - вторую в
    Debug.Print InStrRev(name, "в")
    ' Возвращает 3 - первую в с позиции 9
    Debug.Print InStrRev(name, "в", 9)

    ' Returns 1
    Debug.Print InStrRev(name, "Иван")

End Sub

Функции InStr и InStrRev полезны при работе с базовым поиском текста. Однако, если вы собираетесь использовать их для извлечения текста из строки, они могут усложнить задачу. Я написал о гораздо лучшем способе сделать это в своей статье Как легко извлечь любой текст без использования VBA InStr.

Удаление пробелов

Функция Параметры Описание Пример
LTrim Текст Убирает
пробелы слева
LTrim(» Иван «)
RTrim Текст Убирает
пробелы
справа
RTrim(» Иван «)
Trim Текст Убирает
пробелы слева и справа
Trim(» Иван «)

Функции Trim — это простые функции, которые удаляют пробелы в начале или конце строки.

Функции и примеры использования триммера Trim

  • LTrim удаляет пробелы слева от строки
  • RTrim удаляет пробелы справа от строки
  • Trim удаляет пробелы слева и справа от строки
Sub TrimStr()

    Dim name As String
    name = "  Иван Петров  "

    ' Печатает "Иван Петров  "
    Debug.Print LTrim(name)
    ' Печатает "  Иван Петров"
    Debug.Print RTrim(name)
    ' Печатает "Иван Петров"
    Debug.Print Trim(name)

End Sub

Длина строки

Функция Параметры Описание Пример
Len Текст Возвращает
длину строки
Len («Иван Петров»)

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

Sub IspLen()

    Dim name As String
    name = "Иван Петров"

    ' Печатает 11
    Debug.Print Len("Иван Петров")
    ' Печатает 3
    Debug.Print Len("АБВ")

    ' Печатает 4 с Long - это размер 4 байта
    Dim total As Long
    Debug.Print Len(total)

End Sub

Перевернуть текст

Функция Параметры Описание Пример
StrReverse Текст Перевернуть
текст
StrReverse
(«Иван
Петров»)

StrReverse — еще одна простая в использовании функция. Он просто возвращает данную строку с обратными символами.

Sub RevStr()

    Dim s As String
    s = "Иван Петров"
    ' Печатает: вортеП навИ
    Debug.Print StrReverse(s)

End Sub

Сравнение

Функция Параметры Описание Пример
StrComp Текст1, текст2 Сравнивает 2
текста
StrComp
(«Иван»,
«Иван»)

Функция StrComp используется для сравнения двух строк. Следующие подразделы описывают, как используется.

Описание параметров

StrComp()  String1, String2, Compare[Необязат]

  • String1: первая строка для сравнения
  • String2: вторая строка для сравнения
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

StrComp Возвращаемые значения

Возвращаемое значение Описание
0 Совпадение строк
-1 строка1 меньше строки2
1 строка1 больше строки2
Null если какая-либо строка равна нулю

Использование и примеры

Ниже приведены некоторые примеры использования функции StrComp.

Sub IspStrComp()

   ' Возвращает  0
   Debug.Print StrComp("АБВ", "АБВ", vbTextCompare)
   ' Возвращает 1
   Debug.Print StrComp("АБВГ", "АБВ", vbTextCompare)
   ' Возвращает -1
   Debug.Print StrComp("АБВ", "АБВГ", vbTextCompare)
   ' Returns Null
   Debug.Print StrComp(Null, "АБВГ", vbTextCompare)

End Sub

Сравнение строк с использованием операторов

Вы также можете использовать знак равенства для сравнения строк. Разница между сравнением equals и функцией StrComp:

  1. Знак равенства возвращает только true или false.
  2. Вы не можете указать параметр Compare, используя знак равенства — он использует настройку «Option Compare».  

Ниже приведены некоторые примеры использования equals для сравнения строк.

Option Compare Text

Sub CompareIspEquals()

    ' Возвращает true
    Debug.Print "АБВ" = "АБВ"
    ' Возвращает true, потому что «Сравнить текст» установлен выше
    Debug.Print "АБВ" = "абв"
    ' Возвращает false
    Debug.Print "АБВГ" = "АБВ"
    ' Возвращает false
    Debug.Print "АБВ" = "АБВГ"
    ' Возвращает null
    Debug.Print Null = "АБВГ"

End Sub

Сравнение строк с использованием сопоставления с шаблоном

Функция Параметры Описание Пример
Like Текст, шаблон проверяет, имеет
ли строка
заданный
шаблон
«abX» Like «??X»
«54abc5» Like «*abc#»
Знак Значение
? Любой одиночный символ
# Любая однозначная цифра (0-9)
* Ноль или более символов
[charlist] Любой символ в списке
[!charlist] Любой символ не в списке символов

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

Если строка соответствует шаблону, возвращаемое значение равно true, в противном случае — false.

Сопоставление с образцом аналогично функции формата VBA в том смысле, что его можно использовать практически безгранично. В этом разделе я приведу несколько примеров, которые объяснят, как это работает. Это должно охватывать наиболее распространенные виды использования.

Давайте посмотрим на базовый пример с использованием знаков. Возьмите следующую строку шаблона.

[abc][!def]?#X*

 Давайте посмотрим, как работает эта строка

[abc] — символ, который является или a, b или c
[! def] — символ, который не является d, e или f
? любой символ
# — любая цифра
X — символ X
* следуют ноль или более символов

 Поэтому следующая строка действительна
apY6X

а — один из символов a,b,c
p — не один из символов d, e или f
Y — любой символ
6 — это цифра
Х — это буква Х

В следующих примерах кода показаны результаты различных строк с этим шаблоном.

Sub Shabloni()

    ' ИСТИНА
    Debug.Print 1; "apY6X" Like "[abc][!def]?#X*"
    ' ИСТИНА - любая комбинация символов после x действительна
    Debug.Print 2; "apY6Xsf34FAD" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ не из[abc]
    Debug.Print 3; "dpY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - 2-й символ e находится в [def]
    Debug.Print 4; "aeY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - A в позиции 4 не является цифрой
    Debug.Print 5; "apYAX" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ в позиции 5 должен быть X
    Debug.Print 1; "apY6Z" Like "[abc][!def]?#X*"

End Sub

Реальный пример сопоставления с образцом

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

Важное примечание о сопоставлении с образцом VBA

Оператор Like использует двоичное или текстовое сравнение на основе параметра Option Compare. Пожалуйста, смотрите раздел Сравнение для более подробной информации.

Заменить часть строки

Функция Параметры Описание Пример
Replace строка, найти, заменить,
начать,
считать,
сравнивать
Заменяет текст Replace
(«Ива»,»а»,»ан»)

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

Replace описание параметров

Replace()  Expression, Find, Replace, Start[Необязат], Count[Необязат], Compare[Необязат]

  • Expression: текст, в котором нужна замена символов
  • Find: текст для замены в строке выражения
  • Replace: строка для поиска замены текста поиска
  • Start [Необязательно — по умолчанию 1]: начальная позиция в строке
  • Count [Необязательно — по умолчанию -1]: количество замен. По умолчанию -1 означает все.
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

Использование и примеры

В следующем коде показаны некоторые примеры использования функции замены.

Sub PrimeriReplace()

    ' Заменяет все знаки вопроса (?) на точку с запятой (;)
    Debug.Print Replace("A?B?C?D?E", "?", ";")
    ' Заменить Петров на Иванов
    Debug.Print Replace("Евгений Петров,Артем Петров", "Петров", "Иванов")
    ' Заменить AX на AB
    Debug.Print Replace("ACD AXC BAX", "AX", "AB")

End Sub

На выходе:

A;B;C;D;E
Евгений Иванов,Артем Иванов
ACD ABC BAB

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

Sub ReplaceCount()

    ' Заменяет только первый знак вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=1)
    ' Заменяет первые три знака вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=3)

End Sub

На выходе:

A;B?C?D?E
A;B;C;D?E

Необязательный параметр Start позволяет вам вернуть часть строки. Позиция, которую вы указываете с помощью Start, — это место, откуда начинается возврат строки. Он не вернет ни одной части строки до этой позиции, независимо от того, была ли произведена замена или нет.

Sub ReplacePartial()

    ' Использовать оригинальную строку из позиции 4
    Debug.Print Replace("A?B?C?D?E", "?", ";", Start:=4)
    ' Используйте оригинальную строку из позиции 8
    Debug.Print Replace("AA?B?C?D?E", "?", ";", Start:=8)
    ' Элемент не заменен, но по-прежнему возвращаются только последние '2 символа
    Debug.Print Replace("ABCD", "X", "Y", Start:=3)

End Sub

На выходе:

;C;D;E
;E
CD

Иногда вы можете заменить только заглавные или строчные буквы. Вы можете использовать параметр Compare для этого. Он используется во многих строковых функциях. Для получения дополнительной информации об этом проверьте раздел сравнения.

Sub ReplaceCase()

    ' Заменить только заглавные А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbBinaryCompare)
    ' Заменить все А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbTextCompare)

End Sub

На выходе:

XaXa
XXXX

Многократные замены

Если вы хотите заменить несколько значений в строке, вы можете вкладывать вызовы. В следующем коде мы хотим заменить X и Y на A и B соответственно.

Sub ReplaceMulti()

    Dim newString As String

    ' Заменить А на Х
    newString = Replace("ABCD ABDN", "A", "X")
    ' Теперь замените B на Y в новой строке
    newString = Replace(newString, "B", "Y")

    Debug.Print newString

End Sub

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

Sub ReplaceMultiNested()

    Dim newString As String

    ' Заменить A на X, а B на Y
    newString = Replace(Replace("ABCD ABDN", "A", "X"), "B", "Y")

    Debug.Print newString

End Sub

Результатом обоих этих Subs является:
XYCD XYDN

Преобразовать типы в строку (базовый)

Этот раздел о преобразовании чисел в строку. Очень важным моментом здесь является то, что в большинстве случаев VBA автоматически конвертируется в строку для вас. Давайте посмотрим на некоторые примеры:

Sub AutoConverts()

    Dim s As String
    ' Автоматически преобразует число в строку
    s = 12.99
    Debug.Print s

    ' Автоматически преобразует несколько чисел в строку
    s = "ABC" & 6 & 12.99
    Debug.Print s

    ' Автоматически преобразует двойную переменную в строку
    Dim d As Double, l As Long
    d = 19.99
    l = 55
    s = "Значения: " & d & " " & l
    Debug.Print s

End Sub

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

Явное преобразование

Функция Параметры Описание Пример
CStr выражение Преобразует
числовую
переменную
в строку
CStr («45.78»)
Str число Преобразует
числовую
переменную
в строку
Str («45.78»)

В некоторых случаях вы можете захотеть преобразовать элемент в строку без необходимости сначала помещать его в строковую переменную. В этом случае вы можете использовать функции Str или CStr. Оба принимают выражение как функцию, и это может быть любой тип, например long, double, data или boolean.

Давайте посмотрим на простой пример. Представьте, что вы читаете список значений из разных типов ячеек в коллекцию. Вы можете использовать функции Str / CStr, чтобы гарантировать, что они все хранятся в виде строк. Следующий код показывает пример этого:

Sub IspStr()

    Dim coll As New Collection
    Dim c As Range

    ' Считать значения ячеек в коллекцию
    For Each c In Range("A1:A10")
        ' Используйте Str для преобразования значения ячейки в строку
        coll.Add Str(c)
    Next

    ' Распечатайте значения и тип коллекции
    Dim i As Variant
    For Each i In coll
        Debug.Print i, TypeName(i)
    Next

End Sub

В приведенном выше примере мы используем Str для преобразования значения ячейки в строку. Альтернативой этому может быть присвоение значения строке, а затем присвоение строки коллекции. Итак, вы видите, что использование Str здесь намного эффективнее.

Multi Region

Разница между функциями Str и CStr заключается в том, что CStr преобразует в зависимости от региона. Если ваши макросы будут использоваться в нескольких регионах, вам нужно будет использовать CStr для преобразования строк.

Хорошей практикой является использование CStr при чтении значений из ячеек. Если ваш код в конечном итоге используется в другом регионе, вам не нужно вносить какие-либо изменения, чтобы он работал правильно.

Преобразовать строку в число — CLng, CDbl, Val и т.д.

Функция Возвращает Пример
CBool Boolean CBool(«True»), CBool(«0»)
CCur Currency CCur(«245.567»)
CDate Date CDate(«1/1/2019»)
CDbl Double CDbl(«245.567»)
CDec Decimal CDec(«245.567»)
CInt Integer CInt(«45»)
CLng Long Integer CLng(«45.78»)
CVar Variant CVar(«»)

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

Sub StrToNumeric()

    Dim l As Long, d As Double, c As Currency
    Dim s As String
    s = "45.923239"

    l = s
    d = s
    c = s

    Debug.Print "Long is "; l
    Debug.Print "Double is "; d
    Debug.Print "Currency is "; c

End Sub

Использование типов преобразования дает большую гибкость. Это означает, что вы можете определить тип во время выполнения. В следующем коде мы устанавливаем тип на основе аргумента sType, передаваемого в функцию PrintValue. Поскольку этот тип может быть прочитан из внешнего источника, такого как ячейка, мы можем установить тип во время выполнения. Если мы объявим переменную как Long, то при выполнении кода она всегда будет длинной.

Sub Test()
    ' Печатает  46
    PrintValue "45.56", "Long"
    ' Печатает 45.56
    PrintValue "45.56", ""
End Sub

Sub PrintValue(ByVal s As String, ByVal sType As String)

    Dim value

    ' Установите тип данных на основе строки типа
    If sType = "Long" Then
        value = CLng(s)
    Else
        value = CDbl(s)
    End If
    Debug.Print "Type is "; TypeName(value); value

End Sub

Если строка не является допустимым числом (т.е. Содержит символы, другие цифры), вы получаете ошибку «Несоответствие типов».

Sub InvalidNumber()

    Dim l As Long

    ' Даст ошибку несоответствия типов
    l = CLng("45A")

End Sub

Функция Val

Функция преобразует числовые части строки в правильный тип числа.

Val преобразует первые встреченные числа. Как только он встречает буквы в строке, он останавливается. Если есть только буквы, то в качестве значения возвращается ноль. Следующий код показывает некоторые примеры использования Val

Sub IspVal()

    ' Печатает 45
    Debug.Print Val("45 Новая улица")

    ' Печатает 45
    Debug.Print Val("    45 Новая улица")

    ' Печатает 0
    Debug.Print Val("Новая улица 45")

    ' Печатает 12
    Debug.Print Val("12 f 34")

End Sub

Val имеет два недостатка

  1. Не мультирегиональный — Val не распознает международные версии чисел, такие как запятые вместо десятичных. Поэтому вы должны использовать вышеуказанные функции преобразования, когда ваше приложение будет использоваться в нескольких регионах.
  2. Преобразует недопустимые строки в ноль — в некоторых случаях это может быть нормально, но в большинстве случаев лучше, если неверная строка вызывает ошибку. Затем приложение осознает наличие проблемы и может действовать соответствующим образом. Функции преобразования, такие как CLng, вызовут ошибку, если строка содержит нечисловые символы.

Генерация строки элементов — функция строки

Функция Параметры Описание Пример
String число, символ Преобразует
числовую
переменную
в строку
String (5,»*»)

Функция String используется для генерации строки повторяющихся символов. Первый аргумент — это количество повторений, второй аргумент — символ.

Sub IspString()

    ' Печатает: AAAAA
    Debug.Print String(5, "A")
    ' Печатает: >>>>>
    Debug.Print String(5, 62)
    ' Печатает: (((ABC)))
    Debug.Print String(3, "(") & "ABC" & String(3, ")")

End Sub

Преобразовать регистр / юникод — StrConv, UCase, LCase

Функция Параметры Описание Пример
StrConv строка,
преобразование, LCID
Преобразует
строку
StrConv(«abc»,vbUpperCase)

Если вы хотите преобразовать регистр строки в верхний или нижний регистр, вы можете использовать функции UCase и LCase для верхнего и нижнего соответственно. Вы также можете использовать функцию StrConv с аргументом vbUpperCase или vbLowerCase. В следующем коде показан пример использования этих трех функций.

Sub ConvCase()

    Dim s As String
    s = "У Мэри был маленький ягненок"

    ' верхний
    Debug.Print UCase(s)
    Debug.Print StrConv(s, vbUpperCase)

    ' нижний
    Debug.Print LCase(s)
    Debug.Print StrConv(s, vbLowerCase)

    ' Устанавливает первую букву каждого слова в верхний регистр
    Debug.Print StrConv(s, vbProperCase)

End Sub

На выходе: 

У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
у мэри был маленький ягненок
у мэри был маленький ягненок
У Мэри Был Маленький Ягненок

Другие преобразования

Как и в случае, StrConv может выполнять другие преобразования на основе параметра Conversion. В следующей таблице приведен список различных значений параметров и того, что они делают. Для получения дополнительной информации о StrConv проверьте страницу MSDN.

Постоянные Преобразует Значение
vbUpperCase 1 в верхний регистр
vbLowerCase 2 в нижнем регистре
vbProperCase 3 первая буква
каждого слова в
верхнем регистре
vbWide* 4 от узкого к
широкому
vbNarrow* 8 от широкого к
узкому
vbKatakana** 16 из Хираганы в
Катакану
vbHiragana 32 из Катаканы в
Хирагану
vbUnicode 64 в юникод
vbFromUnicode 128 из юникода

Использование строк с массивами

Функция Параметры Описание Пример
Split выражение,
разделитель,
ограничить,
сравнить
Разбирает
разделенную
строку в
массив
arr = Split(«A;B;C»,»;»)
Join исходный
массив,
разделитель
Преобразует
одномерный
массив в
строку
s = Join(Arr, «;»)

Строка в массив с использованием Split

Вы можете легко разобрать строку с разделителями в массив. Вы просто используете функцию Split с разделителем в качестве параметра. Следующий код показывает пример использования функции Split.

Sub StrToArr()

    Dim arr() As String
    ' Разобрать строку в массив
    arr = Split("Иван,Анна,Павел,София", ",")

    Dim name As Variant
    For Each name In arr
        Debug.Print name
    Next

End Sub

На выходе:

Иван
Анна
Павел
София

Если вы хотите увидеть некоторые реальные примеры использования Split, вы найдете их в статье Как легко извлечь любую строку без использования VBA InStr.

Массив в строку, используя Join

Если вы хотите построить строку из массива, вы можете легко это сделать с помощью функции Join. По сути, это обратная функция Split. Следующий код предоставляет пример использования Join

Sub ArrToStr()

    Dim Arr(0 To 3) As String
    Arr(0) = "Иван"
    Arr(1) = "Анна"
    Arr(2) = "Павел"
    Arr(3) = "София"

    ' Построить строку из массива
    Dim sNames As String
    sNames = Join(Arr, ",")

    Debug.Print sNames

End Sub

На выходе:

Иван, Анна, Павел, София

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

Функция Параметры Описание Пример
Format выражение,
формат,
firstdayofweek,
firstweekofyear
Форматирует
строку
Format(0.5, «0.00%»)

Функция Format используется для форматирования строки на основе заданных инструкций. В основном используется для размещения даты или числа в определенном формате. Приведенные ниже примеры показывают наиболее распространенные способы форматирования даты.

Sub FormatDate()

    Dim s As String
    s = "31/12/2019 10:15:45"

    ' Печатает: 31 12 19
    Debug.Print Format(s, "DD MM YY")
    ' Печатает: Thu 31 Dec 2019
    Debug.Print Format(s, "DDD DD MMM YYYY")
    ' Печатает: Thursday 31 December 2019
    Debug.Print Format(s, "DDDD DD MMMM YYYY")
    ' Печатает: 10:15
    Debug.Print Format(s, "HH:MM")
    ' Печатает: 10:15:45 AM
    Debug.Print Format(s, "HH:MM:SS AM/PM")

End Sub

В следующих примерах представлены некоторые распространенные способы форматирования чисел.

Sub FormatNumbers()

    ' Печатает: 50.00%
    Debug.Print Format(0.5, "0.00%")
    ' Печатает: 023.45
    Debug.Print Format(23.45, "00#.00")
    ' Печатает: 23,000
    Debug.Print Format(23000, "##,000")
    ' Печатает: 023,000
    Debug.Print Format(23000, "0##,000")
    ' Печатает: $23.99
    Debug.Print Format(23.99, "$#0.00")

End Sub

Функция «Формат» — довольно обширная тема, и она может самостоятельно занять всю статью. Если вы хотите получить больше информации, то страница формата MSDN предоставляет много информации.

Полезный совет по использованию формата

Быстрый способ выяснить используемое форматирование — использовать форматирование ячеек на листе Excel. Например, добавьте число в ячейку. Затем щелкните правой кнопкой мыши и отформатируйте ячейку так, как вам нужно. Если вы довольны форматом, выберите «Пользовательский» в списке категорий слева. При выборе этого вы можете увидеть строку формата в текстовом поле типа. Это формат строки, который вы можете использовать в VBA.

VBA Format Function

Заключение

Практически в любом типе программирования вы потратите много времени на манипулирование строками. В этой статье рассматриваются различные способы использования строк в VBA.

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

Если вы новичок в строках в VBA, то я предлагаю вам ознакомиться с разделом «Прочтите это в первую очередь» перед использованием любой из функций.

Вопрос: как правильно работать со строками в Эксель, интересует многих пользователей. Рассматривать его можно с различных сторон, именно это мы и сделаем в данной статье.

Содержание

  1. Измерить длину
  2. Сколько их всего
  3. Добавить новую
  4. Удалить
  5. Перенос текста
  6. Изменить высоту
  7. Как выделить
  8. Посчитать количество
  9. Как скрыть
  10. Группировка
  11. Как закрепить

Измерить длину

Длину строки в Excel можно измерить количеством ячеек в ней, и количеством символов, введенных в одну ячейку. Максимальное количество ячеек в одном рядке Excel 2010 – «16 384», в одну ячейку можно ввести максимум «32 767 символов». Чтобы перейти к последней ячейке, нажмите комбинацию «Ctrl+стрелка вправо».

Работа со строками в Excel

Сколько их всего

Количество строк в Excel 2010 составляет «1 048 576». Чтобы посмотреть номер самой последней в Экселе, нажмите «Ctrl+стрелка вниз».

Добавить новую

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

Появится диалоговое окно «Добавление ячеек». Поставьте маркер в подходящем поле и нажмите «ОК».

Таким же образом можно добавить строку в таблицу Excel.

Сделать строку в Эксель можно и другим способом. Выделяем блок, который будет располагаться под ней. Дальше на вкладке «Главная» нажимаем на кнопочку «Вставить» и выбираем из меню «Вставить строки на лист».

Удалить

Для того чтобы удалить, например, пустую строку с листа Эксель, кликаем по ней правой кнопкой мыши и выбираем «Удалить».

После этого откроется уже знакомое диалоговое окно, в котором ставим маркер в поле «строку» и нажимаем «ОК».

Еще один способ: выделяем любую ячейку из рядка, который будем удалять. Потом на вкладке «Главная» кликаем по кнопочке «Удалить» и выбираем из меню «Удалить строки с листа».

Перенос текста

Если Вам нужно сделать перенос строки в ячейке – это аналогично созданию нового абзаца в Word – поставьте курсор перед тем словом, с которого будет начинаться новый абзац, и нажмите «Alt+Enter».

Применим этот способ к блоку А1. Теперь слово «СЮДА» начинается с нового абзаца. При выделении А1 в строке формул появляются две стрелочки. Кликая по ним, можно просматривать весь текст.

Если Вам просто нужно, чтобы были видны все слова, написанные в ячейке, выделите ее и на вкладке «Главная» нажмите на кнопочку «Перенос текста».

Высота самого блока будет автоматически расширена.

Изменить высоту

Изменить высоту строки можно несколькими способами. Самый простой – подведите курсор к нумерации нужного рядка в документе Excel, чтобы он принял вид стрелочки, направленной вверх-вниз. Нажмите левую кнопку мышки и растяните на нужную высоту.

Для того чтобы выровнять высоту всех строк в документе, то есть сделать ее одинаковой, выделите все необходимые. На вкладке «Главная» кликните по кнопочке «Формат» и выберите из меню «Высота строки».

В следующем окне задайте нужное значение для высоты и нажмите «ОК».

Если Вам нужно, чтобы высота соответствовала содержимому в ячейке, снова на вкладке «Главная» кликните по кнопочке «Формат». Затем выберите из меню «Автоподбор высоты строки».

Как выделить

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

Таким же способом, можно выделить несколько рядочков подряд. Только теперь зажмите левую кнопку мыши и протяните курсор вниз, на необходимое количество. Программа будет показывать количество выделенных рядочков. В примере это «3R».

Чтобы выделить несмежные строки, например, «3,4,5» и «7,8,9». Выделяем сначала «3,4,5», затем нажмите и удерживайте клавишу «Ctrl». Теперь выделяем «7,8,9».

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

Посчитать количество

Количество строк в Эксель можно посчитать различными способами.

Посчитаем пустые рядочки. В моем примере, они расположены в диапазоне «В4:В11». Для этого выделите любую ячейку на листе, и напишите в ней формулу: =СЧЁТЕСЛИ(B4:B11;»»). Здесь, вместо «В4:В11» – введите свой диапазон, в кавычках записано условие, так как ищем незаполненные, то там пусто. Результат – 8 пустых.

Чтобы посчитать заполненные – возьмем для примера диапазон «А1:А10», снова выделите любой блок, и напишите в нем формулу: =СЧЕТЕСЛИ(А1:А10;»<>»). Диапазон укажите свой, в качестве условия задаем «<>» – ищет непустые блоки.

Если в рядках, которые нужно посчитать, есть пустые и не пустые блоки, то можно просуммировать СЧЁТЕСЛИ с различными условиями для одинакового диапазона.

Чтобы посчитать строки в Excel, также можете воспользоваться функцией СЧЁТЕСЛИМН – в ней можно задавать различные диапазоны и условия, или функцией СЧИТАТЬПУСТОТЫ. Прочитать о них подробно можно в статье: как посчитать количество ячеек.

Как скрыть

Чтобы скрыть их на листе, выделите необходимые, затем кликните по выделенному правой кнопкой мыши и выберите из меню «Скрыть».

Если потребуется отобразить скрытые рядки, выделите по одному рядку, которые находятся выше и ниже них, затем кликните по ним правой кнопкой мыши и выберите из меню «Показать».

Группировка

Группировка рядков в документе может помочь при создании больших таблиц, в которых, помимо основных данных, есть еще и объяснения к этим данным. В таких случаях, объяснения можно сгруппировать, и просматривать, когда необходимо.

Чтобы сгруппировать строки в Эксель, выделите нужные, перейдите на вкладку «Данные», кликните «Структура» – «Группировать».

В следующем окне поставьте маркер в поле «строки» и нажмите «ОК».

Строки будут сгруппированы. Чтобы их развернуть нажмите на «+», свернуть – на «-».

Если нужно будет разгруппировать строки, выделите их и выберите в «Структуре» «Разгруппировать».

Как закрепить

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

Находится необходимая кнопочка на вкладке «Вид». Кликните по кнопочке «Закрепить области» и выберите нужный вариант из списка.

В Excel также есть возможность сделать автоматическую нумерацию строк. Если Вам нужно поменять строки со столбцами в таблице, прочтите статью, как преобразовать строку в столбец в Excel.

Основные моменты, которые необходимо знать при работе со строками в Excel, мы рассмотрели. Теперь Вы сможете вставить или удалить строку, настроить ее высоту и перенести текст, выделить строки и посчитать их количество, скрыть, сгруппировать, пронумеровать, или закрепить нужную строку в Эксель.

Понравилась статья? Поделить с друзьями:
  • Как задать длину диапазона в excel
  • Как задать область печати в excel для печати
  • Как задать дисперсию в excel
  • Как задать область печати в excel 2016
  • Как задать область печати в excel 2010