Длстр excel что это
Иногда пользователю необходимо ограничить возможность ввода определенным шаблоном. Например, при вводе артикулов известно, что правильный артикул имеет длину 6 символов, начинается с латинской буквы, далее идут 4 цифры, затем 1 …
Сложение цифр ЧИСЛА в MS EXCEL
Пусть имеется число 456258 и необходимо найти сумму всех его цифр, т.е. 4+5+6+2+5+8. Сделать это можно одной формулой.
Подсчет вхождений в MS EXCEL текстового значения в строке
Найдем количество вхождений подстроки (части строки, последовательности символов) в исходной текстовой строке.
Извлечение имени файла в MS EXCEL
Извлечем имя файла из полного имени файла (C:\WINDOWS\TXT\Chapter\ text03.txt)
Убираем в MS EXCEL из текстовой строки числа слева
Пусть текстовая строка содержит буквы и текст. Например, «623Филатова». Уберем числа из текстовой строки и превратим его в просто текст «Филатова».
Выбор в MS EXCEL из строки последнего слова
Если строка в ячейке содержит несколько слов, например, «Василий Иванович Петров», то можно создать формулу для вывода последнего слова.
Извлекаем в MS EXCEL число из начала текстовой строки
Извлечем число из начала текстовой строки, например, из строки «123Филатова» получим «123».
Извлекаем в MS EXCEL число из середины текстовой строки
Извлечем число из середины текстовой строки, например, из строки «Пет555ров» получим «555».
Поиск значения в MS EXCEL с максимальной или минимальной длиной строки
Найдем в списке текстовых значений строку с максимальной / минимальной длиной .
Выделение ячеек c ТЕКСТом с применением Условного форматирования в MS EXCEL
Выделяем ячейки, содержащие искомый текст. Рассмотрим разные варианты: выделение ячеек, содержащих значения в точности совпадающих с искомым текстом; выделение ячеек, которые содержат искомый текст в начале, в конце или середине …
Подсчет слов в ячейке в MS EXCEL
Для подсчета количества слов в ячейке используем функции ДЛСТР() , СЖПРОБЕЛЫ() и ПОДСТАВИТЬ() .
Функция СЧЕТ() - Подсчет ЧИСЕЛ (в диапазонах с ТЕКСТом и ЧИСЛАми) в MS EXCEL
Подсчитаем количество ячеек содержащих числа с помощью функции СЧЁТ ( ) , английская версия COUNT() . Предполагаем, что диапазон содержит числа и числовые значения в текстовом формате.
Генерируем случайные текстовые значения в MS EXCEL
Если сгенерировать случайное число можно легко с помощью функции СЛУЧМЕЖДУ() , то для генерации текстовых значений нужно изобретать формулу.
Динамическая сортировка таблицы в MS EXCEL
Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим …
Проверка данных в MS EXCEL
При вводе большого количества информации в ячейки таблицы легко допустить ошибку. В EXCEL существует инструмент для проверки введенных данных сразу после нажатия клавиши ENTER – Проверка данных.
Преобразование в MS EXCEL ЧИСЕЛ из ТЕКСТового формата в ЧИСЛОвой (Часть 1. Преобразование формулами)
Если в ячейке числовые значения сохранены как текст, то это может привести к ошибкам при выполнении вычислений. Преобразуем числа, сохраненные как текст, в числовой формат.
Разнесение в MS EXCEL текстовых строк по столбцам
Разнесем Фамилию, Имя и Отчество (ФИО), содержащихся в одной ячейке, по разным столбцам.
Сортировка списка в MS EXCEL по длине строки
Имеется список (диапазон) с текстовыми значениями, нужно отсортировать его по убыванию длины строки.
Условное форматирование в MS EXCEL
Условное форматирование – один из самых полезных инструментов EXCEL. Умение им пользоваться может сэкономить пользователю много времени и сил.
Формулы массива в MS EXCEL, возвращающие одно значение
Формулы массива могут возвращать как единственное значение, так и несколько значений. В первом случае для отображения результата потребуется одна ячейка, во втором – диапазон. В этой статье рассмотрим формулы массива, …
Переводим число прописью в число цифрами в Excel
Преобразуем число из текстовой формы в обычное число из цифр: например, "сто пятьдесят три" преобразуем в 153.
Многоуровневый связанный список в MS EXCEL
Для моделирования сложных иерархических данных создадим Многоуровневый связанный список.
Убираем в MS EXCEL из текстовой строки числа справа
Пусть текстовая строка содержит буквы и текст. Например, «Филатова623». Уберем числа из текстовой строки и превратим его в просто текст «Филатова».
Есть ли в слове в MS EXCEL латинские буквы, цифры, ПРОПИСНЫЕ символы
Определим, имеется ли в текстовой строке буквы из латиницы, цифры или ПРОПИСНЫЕ символы. Научимся определять наличие нежелательных символов одной формулой.
Извлекаем в MS EXCEL число из конца текстовой строки
Извлечем число из конца текстовой строки, например, из строки «Филатова123» получим «123».
Подсчет вхождений в MS EXCEL Букв (Символов) в ТЕКСТовой строке
Найдем количество вхождений определенной Буквы или любого символа в ячейке EXCEL.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию с учетом РЕгиСТРА. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для …
Подсчет символов в диапазоне в MS EXCEL
Найдем количество вхождений определенного символа в диапазоне ячеек.
Определение имени листа в MS EXCEL для использования в функции ДВССЫЛ()
При изменении имени листа, все ссылки в формулах автоматически обновятся и будут продолжать работать. Исключение составляет функция ДВССЫЛ() , в которой имя листа может фигурировать в текстовой форме ДВССЫЛ("Лист1!A1") . …
Определяем имя листа в MS EXCEL
Выбор в MS EXCEL из текстовой строки n-го слова
Если текстовая строка в ячейке содержит несколько слов, например, «Василий Иванович Петров», то можно создать формулу для вывода, например, первого (второго, третьего и т.д.) слова.
Выбор в MS EXCEL из ФИО имени и имени с отчеством
Если строка в ячейке содержит ФИО, например, «Петров Василий Иванович», то можно создать формулу для вывода имени или имени с отчеством.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в …
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Критерии заданы с использованием подстановочных знаков . Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет …
Выделение ячеек c ТЕКСТом с применением Условного форматирования (с учетом РЕгиСТра) в MS EXCEL
Выделяем ячейки, содержащие искомый текст с учетом РЕгиСТра. Рассмотрим разные варианты: выделение ячеек, содержащих значения в точности совпадающих с искомым текстом; выделение ячеек, которые содержат искомый текст в начале, в …
Функция ДЛСТР() в MS EXCEL
Функция ДЛСТР() , английский вариант LEN(), возвращает количество знаков в текстовой строке. Например, записав формулу =ДЛСТР("8 марта") , получим число 7 - количество знаков в текстовой строке с учетом пробела.
Функция ПРАВСИМВ() в MS EXCEL
Функция ПРАВСИМВ( ) , английский вариант RIGHT(), возвращает последние знаки текстовой строки исходя из заданного количества знаков. Формула ПРАВСИМВ("Мария Викторовна";10) вернет "Викторовна".
Поиск нескольких значений с максимальной длиной строки в MS EXCEL
Найдем в исходном списке текстовые значения, которые имеют максимальную длину строки, и выведем их в отдельный диапазон.
Функция ПСТР() в MS EXCEL
Функция ПСТР( ) , английский вариант MID(), возвращает указанное число знаков из текстовой строки, начиная с указанной позиции. Формула =ПСТР(A1;8;5) из строки "Первый канал - лучший" извлекает слово "канал". Т.е. …
Функция НАЙТИ() в MS EXCEL
Функция НАЙТИ( ) , английский вариант FIND(), находит первое вхождение одной текстовой строки в другой строке и возвращают начальную позицию найденной строки.
Функция ПОИСК() в MS EXCEL
Функция ПОИСК( ) , английский вариант SEARCH(), находит первое вхождение одной текстовой строки в другой строке и возвращает начальную позицию найденной строки.
Сравнение реальных списков в MS EXCEL
В реальной жизни часто приходится сравнивать списки, созданные разными людьми, в разное время, содержащие опечатки, лишние пробелы, данные в неправильном формате и пр. В этой статье рассмотрим не только само …
Объединение 3-х и более списков в MS EXCEL
Иногда для удобства требуется объединить три и более списка значений в один.
Преобразование в MS EXCEL ЧИСЕЛ в формат ВРЕМЯ
EXCEL хранит ВРЕМЯ в числовой форме (в дробной части числа). Например, 0,75 соответствует 18:00, 0,5 - 12:00. Если, по какой-то причине, значения ВРЕМЕНИ сохранены в десятичной форме, например, 10,5 часов, …
Функция КОДСИМВ() в MS EXCEL
Функция КОДСИМВ( ) , английский вариант CODE(), возвращает числовой код первого знака в текстовой строке.
Программа Excel предлагает своим пользователям целых 3 функции для работы с большими и маленькими буквами в тексте (верхний и нижний регистр). Эти текстовые функции делают буквы большими и маленькими или же изменяют только первую букву в слове на большую.
Формулы с текстовыми функциями Excel
Сначала рассмотрим на примере 3 текстовых функции Excel:
- ПРОПИСН – данная текстовая функция изменяет все буквы в слове на прописные, большие.
- СТРОЧН – эта функция преобразует все символы текста в строчные, маленькие буквы.
- ПРОПНАЧ – функция изменяет только первую букву в каждом слове на заглавную, большую.
Как видно в примере на рисунке эти функции в своих аргументах не требуют ничего кроме исходных текстовых данных, которые следует преобразовать в соответствии с требованиями пользователя.
Не смотря на такой широкий выбор функций в Excel еще нужна функция, которая умеет заменить первую букву на заглавную только для первого слова в предложении, а не в каждом слове. Однако для решения данной задачи можно составить свою пользовательскую формулу используя те же и другие текстовые функции Excel:
Чтобы решить эту популярную задачу нужно в формуле использовать дополнительные текстовые функции Excel: ЛЕВСИМВ, ПРАВСИМВ и ДЛСТР.
Принцип действия формулы для замены первой буквы в предложении
В левой части формулы используется дополнительная функция ЛЕВСИМВ:
Задача этой части формулы изменить первую букву на большую в исходной текстовой строке ячейки A1. Благодаря функции ЛЕВСИМВ можно получать определенное количество символов начиная с левой стороны текста. Функция требует заполнить 2 аргумента:
- Текст – ссылка на ячейку с исходным текстом.
- Количесвто_знаков – число возвращаемых символов с левой стороны (с начала) исходного текста.
В данном примере необходимо получить только 1 первый символ из исходной текстовой строки в ячейке A1. Далее полученный символ преобразуется в прописную большую букву верхнего регистра.
Текстовая функция ПРАВСИМВ работает обратно пропорционально функции ЛЕВСИМВ. Так же требует запыления двух аргументов: исходный текст и количество знаков. Но возвращает она определенное число букв, полученных с правой стороны исходного текста. Однако в данном случаи мы в качестве второго аргумента не можем указать фиксированное значение. Ведь нам заранее неизвестно количество символов в исходном тексте. Кроме того, длина разных исходных текстовых строк может отличаться. Поэтому нам необходимо предварительно подсчитать длину строки текста и от полученного числового значения отнять -1, чтобы не изменять первую большую букву в строке. Ведь первая буква обрабатывается левой частью формулы и уже преобразована под требования пользователя. Поэтом на нее недолжна влиять ни одна функция из правой части формулы.
Для автоматического подсчета длины исходного текста используется текстовая функция Excel – ДЛСТР (расшифроваться как длина строки). Данная функция требует для заполнения всего лишь одного аргумента – ссылку на исходный текст. В результате вычисления она возвращает числовое значение, попетому после функции =ДЛСТР(A1) отнимаем -1. Что дает нам возможность не затрагивать первую большую букву правой частью формулы. В результате функция ПРАВСИМВ возвращает текстовую строку без одного первого символа для функции СТРОЧН, которая заменяет все символы текста в маленькие строчные буквы.
Раздел функций | Текстовые |
Название на английском | LEN |
Волатильность | Не волатильная |
Похожие функции | СЧЁТЗ |
Что делает функция ДЛСТР?
Эта функция подсчитывает количество символов, включая пробелы и цифры, в фрагменте текста.
Есть символ, который функция ДЛСТР не учитывает. Это символ апострофа (‘), когда он в начале ячейки. Если в начале ячейки идут два символа апострофа подряд, второй уже учитывается.
Почему так происходит? Дело в том, что апостроф в начале ячейки автоматически воспринимается Excel как служебный символ, переводящий формат ячейки в текстовый.
Синтаксис
Аргумент у функции один, он обязательный. В нем можно указывать как одну ячейку, так и другие вычисления с помощью формул. При использовании в функциях массива аргументом может быть диапазон ячеек.
Форматирование
Если входящее значение не в текстовом формате, оно конвертируется в текстовый формат.
Ячейки в формате даты воспринимаются как числа, поэтому содержат обычно 5 знаков (если это не даты, близкие к 1900 году).
Процентный формат также конвертируется в натуральное число, например, 2500% = 25 (2 символа, см. таблицу примеров выше).
Примеры применения ДЛСТР
Функция часто используется как вспомогательная в составных формулах, в комбинации с другими текстовыми функциями.
При этом эти комбинации позволяют решать самые необычные задачи.
Пример 1 — посчитать слова
Сколько слов в ячейке? Обычно на 1 больше, чем пробелов между ними. Если пробел один, значит слов — два, если два — то слов три, и так далее.
Если есть вероятность, что пробелов больше 1 между словами, или они есть в начале и конце ячейки, их можно устранить функцией СЖПРОБЕЛЫ.
Пробелы в строке можно посчитать, измерив длину строки в символах:
- с ними,
- без них,
- и вычислив разницу.
Как получить строку без пробелов? Тут поможет функция ПОДСТАВИТЬ.
Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. СЖПРОБЕЛЫ удаляет лишние пробелы, ПОДСТАВИТЬ удаляет их, а ДЛСТР измеряет длину строк:
Пример 2 — посчитать встречаемость фрагмента в тексте
Есть ли в тексте определенный символ? И если есть, то сколько их?
Рассмотрим пару примеров формул.
Есть ли в ячейке лишние пробелы
Формула ниже проверит, есть ли в ячейке лишние пробелы. Это удобно, когда нужно не просто удалить их, а узнать, были ли они вообще:
Формула очевидна и довольно проста. Если длина ячейки после удаления лишних пробелов функцией СЖПРОБЕЛЫ равна исходной — значит, их в ней нет, а если наоборот, не равна — есть.
Обратите внимание, что, несмотря на то, что в самой постановке вопроса звучит условие ЕСЛИ, функция ЕСЛИ тут не нужна. Если равенство верное, Excel сам вставит в ячейку результат ИСТИНА, и ЛОЖЬ, если наоборот.
Сколько раз встречается символ или слово в тексте
По некой аналогии с предыдущим примером, мы можем производить не булевое (ДА-НЕТ, ИСТИНА-ЛОЖЬ) сравнение длин строки перед и после удаления символа или фрагмента, а вычислить разницу.
Если мы ищем один символ, это позволит сразу понять его встречаемость.
Для удаления произвольного символа из строки нам понадобится функция ПОДСТАВИТЬ.
Подсчет встречаемости буквы в ячейке
Если же текстовый фрагмент длиной 2 и более символов — нам потребуется еще и поделить полученный результат на его длину:
В данной формуле исходный текст в ячейке A1, а подсчитываемый фрагмент — в ячейке B1.
Обратите внимание на 5 и 6 строки — поскольку функция «ПОДСТАВИТЬ» чувствительна к регистру, из текста ею не было удалено первое вхождение. Если нужно учитывать вхождения в любом регистре, могут понадобиться функции СТРОЧН или ПРОПИСН.
Подсчитываемый текстовый фрагмент может быть любой длины.
Еще момент — функция может быть непригодна для подсчета коротких слов, т.к. одно слово может быть частью другого.
Пример 3 — извлечь или удалить последнее слово
Зная количество пробелов в тексте, можно заменить последний из них на редкий символ, чтобы потом вычислить его позицию.
С этим нам, как и в предыдущем примере, поможет функция ПОДСТАВИТЬ — она позволяет заменить не только все определенные текстовые фрагменты в строке, но и определенное по порядку вхождение (первое, второе и т.д.).
Что это нам дает? Последний пробел — не что иное, как символ, отделяющий последнее слово от остальной части строки. И по его позиции далее уже нехитрыми манипуляциями удалить или извлечь его.
Подробно пример рассмотрен здесь: Удалить последнее слово в Excel
Пример 4 — удалить первые N символов / первое слово
Нехитрая комбинация функций ПРАВСИМВ, ПОИСК и ДЛСТР позволяет удалить из ячейки первое слово.
- вычисляем позицию первого пробела функцией ПОИСК,
- вычитаем из длины строки (ДЛСТР) это число
- Извлекаем функцией ПРАВСИМВ полученную разницу из исходной строки
Подробнее пример рассмотрен в статье про функцию ПРАВСИМВ.
Если же количество символов уже известно заранее, формула еще проще — нужны только ДЛСТР и ПРАВСИМВ:
Пример 5 — замена последнего символа в ячейке
Как бы ни звучало очевидно, позиция последнего символа в строке равна ее длине в символах. А поэтому, зная длину строки, можно заменить последний символ в ней, взяв на 1 символ меньше с помощью ЛЕВСИМВ, и конкатенации с нужным текстом через амперсанд:
Или с помощью функции ЗАМЕНИТЬ, которая на вход возьмет длину строки как позицию заменяемого символа:
Пример 6 — в формуле массива
Как посчитать разом все символы во всех ячейках столбца или диапазона?
Здесь поможет формула массива на основе комбинации функции ДЛСТР и функции СУММ. Первая создаст массив значений длины каждой из ячеек диапазона, а вторая просуммирует эти значения:
Функция ДЛСТР в формуле массива
Аналогичным способом функциями МАКС и МИН можно посчитать длины самой длинной и самой короткой строк в диапазоне.
Функция ПОДСТАВИТЬ позволяет заменить все вхождения или N-ное вхождение подстроки в тексте на другой текст. Подстрокой может быть как один символ, так и несколько.
Функция является в некоторой степени аналогом процедуры Найти и Заменить в Excel, с некоторыми отличиями:
- Что очевидно и является базовым отличием, она является функцией, т.е. пересчитывается автоматически, в отличие от одноразового характера процедур, и выводит результат в другую ячейку, в то время, как процедура меняет результат на месте;
- Функция ПОДСТАВИТЬ всегда чувствительна к регистру. В процедуре «найти и заменить» чувствительность к регистру опциональна;
- Функция не поддерживает подстановочные символы («*» и «?»);
- Зато позволяет осуществлять массовую замену нескольких (до 64 в последней версии Excel) значений одновременно;
- Еще одно преимущество функции в том, что она позволяет заменить не все вхождения, а определенное по порядку в строке, чего не позволяет сделать процедура.
Синтаксис
Последний аргумент является необязательным (поэтому указан в квадратных скобках в примере), если его не указывать, будут заменены все вхождения.
Форматирование
Характерные особенности функции ПОДСТАВИТЬ:
- Пустая ячейка воспринимается как строка нулевой длины («»).
- Логические значения конвертируются в текст с сохранением регистра.
- Все вариации числовых форматов (дата, время, дата-время, проценты, финансовый формат) конвертируются в соответствующее им натуральное число в текстовом формате, поэтому для сохранения исходного форматирования может понадобиться функция ТЕКСТ.
Примеры
Функция ПОДСТАВИТЬ необычайно популярна и может использоваться:
- по прямому назначению, когда необходимым результатом является сама строка с заменнными фрагментами
- как вспомогательная функция в сложносоставных формулах, когда результатом вычислений является даже не строка, а число или логическое значение
Рассмотрю несколько примеров ситуаций, в которых лично использовал функцию.
ПОДСТАВИТЬ с несколькими условиями (транслитерация)
Заменить кириллицу на транслит автоматически с помощью формулы? Можно! Правда, длина формулы настолько велика, что ее лучше сохранить где-нибудь, а не составлять самостоятельно. Потому что это формула с 64 условиями (уровнями вложенности). Подробнее — по ссылке в начале этого абзаца.
ПОДСТАВИТЬ, чтобы посчитать слова
Тот случай, когда функция используется не по своему назначению, т.к. целевым значением является число, а не текст. Лайфхак стар как мир, но не теряет своей актуальности.
Сколько слов в ячейке? На 1 больше, чем пробелов между ними. Это будет справедливо всегда, если разделителем слов считается только пробел, и если пробелов между каждыми двумя словами не более 1. Чтобы обезопасить себя от лишних, можно воспользоваться функцией СЖПРОБЕЛЫ.
Как посчитать пробелы в строке? Как и любой символ, можно посчитать их, подсчитав длину строки с ними и без них, и вычислив разницу. Как получить строку без них? Конечно, с помощью функции ПОДСТАВИТЬ.
Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. ДЛСТР измеряет длину строк:
У формулы есть побочный эффект — для пустой ячейки она возвращает 1, поэтому, если пустые ячейки могут присутствовать, формулу выше придется «обернуть» выражением с Excel функцией ЕСЛИ:
Заменить пробелы на переносы строк
Часто возникает задача заменить пробелы в строке на переносы строк, и наоборот. Здесь будет полезна комбинация функций ПОДСТАВИТЬ и СИМВОЛ. Так будет выглядеть формула, заменяющая все пробелы в строке на переносы строк.
Как видно из формулы, код символа переноса строки — 10.
Обратите внимание, что результат может отображаться сплошной строкой, если не включить опцию «Перенести текст».
Отображение переносов строк в Excel
ПОДСТАВИТЬ, чтобы посчитать встречаемость в тексте
Узнать, сколько раз встречается фрагмент в тексте, можно довольно просто с помощью комбинации функций ПОДСТАВИТЬ и ДЛСТР.
- Первая (ПОДСТАВИТЬ) позволяет создать строку без указанного фрагмента, заменяя его на пустоту.
- Вторая (ДЛСТР) — измерить длину результата.
- Если вычесть из исходной длины полученную, и разделить на длину этого фрагмента, можно получить его встречаемость.
- Если заведомо известно, что это один символ, процесс деления можно опустить, т.к. результат от деления на 1 не изменится.
Так выглядит формула, считающая в ячейке A1 количество 1-символьного фрагмента из ячейки B1:
Так — для подсчета встречаемости конкретного символа в ячейке, в данном случае — косой черты, что позволяет, например, посчитать уровень вложенности директории по ее адресу:
А так — для фрагмента длиной более 1 символа, например, если нужно посчитать, сколько раз встречается конкретное слово в тексте:
ПОДСТАВИТЬ для подсчета цифр в тексте
Представим, что наша задача — провалидировать список номеров телефонов на количество цифр в нем. Корректным будем считать номер, в котором 11 цифр.
При этом номер может быть указан в любом формате — со скобками, дефисами, плюсом в начале, с пробелами и без. Помимо самого номера в строке могут присутствовать другие пометки, например, контактное лицо, является телефон мобильным или нет.
Очевидно, что функция ДЛСТР не подойдет в таком случае, как и не удастся сходу удалить все лишние символы, чтобы оставить в ячейках только цифры.
Комбинация функций ПОДСТАВИТЬ и ДЛСТР в формуле массива с функцией СУММ позволит решить данную задачу:
Читайте также: