- Первые N символов – формула в Excel
- Разбить столбец по количеству символов
- Извлечь первые символы автозаполнением
- Извлечь первые символы с помощью регулярных выражений
- Оставить первые / последние N символов в строке в 1 клик
Простейшая задача – взять и отделить от ячейки первый символ, скопировав его в соседний столбец. Или выбрать и оставить в ней первые 2, 3, 4… N символов.
Например, в строках переменной длины первые 6 символов – определенный цифровой код, который нужно скопировать в отдельный столбец.
Или задача является частью другой, где нужно сделать первую букву ячейки заглавной, а для этого, ее нужно вытащить из ячейки.
Рассмотрим все известные решения, снабдив их примерами. Итак, поехали.
Вытащить первый символ или N символов ячейки формулой проще простого. И есть даже 2 функции Excel, которые в этом помогут:
- ЛЕВСИМВ;
- ПСТР.
А так будут выглядеть формулы, извлекающие первые N символов из ячейки A1. Подставьте свое число вместо N, чтобы формулы работали:
Заметное отличие первой функции от второй — в отсутствии параметра, отвечающего за позицию, с которой начинается извлечение. Поэтому, если вычислить позицию первого вхождения определенного символа в ячейке, с помощью этой функции можно извлечь его, даже если он не является первым символом строки.
Например:
- извлечь текст после цифр
- извлечь первые N цифр
- сделать первую букву ячейки заглавной
Разбить столбец по количеству символов
Можно получить первые N символов столбца, разбив его по количеству символов. Первые N останутся, а остальные будут перенесены в соседний справа. Можно разбить и на несколько — Excel не ставит ограничений на количество столбцов.
В отличие от формул, у процедур есть свои отличия, которые можно трактовать как плюсы и минусы в зависимости от ситуации. В данном случае отличие от формул в следующих моментах:
- разбивка по столбцам не сохраняет исходный столбец
- это единоразовая процедура, в отличие от формул, которые пересчитываются при обновлении данных
- удобный момент — одна процедура создает сразу несколько столбцов
- направление разбивки — только вправо
- если справа есть данные, они могут быть перезаписаны, если не отменить операцию и не создать пустой столбец/столбцы.
Извлечь первые символы автозаполнением
Автозаполнение – замечательная процедура в Excel. Алгоритм действий прост.
- Заполняем пару ячеек соседнего столбца вручную;
- Уже при вводе третьей может быть предложено автозаполнение;
- Если согласны – жмём клавишу Ввод (Enter).
Однако с этой процедурой нужно быть осторожным. Алгоритм, который используется при автозаполнении, не показывается, поэтому результат может не соответствовать ожиданиям. Обычно алгоритм можно «доучить», чтобы он понял, что от него хотят.
Извлечь первые символы с помощью регулярных выражений
Чтобы выбрать из строки символы по регулярным выражениям, в Google Spreadsheets доступна функция REGEXEXTRACT. Там она существует уже очень давно.
А вот Microsoft не столь серьезно озадачились вопросом – официально регулярные выражения в Excel существуют только как подключаемый модуль VBA. Поэтому доступны очень узкому кругу посвященных специалистов с навыками программирования на нем.
Чтобы сделать их необычайно гибкий синтаксис доступным обычным пользователям, я включил их поддержку в формулы и процедуры своей надстройки !SEMTools.
Подробно тут – регулярные выражения в Excel и примеры регулярных выражений. А ниже на картинке – примеры формул, которые позволят извлечь первые N символов, в том числе букв или цифр по отдельности, из любой ячейки.
Функции доступны абсолютно бесплатно и работают при подключенной надстройке !SEMTools для Excel даже в стартовой версии.
Оставить первые / последние N символов в строке в 1 клик
Ну и напоследок – на панели !SEMTools доступны процедуры, позволяющие максимально легко и быстро выбрать первые или последние символы из ячеек.
Можно выделять одну ячейку, несколько, целый столбец или даже несколько несвязанных диапазонов – процедура обработает все выделенные данные. При желании можно вернуться назад на 1 шаг.
Если активна опция «Выводить результат справа», исходные данные не меняются, а извлеченные символы выводятся в соседний столбец/столбцы.
Смотрите демонстрацию ниже:
Процедуры доступны в полной версии надстройки, но попробовать можно и бесплатно.
Жмите кнопку ниже, чтобы скачать и подключить надстройку к вашему Excel! Процедура займет всего пару минут.
Если вы оказались на этой странице, то наверняка сталкиваетесь с другими похожими задачами.
Сотни инструментов надстройки для Excel !SEMTools помогут решить эти задачи буквально в один клик!
ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ)
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.
Описание
Функция ЛЕВСИМВ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа символов.
Функция ЛЕВБ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа байтов.
Важно:
-
Эти функции могут быть доступны не на всех языках.
-
Функция ЛЕВБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой двухбайтовой кодировки. В противном случае функция ЛЕВБ работает так же, как функция ЛЕВСИМВ, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Синтаксис
ЛЕВСИМВ(текст;[количество_знаков])
ЛЕВБ(текст;[количество_байтов])
Аргументы этих функций описаны ниже.
-
Текст Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.
-
Количество_знаков Необязательный. Количество символов, извлекаемых функцией ЛЕВСИМВ.
-
«Количество_знаков» должно быть больше нуля или равно ему.
-
Если «количество_знаков» превышает длину текста, функция ЛЕВСИМВ возвращает весь текст.
-
Если значение «количество_знаков» опущено, оно считается равным 1.
-
-
Количество_байт Необязательный. Количество символов, извлекаемых функцией ЛЕВБ.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
---|---|---|
Цена продажи |
||
Швеция |
||
Формула |
Описание |
Результат |
=ЛЕВСИМВ(A2;4) |
Первые четыре символа первой строки |
Продажа |
=ЛЕВСИМВ(A3) |
Первый символ второй строки |
Ш |
Нужна дополнительная помощь?
Skip to content
В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое.
Среди множества различных функций, которые Microsoft Excel предоставляет для работы с текстовыми данными, ЛЕВСИМВ — одна из наиболее широко применяемых. Как следует из названия, она позволяет извлекать определенное количество знаков, начиная с левой стороны текста. Однако она способна на гораздо большее, чем такая простая операция. В этом руководстве вы найдете несколько базовых формул для понимания синтаксиса, а затем я покажу вам несколько способов, с помощью которых вы можете использовать ЛЕВСИМВ далеко за пределами ее базового применения.
- Правила синтаксиса.
- Как получить подстроку слева от определенного символа?
- Удаляем последние N символов.
- Как заставить ЛЕВСИМВ вернуть число, а не текст.
- Почему не работает?
Cинтаксис.
Функция ЛЕВСИМВ в Excel возвращает указанное количество символов (подстроку) от начала содержимого ячейки.
Синтаксис следующий:
ЛЕВСИМВ (текст; [колич_знаков])
Где:
- Текст (обязательно) — это текст, из которого вы хотите извлечь подстроку. Обычно предоставляется как ссылка на ячейку, в которой он записан.
- Второй аргумент (необязательно) — количество знаков для извлечения, начиная слева.
- Если параметр опущен, то по умолчанию подразумевается 1, то есть возвращается 1 знак.
- Если введенное значение больше общей длины ячейки, формула вернет всё ее содержимое.
Например, чтобы извлечь первые 6 символов из A2, запишите такое выражение:
=ЛЕВСИМВ(A2; 6)
На следующем скриншоте показан результат:
Важное замечание! ЛЕВСИМВ относится к категории текстовых функций, поэтому результатом её всегда является текстовая строка, даже если исходное значение, из которого вы извлекаете цифры, является числом. Если вы работаете с числовым набором данных и хотите, чтобы было извлечено именно число, применяйте ее вместе с функцией ЗНАЧЕН, как показано в одном из примеров ниже.
Что еще можно делать, помимо извлечения текста слева? В следующих примерах показано, как можно применять её в сочетании с другими функциями Excel для решения более сложных задач.
Как извлечь подстроку перед определенным символом.
В некоторых случаях может потребоваться извлечь часть текста, который предшествует определенному знаку. Например, вы можете извлечь имена из столбца ФИО или получить коды стран из колонки с телефонными номерами. Проблема в том, что каждое имя и каждый код содержат разное количество символов, и поэтому вы не можете просто указать точное число сколько знаков отделить, как мы сделали в приведенном выше примере.
Если имя и фамилия разделены пробелом, проблема сводится к определению положения этого разделителя. Это можно легко сделать с помощью функции ПОИСК или НАЙТИ .
Предположим, что полное имя находится в ячейке A2, позиция пробела возвращается по этой простой формуле: ПОИСК(» «; A2)). А теперь вы вставляете это выражение в ЛЕВСИМВ:
=ЛЕВСИМВ(A2; ПОИСК(» «; A2))
Чтобы еще немного улучшить результат, избавьтесь от конечного пробела, вычтя 1 из результата поиска. Ведь невидимые конечные пробелы могут вызвать множество проблем, особенно если вы планируете использовать извлеченные имена в других вычислениях:
=ЛЕВСИМВ(A2; ПОИСК(» «; A2)-1)
Таким же образом вы можете извлечь коды стран из столбца телефонных номеров. Единственное отличие состоит в том, что вам теперь нужно узнать позицию первого дефиса («-«), а не пробела:
=ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)
Думаю, вы поняли, что можете брать эту универсальную формулу, чтобы получить подстроку, которая предшествует любому другому знаку:
ЛЕВСИМВ( строка ; ПОИСК( символ ; строка ) — 1)
Как удалить последние N символов.
Вы уже знаете, отрезать кусочек от начала текстовой строки. Но иногда вы можете захотеть сделать что-то другое — удалить определенное количество символов из конца строки и перенести оставшееся в другую ячейку. Для этого можно также применять функцию ЛЕВСИМВ в сочетании с ДЛСТР , например:
ЛЕВСИМВ ( текст ; ДЛСТР( текст ) — число_символов_для_удаления )
Это работает с такой логикой: ДЛСТР получает общее количество символов в ячейке, затем вы вычитаете количество ненужных знаков из общей длины, а ЛЕВСИМВ возвращает оставшееся.
Например, чтобы удалить последние 7 знаков из текста в A2, запишите такое выражение:
=ЛЕВСИМВ(A2; ДЛСТР(A2)-11)
Как показано на скриншоте, формула успешно отсекает слово «продукты» (8 букв, разделитель и 2 пробела) из текстовых значений в столбце A.
При этом взять на вооружение способ, рассмотренный нами в предыдущем примере, будет очень сложно, так как все разделители разные.
Как заставить ЛЕВСИМВ возвращать число.
Как вы уже знаете, ЛЕВСИМВ в Эксель всегда возвращает текст, даже если вы извлекаете несколько первых цифр из ячейки. Для вас это означает, что вы не сможете использовать эти результаты в вычислениях или в других функциях Excel, которые работают с числами.
Итак, как заставить ЛЕВСИМВ выводить числовое значение, а не текстовую строку, состоящую из цифр? Просто заключив его в функцию ЗНАЧЕН (VALUE), которая предназначена для преобразования текста, состоящего из цифр, в число.
Например, чтобы извлечь символы перед разделителем “-” из A2 и преобразовать результат в число, можно сделать так:
=ЗНАЧЕН(ЛЕВСИМВ(A2;ПОИСК(«-«;A2;1)-1))
Результат будет выглядеть примерно так:
Как вы можете видеть на скриншоте выше, числа в столбце B, полученные с помощью преобразования, автоматически выровнены по правому краю в ячейках, в отличие от текста с выравниванием по левому краю в столбце A. Поскольку Эксель распознает итоговые данные как числа, вы можете суммировать и усреднять эти значения, находить минимальное и максимальное значение и выполнять любые другие вычисления с ними.
Это лишь некоторые из множества возможных вариантов использования ЛЕВСИМВ в Excel.
Дополнительные примеры формул ЛЕВСИМВ можно найти на следующих ресурсах:
- Разделить строку запятой, двоеточием, косой чертой, тире или другим разделителем
- Как разбить текстовую строку вида «число + текст» по столбцам
- Подсчитайте количество символов до или после данного символа
Не работает ЛЕВСИМВ — причины и решения
Если ЛЕВСИМВ не работает на ваших листах должным образом, это, скорее всего, связано с одной из причин, которые мы перечислим ниже.
1. Аргумент «количество знаков» меньше нуля
Если ваша формула возвращает ошибку #ЗНАЧ!, то первое, что вам нужно проверить, — это значение аргумента количество_знаков. Если вы видите отрицательное число, просто удалите знак минус, и ошибка исчезнет (конечно, очень маловероятно, что кто-то намеренно поставит отрицательное число, но человек может ошибиться
Чаще всего ошибка #ЗНАЧ! возникает, когда этот аргумент получен в результате вычислений, а не записан вручную. В этом случае скопируйте это вычисление в другую ячейку или выберите его в строке формул и нажмите F9, чтобы увидеть результат ее работы. Если значение меньше 0, проверьте на наличие ошибок.
Чтобы лучше проиллюстрировать эту мысль, возьмем формулу, которую мы записали в первом примере для извлечения телефонных кодов страны:
ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)
Как вы помните, функция ПОИСК в наших примерах вычисляет позицию первого дефиса в исходной строке, из которой мы затем вычитаем 1, чтобы удалить дефис из окончательного результата. Если я случайно заменю -1, скажем, на -11, Эксель выдаст ошибку #ЗНАЧ!, потому что нельзя извлечь отрицательное количество букв и цифр:
2. Начальные пробелы в исходном тексте
Если вы скопировали свои данные из Интернета или экспортировали из другого внешнего источника, довольно часто такие неприятные сюрпризы попадаются в самом начале текста. И вы вряд ли заметите, что они там есть, пока что-то не пойдет не так. Следующее изображение иллюстрирует проблему:
Чтобы избавиться от ведущих пробелов на листах, воспользуйтесь СЖПРОБЕЛЫ (TRIM).
3. ЛЕВСИМВ не работает с датами.
Если вы попытаетесь использовать ЛЕВСИМВ для получения отдельной части даты (например, дня, месяца или года), в большинстве случаев вы получите только первые несколько цифр числа, представляющего эту дату. Дело в том, что в Microsoft Excel все даты хранятся как числа, представляющие количество дней с 1 января 1900 года. То, что вы видите в ячейке, это просто визуальное представление даты. Ее отображение можно легко изменить, применив другой формат.
Например, если у вас есть дата 15 июля 2020 года в ячейке A1 и вы пытаетесь извлечь день с помощью выражения ЛЕВСИМВ(A1;2). Результатом будет 44, то есть первые 2 цифры числа 44027, которое представляет 15 июля 2020г. во внутренней системе Эксель.
Чтобы извлечь определенную часть даты, возьмите одну из следующих функций: ДЕНЬ(), МЕСЯЦ() или ГОД().
Если же ваши даты вводятся в виде текстовых строк, то ЛЕВСИМВ будет работать без проблем, как показано в правой части скриншота:
Вот как можно использовать функцию ЛЕВСИМВ в Excel.
Все описанные выше операции, а также многие другие действия с текстовыми значениями в Excel вы можете выполнить при помощи специального инструмента работы с текстом, включённого в надстройку Ultimate Suite. Вот только некоторые из этих возможностей: удалить лишние пробелы и ненужные символы, изменить регистр текста, подсчитать буквы и слова, добавить один и тот же текст в начало или конец всех ячеек в диапазоне, преобразовать текст в числа, разделить по ячейкам, извлечь отдельные слова, найти дубликаты слов.
Функция ЛЕВСИМВ в Excel используется для получения части текста и возвращает заданное количество символов текстовой строки, при этом отсчет символов начинается слева.
Как вырезать часть текста из строки функцией ЛЕВСИМВ в Excel?
Пример 1. В таблице Excel содержатся имена переменных вместе с текстом, определяющим их тип данных. Необходимо выделить только названия переменных и записать их в отдельный столбец.
Исходная таблица данных:
Для выделения первого символа, которым является искомое название переменной, используем формулу:
Второй равен 1 по умолчанию, поэтому функция возвращает первый символ. Аналогично выделим названия переменных из других строк. В результате получим:
Как видно на рисунке с помощью функции ЛЕВСИМВ получилось вытащить левую часть текста из каждой ячейки по одному (первому) символу.
Как вытащить часть текста из ячейки в Excel используя функцию ЛЕВСИМВ?
Пример 2. В таблицу Excel подтягиваются данные из другого программного продукта. Одно из полей данных получило ошибку. Для обработки ошибки необходимо выделить ее код и описание из строки.
Исходные данные:
Выделим код ошибки с помощью следующей формулы:
Описание:
- ЛЕВСИМВ(B5;НАЙТИ(«3»;B5)+1) – функция, выделяющая часть текстовой строки слева, количество символов в которой соответствуют порядковому номеру символа «3» (функция НАЙТИ выполняет поиск порядкового номера этого символа и возвращает соответствующее значение). Единица (+1) добавлена для выделения всего кода ошибки.
- 2 – количество символов, которые вернет функция ПРАВСИМВ, работающая аналогично рассматриваемой ЛЕВСИМВ (отличие – возвращает символы справа, а не слева строки).
В результате получим:
Выделим часть текста ошибки:
В данном случае удобнее использовать ПРАВСИМВ, которая является, по сути, зеркальным отражением ЛЕВСИМВ. Для определения второго аргумента используется запись ДЛСТР(B5)-НАЙТИ(«:»;B5)-1, определяющая позицию символа «u» в слове «unknown» (единица вычтена для удаления пробела).
В результате получим:
Округление чисел текстовыми функциями в текстовой строке
Пример 3. Создать функцию для округления дробных чисел до ближайших целых значений с использованием формул для работы с текстом.
Форма для округления числовых значений имеет следующий вид:
В ячейке B3 введена следующая сложная формула:
Логика работы:
- Первая функция ЕСЛИ проверяет с помощью формулы ЕПУСТО, заполнена ли ячейка, которая должна содержать значение, которое требуется округлить.
- Если число введено, запись ЧЗНАЧ(ПРАВСИМВ(ЛЕВСИМВ(B2;НАЙТИ(«,»;B2)+1)) возвращает числовое значение первого символа после запятой и сравнивает полученное значение с числом 5.
- Если полученное значение больше 5, будет возвращен результат выполнения функции ЛЕВСИМВ(B2+1;НАЙТИ(«,»;B2)-1), то есть целой части числа +1 по правилам округления.
- Если <5, то будет возвращен результат работы функции ЛЕВСИМВ(B2;НАЙТИ(«,»;B2)-1)), то есть просто целая часть исходного числа.
Примечание: данный алгоритм нельзя назвать гибким и он имеет некоторые недостатки (например, не учтен вариант ввода сразу целого числа). Он приведен в качестве примера использования функции ЛЕВСИМВ. Для расчетов лучше использовать встроенную функцию ОКРГУГЛ и подобные ей.
Функция ЛЕВСИМВ в Excel и особенности ее использования
Функция ЛЕВСИМВ используется наряду с прочими функциями для работы с текстовыми строками в Excel (ПРАВСИМВ, СИМВОЛ, СЦЕПИТЬ, ДЛСТР и прочими) и имеет следующую синтаксическую запись:
=ЛЕВСИМВ(текст;[число_знаков])
Описание аргументов:
- текст – ссылка на ячейку, содержащую текст, или текстовая строка, в которой требуется выделить требуемое количество символов слева. Аргумент обязателен для заполнения.
- [число_знаков] – необязательный для заполнения аргумент; числовое значение, характеризующее количество символов, которые требуется выделить из текстовой строки.
Примечания 1:
- Если необязательный аргумента [число_знаков] явно не указан, по умолчанию будет возвращен первый символ строки. Например, функция =ЛЕВСИМВ(«текст») вернет значение «т».
- Числовое значение, переданное в качестве необязательного аргумента, должно быть взято из диапазона неотрицательных чисел, то есть должно быть равным нулю или больше нуля. В противном случае будет возвращен код ошибки #ЗНАЧ!.
- Если в качестве аргумента [число_знаков] будет переданы текстовые данные, функция ЛЕВСИМВ вернет код ошибки #ЗНАЧ!.
- Если число, переданное в качестве необязательного аргумента, превышает количество знаков в текстовой строке, рассматриваемая функция вернет весь текст целиком.
- Excel выполняет автоматическое преобразование типов данных там, где это возможно. Например, рассмотрим некоторые возможные варианты записи функции ЛЕВСИМВ и результаты ее выполнения:
- ЛЕВСИМВ(«текст»;200%) вернет значение «те» (преобразование процентов в числовое значение);
- при аргументах: («текст»;ИСТИНА) вернет «т» (логическое ИСТИНА эквивалентно числовому значению 1);
- при аргументах: («текст»;ЛОЖЬ) вернет пустое значение «», поскольку логическое ЛОЖЬ эквивалентно числовому 0 (нуль);
- при аргументах: («текст»;15/7) вернет значение «те».
Примечание 2: в Excel также существует схожая по принципу работы функция ЛЕВБ, возвращающая определенное количество символов текстовой строки слева на основе определенного количества байтов. Если по умолчанию используется язык с поддержкой двухбайтовой кодировки, для получения первого символа строки требуется в качестве аргумента указать число 2, а для получения последующих второго, третьего и прочих символов необходимо указывать соответствующие числа, кратные двум. Для языков с однобайтовой кодировкой функции ЛЕВСИМВ и ЛЕВБ возвращают идентичные результаты.
На чтение 12 мин. Просмотров 18.3k.
Функция VBA InStr является одной из наиболее часто используемых функций в VBA. Он используется для нахождения текста внутри строки и действительно отлично справляется с работой.
Тем не менее, она часто используется, чтобы помочь извлечь часть строки, и эту задачу она выполняет плохо.
Если вы обнаружили, что извлечение текста в VBA является болезненным процессом, тогда читайте дальше. Эта статья покажет вам более простой и лучший способ, используя три реальных примера!
Содержание
- Краткое руководство к статье
- Краткая справка
- Введение
- Когда VBA InStr, Left, Right и Mid полезны
- Работа со строками различной длины
- Использование функции VBA InStr с Mid
- Функция Split
- Пример 1: Получение части имени файла
- Пример 2: диапазон IP-адресов
- Пример 3. Проверьте правильность имени файла
- Заключение
Краткое руководство к статье
В следующей таблице приведено краткое руководство к тому, что рассматривается в этой статье.
Строка | Тип | Задача | Как |
1234ABC334 | Фиксированный размер | Оставить слева 4 символа | Left(s,4) |
1234ABC334 | Фиксированный размер | Оставить справа 3 символа |
Right(s,3) |
1234ABC334 | Фиксированный размер | Оставить 5, 6, 7 символы | Mid(s,5,3) |
«Иван Петрович Сидоров» |
Переменный размер |
Оставить имя | Split(s,» «)(0) |
«Иван Петрович Сидоров» |
Переменный размер |
Оставить отчество |
Split(s,» «)(1) |
«Иван Петрович Сидоров» |
Переменный размер |
Оставить фамилию |
Split(s,» «)(2) |
«Иван Петрович Сидоров» |
Переменный размер |
Оставить фамилию |
Dim v As Variant v = Split(s, » «) lastname= v(UBound(v)) |
Краткая справка
Чтобы узнать больше об элементах, упомянутых в статье, перейдите по следующим ссылкам:
- Если вы хотите узнать больше о функциях InStr или InStrRev, пожалуйста, прочитайте Поиск в строке.
- Если вы хотите узнать больше о функциях Mid, Left или Right, посмотрите раздел Извлечение части строки.
- Для получения дополнительной информации о функции Split проверьте Строка в массив, используя Split.
- Оператор Like включен в Сравнение строк с шаблоном
Я использую Debug.Print в моих примерах. Он печатает значения в Immediate Window, которое вы можете просмотреть, нажав Ctrl + G (или выберите View-> Immediate Window)
Введение
В этой статье я собираюсь показать вам лучший способ извлечения символов из строки, чем использование функции VBA InStr с Left, Right или Mid.
Эта статья разбита следующим образом:
- Раздел 1: Как извлечь из строк фиксированного размера.
- Раздел 2: Как извлечь из строк переменного размера.
- Раздел 3: Как извлечь из строки переменного размера, используя функцию Split.
- Разделы с 4 по 6: некоторые примеры из реальной жизни.
Когда VBA InStr, Left, Right и Mid полезны
Если вы хотите проверить, содержит ли строка значение, InStr подходит для этой работы. Если вы хотите сделать простое извлечение, то отлично подойдут Left, Right и Mid.
Использование InStr для проверки, содержит ли строка текст
В следующем примере мы проверяем, содержит ли ФИО «Петрович». Если возвращаемое значение InStr больше нуля, то строка содержит значение, которое мы проверяем.
' Проверьте, содержит ли строка Петрович If InStr("Иван Петрович Сидоров", "Петрович") > 0 Then Debug.Print "Найдено" End If
Извлечение с Left, Right и Mid
Функция Left используется для получения символов слева от строки.
Функция Right используется для получения символов справа от строки.
Функция Mid используется для середины строки. Она такая же, как
Left, за исключением того, что вы даете ему стартовую позицию.
Sub IzvlechTekst() Dim s As String: s = "ABCD-7789.WXYZ" Debug.Print Left(s, 2) ' Печатает AB Debug.Print Left(s, 4) ' Печатает ABCD Debug.Print Right(s, 2) ' Печатает YZ Debug.Print Right(s, 4) ' Печатает WXYZ Debug.Print Mid(s, 1, 2) ' Печатает AB Debug.Print Mid(s, 6, 4) ' Печатает 7789 End Sub
Эти три функции работают нормально, если требуемый текст всегда одинакового размера и в одном и том же месте. Для других сценариев они требуют использования InStr, чтобы найти определенную позицию в строке. Это усложняет их использование.
Используйте Left, Right или Mid, когда символы всегда будут в одной и той же позиции.
Работа со строками различной длины
Многие из строк, с которыми вы имеет дело, разной длины. Простой пример — когда у вас есть дело со списком имен. Длина строки и требуемая часть (например, имя) могут каждый раз отличаться. Например:
Brooke Hilt
Pamela Jurado
Zack Kinzel
Eddy Wormley
Kaitlyn Rainer
Jacque Trickett
Kandra Stanbery
Margo Hoppes
Berenice Meier
Garrett Hyre
(Если вам нужен случайный список имен, попробуйте этот генератор случайных имен)
Использование функции VBA InStr с Left
В следующем примере мы собираемся получить имя из строки. В этой строке первое имя — это имя перед первым пробелом.
Мы используем функцию VBA InStr, чтобы получить позицию первого пробела. Мы хотим получить все символы до пробела. Мы вычитаем одну из позиции, так как это дает нам позицию последней буквы имени.
Sub PoluchitImya() Dim s As String, lPosition As Long s = "John Henry Smith" ' Печатает John lPosition = InStr(s, " ") - 1 Debug.Print Left(s, lPosition) s = "Lorraine Huggard" ' Печатает Lorraine lPosition = InStr(s, " ") - 1 Debug.Print Left(s, lPosition) End Sub
Давайте посмотрим на первый пример в приведенном выше коде. Первый пробел находится в позиции 5. Мы вычтем 1, что дает нам позицию 4. Это позиция последней буквы John, т.е.
Затем мы даем 4 функции Left, и она возвращает первые четыре символа, например, «John»
Мы можем выполнить ту же задачу в одной строке, передав возвращаемое значение из InStr в функцию Left.
Dim s As String s = "John Henry Smith" ' Печатает John Debug.Print Left(s, InStr(s, " ") - 1)
Использование функции VBA InStr с Right
В этом примере мы получим последнее слово в строке, то есть Smith. Мы можем использовать функцию InStrRev. Это то же самое, что InStr, за исключением того, что поиск выполняется с конца строки.
Важно отметить, что InStrRev дает нам позицию с начала строки. Поэтому нам нужно использовать его немного иначе, чем мы использовали InStr и Left.
Sub PoluchitFamiliyu() Dim s As String: s = "John,Henry,Smith" Dim Position As Long, Length As Long Position = InStrRev(s, ",") Length = Len(s) ' Печатает Smith Debug.Print Right(s, Length - Position) ' Альтернативный метод. Печатает Smith - делает в одну строку Debug.Print Right(s, Len(s) - InStrRev(s, ",")) End Sub
Как работает приведенный выше пример:
- Мы получаем позицию последнего пробела, используя InStrRev: 11
- Мы получаем длину строки: 16.
- Вычитаем позицию из длины: 16-11 = 5
- Мы даем 5 функции Right и возвращаем Smith
Использование функции VBA InStr с Mid
В следующем примере мы получим «Henry» из строки. Слово, которое мы ищем, находится между первым и вторым пробелом.
Мы будем использовать функцию Mid здесь.
Sub PoluchitVtoroeImya() Dim s As String: s = "John Henry Smith" Dim firstChar As Long, secondChar As Long Dim count As Long ' Найти пробел плюс 1. Результат 6 firstChar = InStr(s, " ") + 1 ' Найти 2-й пробел. Результат 11 secondChar = InStr(firstChar, s, " ") ' Получить число символов. Результат 5 count = secondChar - firstChar ' Печатает Henry Debug.Print Mid(s, firstChar, count) End Sub
Как видите, это сложно сделать и требует немного усилий, чтобы выяснить. Нам нужно найти первое место. Тогда нам нужно найти второе место. Затем мы должны вычесть одно из другого, чтобы дать нам количество символов, которые нужно взять.
Если у вас есть строка с большим количеством слов, то это может быть очень сложно. К счастью для нас, гораздо проще было извлечь символы из строки. Это называется функцией Split.
Функция Split
Мы можем использовать функцию Split для выполнения приведенных выше примеров. Функция Split разбивает строку на массив. Тогда мы можем легко получить доступ к каждому элементу.
Давайте попробуем те же три примера еще раз, и на этот раз мы будем использовать Split.
Dim s As String: s = "John Henry Smith" Debug.Print Split(s, " ")(0) ' John Debug.Print Split(s, " ")(1) ' Henry Debug.Print Split(s, " ")(2) ' Smith
Ого! Какая разница с использованием Split. Как это работает:
- Функция Split разбивает строку везде, где есть пробел.
- Каждый элемент помещается в массив, начиная с нуля.
- Используя номер местоположения, мы можем получить доступ к элементу массива.
В следующей таблице показано, как может выглядеть массив после использования Split.
Примечание: первая позиция в массиве равна нулю. Наличие нулевых массивов является стандартным в языках программирования.
0 | 1 | 2 |
John | Henry | Smith |
В приведенном выше коде мы разделяем строку каждый раз, когда ее используем. Мы также можем разделить строку один раз и сохранить ее в переменной массива. Тогда мы можем получить к нему доступ, когда захотим.
Sub SplitName() Dim s As String: s = "John Henry Smith" Dim arr() As String arr = Split(s, " ") Debug.Print arr(0) ' John Debug.Print arr(1) ' Henry Debug.Print arr(2) ' Smith End Sub
Если вы хотите узнать больше о массивах, я написал о них целую статью под названием «Полное руководство по использованию массивов в Excel VBA».
В следующих разделах мы рассмотрим примеры из реальной жизни. Вы увидите преимущество использования Split вместо функции InStr.
Пожалуйста, не стесняйтесь попробовать это сами. Это отличный способ учиться, и вы можете повеселиться, пытаясь понять их (или, может быть, только у меня так!)
Пример 1: Получение части имени файла
Представьте, что мы хотим извлечь числа из следующих имен файлов
«VB_23476_Val.xls»
«VV_987_Val.txt»
«VZZA_12223_Val.doc»
Это похоже на пример, где мы получаем второй элемент. Чтобы получить значения здесь, мы используем подчеркивание (то есть «_»), чтобы разбить строку. Смотрите пример кода ниже:
Sub PoluchitNomer() ' Печатает 23476 Debug.Print Split("VB_23476_Val.xls", "_")(1) ' Печатает 987 Debug.Print Split("VV_987_Val.txt", "_")(1) ' Печатает 12223 Debug.Print Split("ABBZA_12223_Val.doc", "_")(1) End Sub
В реальном мире вы обычно читаете такие строки из разных ячеек. Допустим, эти имена файлов хранятся в ячейках от А1 до А3. Мы немного изменим приведенный выше код:
Sub ChitatNomera() Dim c As Range For Each c In Range("A1:A3") ' Разделите каждый элемент по мере его прочтения Debug.Print Split(c, "_")(1) Next c End Sub
Пример 2: диапазон IP-адресов
Пример здесь взят из вопроса на веб-сайте StackOverflow.
У пользователя есть строка с IP-адресом в формате «BE-ABCDDD-DDS 172.16.23.3».
Он хочет, чтобы IP в диапазоне от 172,16 до 172,31 был действительным. Так например:
- «BE-ABCDDD-DDS 172.16.23.3» действителен
- «BE-ABCDDD-DDS 172.25.23.3» действителен
- «BE-ABCDDED-DDS 172.14.23.3» не действителен
- «BE-ABCDDDZZ-DDS 172.32.23.3» не действителен
Вот как бы я это сделал. Сначала я разбил строку по периодам. Число, которое мы ищем, находится между первым и вторым периодом. Поэтому это второй пункт. Когда мы разделяем строку, она помещается на первую позицию в массиве (помните, что массив начинается с нулевой позиции).
Полученный массив будет выглядеть так:
0 | 1 | 2 | 3 |
BE-ABCDDD-DDS 172 | 31 | 23 | 3 |
Код ниже показывает, как это сделать.
Sub IPAdd() ' Проверьте номер, чтобы проверить разные IP-адреса Dim s1 As String: s1 = "BE-ABCDDD-DDS 172.31.23.3" ' Разбить строку, используя символ точки Dim num As Long num = Split(s1, ".")(1) ' Проверьте правильность номера Debug.Print num >= 16 And num <= 31 End Sub
Пример 3. Проверьте правильность имени файла
В этом последнем примере мы хотим проверить правильность имени файла. Есть три правила.
- Должно заканчиваться на .pdf
- Он должен содержать АА
- Он должен содержать 1234 после А
В следующих таблицах показаны некоторые допустимые и недействительные элементы:
Имя файла | Статус |
AA1234.pdf | Действителен |
AA_ljgslf_1234.pdf | Действителен |
AA1234.pdf1 | Недействительно — не заканчивается на .pdf |
1234 AA.pdf | Недействительно — АА не до 1234 |
12_AA_1234_NM.pdf | Действителен |
Сначала мы сделаем это, используя функции InStr и Right.
Sub IspInstr() Dim f As String: f = "AA_1234_(5).pdf" ' Сначала найдите АА, так как 1234 должен идти после Dim lPos As Long: lPos = InStr(f, "AA") ' Ищите 1234 и убедитесь, что последние четыре символа - .pdf Debug.Print InStr(lPos, f, "1234") > 0 And Right(f, 4) = ".pdf" End Sub
Этот код очень грязный. К счастью для нас, у VBA есть Сравнение с шаблоном. Мы можем проверить шаблон строки без необходимости искать элементы и позиции и т.д. Мы используем оператор Like в VBA для сопоставления с шаблоном. Пример ниже показывает, как это сделать.
Sub IspSravnenie() Dim f As String: f = "AA_1234_(5).pdf" ' Определить шаблон Dim pattern As String: pattern = "*AA*1234*.pdf" ' Проверьте каждый элемент по шаблону Debug.Print f Like pattern ' ИСТИНА End Sub
В приведенном выше примере звездочка в шаблоне относится к любому количеству символов.
Давайте разберем этот паттерн * AA * 1234 * .pdf
*- любая группа символов
AA — точные символы AА
*- любая группа символов
1234 — точные символы 1234
*- любая группа символов
.pdf — точные символы .pdf
Чтобы показать, что это работает правильно, давайте попробуем это на всех именах примеров в таблице.
Sub IspSravnenieTest() ' Создать коллекцию имен файлов Dim coll As New Collection coll.Add "AA1234.pdf" coll.Add "AA_ljgslf_1234.pdf" coll.Add "AA1234.pdf1" coll.Add "1234 AA.pdf" coll.Add "12_AA_1234_NM.pdf" ' Определить шаблон Dim pattern As String: pattern = "*AA*1234*.pdf" ' Проверьте каждый элемент по шаблону Dim f As Variant For Each f In coll Debug.Print f Like pattern Next f End Sub
На выходе:
ИСТИНА
ИСТИНА
ЛОЖЬ
ЛОЖЬ
ИСТИНА
Чтобы узнать больше о сопоставлении с шаблоном и ключевом слове Like, ознакомьтесь с этой публикацией.
Заключение
InStr и InStrRev действительно полезны только для простых задач, таких как проверка наличия текста в строке.
Left, Right и Mid полезны, когда положение текста всегда одинаково.
Функция Split — лучший способ извлечь переменную строку.
При попытке проверить формат строки, которая не является фиксированной по размеру, ключевое слово Like (т.е. Сопоставление с образцом) обычно обеспечивает более простое решение.
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Если вы хотите удалить первые n-е символы в строке, просто измените -4 на любое количество символов, которое вы хотите удалить. Например, если вы хотите удалить первые 3 символа строки, просто измените -4 на -3.
Как выбрать первые 3 символа в Excel?
Выберите пустую ячейку, здесь я выбираю ячейку G1 и набираю эту формулу = LEFT (E1,3) (E1 — это ячейка, из которой вы хотите извлечь первые 3 символа), нажмите кнопку Enter и перетащите дескриптор заполнения в диапазон ты хочешь. Затем вы видите, что извлекаются первые 3 символа.
Как удалить три символа в Excel?
Скажем, например, что в ячейке A1 у вас есть строка «IncomeMAX», и вы хотите удалить последние три символа («MAX»):
- Во-первых, LEN (A1) возвращает длину строки в ячейке A1: 8 символов.
- Затем он вычитает 3, чтобы пропустить последние 3 символа: 8-3 = 5.
Как обрезать первый символ в Excel?
Как удалить первый символ из ячейки в Excel 2013
- Откройте электронную таблицу в Excel.
- Вставьте новый столбец справа от данных, которые нужно изменить.
- Щелкните ячейку справа от ячейки с данными, которые нужно изменить.
- Введите = ПРАВО (A2; LEN (A2) -1), но замените значения «A2» местоположениями ваших ячеек.
- Нажмите Enter, чтобы применить формулу.
Как выбрать первые 5 символов в Excel?
и нажмите Enter на клавиатуре. Функция вернет первые 5 символов из ячейки.
Как удалить первые 10 символов в Excel?
Как удалить первые символы из текста в Excel
- = ЗАМЕНИТЬ (Текст; 1; N; «»)
- = ВПРАВО (Текст; ДЛСТР (текст) -N)
- = ЗАМЕНИТЬ (A2; 1; B2; "")
- = ПРАВО (A2; LEN (A2) -B2)
Какая формула не эквивалентна всем остальным?
В Excel <> означает не равно. Оператор <> в Excel проверяет, не равны ли два значения друг другу.
Как удалить специальные символы в Excel?
Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений. 2. Щелкните Вставить> Модуль и вставьте следующий код в окно модуля. Примечание. В приведенном выше коде вы можете заменить специальные символы # $% () ^ * & на любые другие, которые хотите удалить.
Как удалить левый и правый символы в Excel?
Как удалить символы справа в Excel
- = ЛЕВЫЙ (текст; ДЛСТР (текст) -число_чаров)
- = ЛЕВЫЙ (A2; LEN (A2) -6)
- = ЛЕВЫЙ (A2; LEN (A2) -1)
Как удалить символы справа в Excel?
Воспользуйтесь нашими инструментами повышения производительности DataXL для Excel и выполните следующие действия:
- Найдите вкладку DataXL на ленте. Выделите ячейку, содержащую текст.
- Щелкните значок Текстовые инструменты. Появится новое окно. …
- Введите значение.
- Пример: если вы хотите удалить последние шесть символов справа, используйте 6 в качестве параметра.
Как обрезать первые 4 символа в Excel?
Если вы хотите удалить первые n-е символы в строке, просто измените -4 на любое количество символов, которое вы хотите удалить. Например, если вы хотите удалить первые 3 символа строки, просто измените -4 на -3. Если вы хотите удалить первые 2 символа, измените его на — 2 и так далее.
Что такое функция обрезки в Excel?
Функция ОБРЕЗАТЬ относится к текстовым функциям Excel. … TRIM помогает удалить лишние пробелы в данных и, таким образом, очистить ячейки на листе. В финансовом анализе функция TRIM может быть полезна для удаления нерегулярных интервалов в данных, импортированных из других приложений.
Как обрезать левые символы в Excel?
Удалить символы из левой части ячейки
- = ЗАМЕНИТЬ (старый_текст, начальное_число, число_символов, новый_текст)
- = ПРАВО (текст; [число_символов])
- = LEN (текст)
Как выбрать определенные символы в ячейке Excel?
Извлечь текст из ячейки в Excel
- Синтаксис функции ПРАВО (). Функция ПРАВО () имеет следующий синтаксис: = ПРАВО (текст, количество символов) …
- Синтаксис функции LEFT (). Функция LEFT () имеет следующий синтаксис: = LEFT (текст, количество символов) …
- Синтаксис функции MID (). Функция MID () имеет следующий синтаксис: = MID (text, start_num, num_chars)
Какая сортировка невозможна в Excel?
Самая распространенная причина некорректной сортировки данных связана с ведущим пробелом перед текстом. Многие пользователи сталкиваются с этой проблемой. Текст с пробелом в начале сортируется вверху по возрастанию и внизу по убыванию. Попробуйте исправить это, и это сработает.
Как получить последние 4 цифры в Excel?
Следующая формула может помочь вам отобразить только последние 4 цифры ssn в Excel. Пожалуйста, сделайте следующее. 1. Выберите пустую ячейку, введите формулу = ПРАВО (A2,4) в панель формул и нажмите клавишу Enter.
Как удалить первые символы в ячейке Excel?
Выделите диапазон, на панели ! SEMTools в меню УДАЛИТЬ -> Символы -> обрезать выберите «с начала ячейки». В появившемся диалоговом окошке вбейте количество символов, которое хотите удалить, и нажмите ОК.
Как удалить символы в ячейке Excel?
Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.
Как удалить первый символ в ячейке Excel?
Найти и заменить символ в ячейке Excel
Если вкратце, то существует специальный инструмент во всех продуктах MS Office. Вызывается клавишами Ctrl+F (найти) или Ctrl+H (заменить). В первое поле можно вписать символ, который нужно удалить, во второе ничего не вписывайте.
Как в Excel убрать текст и оставить только значения?
- В нужном файле Excel выделить столбец, в котором нужно удалить числа.
- Открыть вкладку Ёxcel → «Ячейки»→ «Редактировать» → «Оставить в ячейке только текст».
Как удалить слово в ячейке Excel?
Удалить слово (словосочетание) в таблице Excel или тексте документа Word.
- Замена выполняется через специальную опцию «Заменить» . …
- Функцию замены можно вызвать так же сочетанием клавиш ctrl+F (поиск). …
- Например, если в тексте есть слова «символ», «символика», «символично» и т.
Как удалить последние символы в ячейке Excel?
Стоит задача: во всех ячейках столбца необходимо удалить последний символ. Выделяю верхнюю ячейку и записываю макрос: F2 (переход к правке в строке формул), затем END (перевод курсора в конец строки) , BACKSPAСE (Удалить символ) ENTER (принять и перейти к след.
Как удалить лишние символы в тексте?
Самый простой способ удалить какой-либо знак из текста документа Word – перейти на вкладку «Главная», в группе кнопок «Редактирование» кликнуть по кнопке «Заменить», в появившемся диалоговом окне написать удаляемый символ в поле «Найти», поле «Заменить на» при этом оставить пустым и нажать кнопку «Заменить» либо « …
Как вырезать часть текста в ячейке Excel?
Отделить часть текста (функция ПСТР)
- В ячейке напротив кода введем =ПСТР( и нажмем fx.
- В аргументах функции укажем ячейку с исходным текстом, первоначальным кодом.
- Зададим Начальную позицию (номер символа, с которого начнет вытаскивать текст функция).
- Количество знаков – то самое к-во, которое должно быть «вытащено» из текста или строки.
Как в Excel удалить значение с сохранением формулы?
Как в Excel удалить значение с сохранением формулы
- Выберите диапазон ячеек, с которым хотите работать. …
- Запустите команду Главная ► Редактирование ► Найти и выделить ► Выделение группы ячеек. …
- В этом окне установите переключатель в положение константы, а затем установите флажок числа.
- Нажмите кнопку ОК, и ячейки, не содержащие формул, будут выбраны.
Как в Экселе оставить только цифры без формулы?
Замена формул вычисляемой величиной
- Выберем ячейку или диапазон ячеек, которые содержат формулы. Если формула является формула массива, выделите диапазон ячеек, содержащих формулу массива. …
- Нажмите кнопку » «.
- Нажмите кнопку » «.
- Щелкните стрелку рядом с кнопкой «Параметры в » и выберите «Только значения».
Как в Excel удалить все символы кроме цифр?
Для удаления лишних символов, необходимо выбрать пункт «Только знаки», при этом все символы кроме цифр и букв удаляются, но имеется возможность задать символы-исключения, например, чтобы все слова не слились в одну строку, можно установить флажок в поле «а также символы:» и вписать пробел.
Как удалить лишние данные в Excel?
Как удалить лишние пробелы в ячейках
- Нажмите кнопку Очистка данных на вкладке XLTools. Выберите диапазон.
- Выберите, от чего очистить ячейки: Удалить пробелы в начале/в конце строки Удалить все лишние пробелы
- Нажмите «Применить» Готово, все ненужные пробелы удалены.
Как удалить текст в таблице?
Удерживайте клавишу Ctrl и щелкните в любом месте предложения, которое вы хотите удалить, и нажмите либо клавишу Backspace, либо клавишу Delete. Удерживая клавишу Alt, нажмите и удерживайте кнопку мыши и выделите часть текста, который вы хотите удалить; нажмите клавишу Backspace или клавишу Delete.
Как удалить содержимое ячеек в ворде?
Удаление содержимого таблицы
Можно удалить содержимое ячейки, строки, столбца или всей таблицы. При удалении содержимого таблицы строки и столбцы остаются в документе. 1) Выделите содержимое, которое необходимо удалить. 2) Нажмите клавишу DELETE.
Формула для удаления непечатных символов в Excel
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.).
К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст).
Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Применение в функциях
Как уже говорилось выше, подстановочные знаки в Excel могут использоваться в качестве критерия при сравнении текста в различных функциях Excel (например, СЧЁТЕСЛИ , СУММЕСЛИ , СУММЕСЛИМН , ГПР, ВПР и другие).
Повторим задачу из предыдущего примера и подсчитаем количество сотрудников компании, фамилии которых начинаются на букву «п».
Воспользуемся функцией СЧЁТЕСЛИ, которая позволяет посчитать количество ячеек соответствующих указанному критерию.
В качестве диапазона данных укажем диапазон с сотрудниками (A2:A20), а в качестве критерия укажем запись «п*» (т.е. любая фраза начинающаяся на букву «п»):
Как и в первом примере, в результате мы получили ровно 3 фамилии.
Однако не все функции поддерживают применение подстановочных знаков. Некоторые из них (к примеру, функция НАЙТИ) любой символ воспринимают как текст, даже несмотря на то, что он может быть служебным.
С помощью функции НАЙТИ найдем в тексте позицию вхождения вопросительного знака и звездочки:
Обратным примером служит аналогичная функция ПОИСК, в которой мы должно четко указать что ищем именно служебный символ:
Как видим результат у функций получился одинаковым, однако обращение к подстановочным знакам разное.
Удалить символы в начале ячейки (слева)
Формулы выше требуют создания дополнительного столбца. Чтобы сэкономить время, если исходные данные не нужны, мной были разработаны функции !SEMTools , удаляющие символы прямо на месте.
Если не уверены до конца в том, что делаете, рекомендуется все же перестраховываться, создавая дополнительный столбец.
«Отрезаем» несколько символов слева в ячейках столбца
Удалить символы в конце ячейки (справа):
Процедура потребуется, когда у вас массив фраз, в котором нужно обрезать последние буквы в конце строки, и вы уверены на 100% в их количестве.
Выделите диапазон, на панели !SEMTools в меню УДАЛИТЬ -> Символы -> обрезать выберите «с начала ячейки». В появившемся диалоговом окошке вбейте количество символов, которое хотите удалить, и нажмите ОК.
ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ)
Смотрите также формат ячеек должен и везде, гдеМикки удаляйте!! «ID клиента» при строки требуется в
Описание
выделить из текстовой целых значений сВторой равен 1 по их действие на просмотр текста с
лишние пробелы, кромеТекстовая функция 1. символ или несколько следующей таблицы и
В этой статье описаны быть — общим,
-
встретится. Правка -: Можно так. удаляемслэн
-
импорте таблицы в качестве аргумента указать строки. использованием формул для умолчанию, поэтому функция простых примерах. Надеюсь, указанной позиции. На одиночных между словами.ПРОПИСНСкопируйте образец данных из последних символов текстовой вставьте их в синтаксис формулы и
то было бы Заменить..{/post}{/quote} «123»: если именно в базу данных.
Синтаксис
число 2, а
Примечания 1:
работы с текстом. возвращает первый символ.
-
что данный урок рисунке ниже формулаВ случаях, когда наличиеделает все буквы
-
следующей таблицы и строки на основе ячейку A1 нового
-
использование функций ваще СУПЕР)!!!Поскольку в ячейках
-
lav-ich этом дело, то
-
для получения последующихЕсли необязательный аргумента [число_знаков]Форма для округления числовых
-
-
Аналогично выделим названия пришелся Вам как начинает просмотр с
Пример
Пример 1: ЛЕВСИМВ
лишнего пробела в прописными, т.е. преобразует вставьте их в заданного числа байтов. листа Excel. ЧтобыЛЕВСИМВvikttur одни цифры, а: Не, так незя, можно вручную -Формула, которая изображена выше второго, третьего и явно не указан,
значений имеет следующий |
||
переменных из других |
||
раз кстати, и |
||
четвертого символа, т.е. |
конце или начале |
их в верхний |
ячейку A1 нового |
Важно: отобразить результаты формул, |
и |
: Куча мала :) |
если букву вставить |
так как комбинация |
Пример 2: ЛЕВБ (язык по умолчанию поддерживает двухбайтовую кодировку)
ctrl+h заменить WW на рисунке сначала прочих символов необходимо по умолчанию будет вид: строк. В результате Вы получили от c буквы « строки сложно отследить, регистр. Так же, листа Excel. Чтобы выделите их и
ЛЕВБ |
||
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;18;;» «);15;;» «);8;;» |
||
в НАЧАЛЕ каждой |
||
такая есть и |
на W |
добавляет к значению |
указывать соответствующие числа, |
возвращен первый символВ ячейке B3 введена |
получим: |
него хотя бы |
r |
данная функция становится |
support.office.com
ПРАВСИМВ, ПРАВБ (функции ПРАВСИМВ, ПРАВБ)
как и отобразить результаты формул,Эти функции могут быть нажмите клавишу F2,в Microsoft Excel. «);4;;» «) ячейки, то и
Описание
в середине иSerge ячейки A4 ряд кратные двум. Для строки. Например, функция
следующая сложная формула:Как видно на рисунке малость полезной информации.«. Но даже в просто незаменимой. На
СТРОЧН выделите их и
-
доступны не на а затем — клавишуФункция ЛЕВСИМВ возвращает первый
-
TiLu последовательность типа а543 в конце, а: Ctrl+H найти W, символов из 10-ти языков с однобайтовой =ЛЕВСИМВ(«текст») вернет значение=5,ЛЕВСИМВ(A2+1,НАЙТИ(«.»,A2)-1),ЛЕВСИМВ(A2,НАЙТИ(«.»,A2)-1)),»Число не введено»)’ с помощью функции
-
Всего доброго и этом случае положение рисунке ниже видно,, не заменяет знаки, нажмите клавишу F2, всех языках.
-
ВВОД. При необходимости символ или несколько: Ребят помогите, Нужна будет только в надо удалить только заменить пусто нулей и в кодировкой функции ЛЕВСИМВ «т». class=’formula’> ЛЕВСИМВ получилось вытащить успехов в изучении
символа считается относительно что содержимое ячеек не являющиеся буквами. а затем —Функция ПРАВСИМВ предназначена для
Синтаксис
измените ширину столбцов,
первых символов текстовой
формула которая уберет начале и её
-
в начале!!fischerspooner результате получаем новый и ЛЕВБ возвращают
-
Числовое значение, переданное вЛогика работы: левую часть текста
-
Excel! начала просматриваемого текста. А1 и B1
Замечания
-
Текстовая функция клавишу ВВОД. При языков с однобайтовой
-
чтобы видеть все строки на основе повторяющиеся символы в тупо заменить, а
-
Микки: Вручную нельзя, таблица идентификатор. Каждый из
Пример
идентичные результаты. качестве необязательного аргумента,Первая функция ЕСЛИ проверяет из каждой ячейкиАвтор: Антон АндроновТекстовая функция абсолютно одинаково, ноПРОПНАЧ необходимости измените ширину кодировкой, а ПРАВБ данные. заданного числа символов. строке…
потом енту букву |
: моя формула и |
|
оч.большая, как с |
||
них теперь в |
||
Очень часто данные набранные |
должно быть взято |
с помощью формулы |
по одному (первому) |
SikakПОИСК |
это не так. |
делает прописной первую |
столбцов, чтобы видеть — для языков |
Данные |
support.office.com
Текстовые функции Excel в примерах
Функция ЛЕВБ возвращает первыйдопустим есть строка: тоже подчистить. КАК удаляет только в помощью формулы?? любом случае имеет в электронных таблицах из диапазона неотрицательных ЕПУСТО, заполнена ли символу.: Без макросов встроеннымиочень похожа на В ячейке А1 букву каждого слова, все данные. с двухбайтовой кодировкой.
СЦЕПИТЬ
Цена продажи символ или несколько 1, 2, 5, ЕЁ ВСТАВИТЬ В начале!!! попробуйтеслэн не менее 10-ти Excel используются для чисел, то есть
СТРОЧН
ячейка, которая должна функциями excel можно функцию мы намеренно поставили а все остальныеДанные Язык по умолчанию,Швеция первых символов текстовой
ПРОПИСН
7, 9, 10, весь СТОЛБЕЦ ПЕРВОЙ???Владимир: пока не понимаю чисел. заполнения файлов баз должно быть равным содержать значение, котороеПример 2. В таблицу ли обойтись точно
ПРОПНАЧ
НАЙТИ лишний пробел в преобразует в строчные.Описание заданный на компьютере,Формула
строки на основе 12, 1, 3,Serge: =ПСТР(A1;4;НАЙТИ(ЛЕВСИМВ(A1;2);A1)+10) почему нельзя -
ДЛСТР
Далее применяется функция ЛЕВСИМВ, данных. Файлы такого нулю или больше требуется округлить. Excel подтягиваются данные не знаю, ну, основное их различие
ЛЕВСИМВ и ПРАВСИМВ
конце словаКаждая первая буква, котораяЦена продажи влияет на возвращаемоеОписание заданного числа байтов. 7,: Ламерски: в другомlav-ich
ПСТР
заменить все - которая обрезает каждое типа часто требуют нуля. В противномЕсли число введено, запись из другого программного
СОВПАД
у меня не заключается в том,Excel следует за знаком,Число акций значение следующим образом.РезультатВажно:должно получиться: 1, столбце =»a»&A1, протянуть,: CCори, Слона я не поможет? исходное значение до
соблюдения правил заполнения. случае будет возвращен ЧЗНАЧ(ПРАВСИМВ(ЛЕВСИМВ(B2;НАЙТИ(«,»;B2)+1)) возвращает числовое продукта. Одно из получился. Поэтому пишу что. В итоге функция
СЖПРОБЕЛЫ
отличным от буквы,ФормулаФункция ПРАВСИМВ всегда считает
=ЛЕВСИМВ(A2;4) 2, 5, 7, скопировать, вставить как и не заметил!!!fischerspooner первых 10-ти чисел Например, чтобы определенные код ошибки #ЗНАЧ!. значение первого символа полей данных получило в этот раздел.ПОИСКСОВПАД также преобразуется вОписание (результат) каждый символ (одно-Первые четыре символа первойЭти функции могут быть 9, 10, 12,
значение в А, Спасибо большое!!!!!: нет менять WW от начала строки. поля данных имелиЕсли в качестве аргумента после запятой и
ошибку. Для обработкиДопустим в ячейкуне чувствительна квозвратила нам значение верхний регистр.Результат или двухбайтовый) за строки доступны не на 3 удалить другой столбец.lav-ich на W не Для этого во определенную длину количества [число_знаков] будет переданы
ПОВТОР
сравнивает полученное значение ошибки необходимо выделить А1 вводится строка регистру. ЛОЖЬ.В Excel Вы можете=ПРАВСИМВ(A2;5) один вне зависимости
НАЙТИ
Продажа всех языках.ikSerge: Да. Требовалось: Первые нужно. Нужно просто втором аргументе функции символов. Поэтому часто
текстовые данные, функция с числом 5.
ее код и «3.1.1». Если первыйЗаменяет определенный текст илиПрименив функцию подсчитать количество знаков,Последние 7 знаков первой от языка по=ЛЕВСИМВ(A3)Функция ЛЕВБ отсчитывает по: просите одно, пример: На полтора ляма три символа надо
ПОИСК
удалить все символы ЛЕВСИМВ указано число техника заполнения полей ЛЕВСИМВ вернет кодЕсли полученное значение больше описание из строки. символ «3», то символ на требуемоеСЖПРОБЕЛЫ содержащихся в текстовой строки («продажи»)
ПОДСТАВИТЬ
умолчанию.Первый символ второй строки два байта на приводите другой… строк ушло 10 было просматривать только W во всех 10. данных числовыми значениями
ошибки #ЗНАЧ!. 5, будет возвращенИсходные данные:
в ячейках В1 значение. В Excel
к значению ячейки строке, для этого
ЗАМЕНИТЬ
продажиФункция ПРАВБ считает каждыйШ каждый символ, толькотак что вас секунд. на полное совпадение!! ячейках столбца.Если необходимо сделать так требует ввода дополнительных
Если число, переданное в результат выполнения функцииВыделим код ошибки с и С1 должно текстовую функцию А1, мы удалим воспользуйтесь функцией=ПРАВСИМВ(A3)
двухбайтовый символ заСкопируйте образец данных из если языком по интересует — символы
Или макрос написать, Спасибо!!!!Serge чтобы нули были нулей, чтобы во качестве необязательного аргумента, ЛЕВСИМВ(B2+1;НАЙТИ(«,»;B2)-1), то есть помощью следующей формулы: выводится соответственно строки,ПОДСТАВИТЬ из него всеДЛСТРПоследний знак второй строки два, если включена следующей таблицы и
умолчанию является язык
office-guru.ru
Проверка первого символа в ячейке
или числа? но тут яlav-ich: Выделить весь лист. автоматически добавлены не всех значениях было превышает количество знаков целой части числа
Описание: например «тип 1″применяют, когда заранее лишние пробелы и. Пробелы учитываются. («й») поддержка ввода на вставьте их в с поддержкой двухбайтовойПавел ладиков не силён…: Микки Ctrl+H найти W, с правой стороны,
одинаковое число символов
в текстовой строке, +1 по правиламЛЕВСИМВ(B5;НАЙТИ(«3»;B5)+1) – функция, выделяющая и «тип2». Если известно какой текст получим корректный результат:
Текстовые функцииr
CyberForum.ru
Примеры использования функции ЛЕВСИМВ в Excel работа с текстом
языке с двухбайтовой ячейку A1 нового кодировки. В противном: функция ПРАВСИМВ илиHeadinВаша формула работает, заменить пусто. Два
Как вырезать часть текста из строки функцией ЛЕВСИМВ в Excel?
а с левой не зависимо от рассматриваемая функция вернет округления. часть текстовой строки первый символ ячейки необходимо заменить, аФункциюЛЕВСИМВ
Excel предлагает большое количество
кодировкой, а затем листа Excel. Чтобы случае функция ЛЕВБ ПСТР
: А как вставить но если можно раза. Три секунды. (например, так: 0001234567). величины числа. весь текст целиком.Если
слева, количество символов А1 отличается от не его местоположение.СЖПРОБЕЛЫи функций, с помощью этот язык назначен
отобразить результаты формул,
Как вытащить часть текста из ячейки в Excel используя функцию ЛЕВСИМВ?
работает так же,для ячейки E13 символ? Думаю, тема обьясните, как еёслэн Тогда следует немногоВ Excel подготовка иExcel выполняет автоматическое преобразованиеПримечание: данный алгоритм нельзя
в которой соответствуют
«3», то ячейкиПриведенная ниже формула заменяет
полезно применять к
- ПРАВСИМВ которых можно обрабатывать языком по умолчанию. выделите их и как функция ЛЕВСИМВ,=ПРАВСИМВ (E13;ДЛСТР (E13)-2) одна. Имеется столбец применить ко всему: пять же никто изменить формулу, а заполнение данных дополнительными типов данных там,
- назвать гибким и порядковому номеру символа В1 и С1 все вхождения слова данным, которые импортируютсявозвращают заданное количество текст. Область применения
В противном случае
нажмите клавишу F2,
и отсчитывает поили строк на 300, столбцу? (Для чайников) не мешает - вместо функции ЛЕВСИМВ нулями являются достаточно где это возможно. он имеет некоторые «3» (функция НАЙТИ должны оставаться пустыми.
«Excel» на «Word»:
Округление чисел текстовыми функциями в текстовой строке
в рабочие листы символов, начиная с текстовых функций не функция ПРАВБ считает а затем — клавишу одному байту на
=ПСТР (E13;3;ДЛСТР (E13)) в нем 20-значные И потом при
заменить W на использовать функцию ПРАВСИМВ:
простым способом в Например, рассмотрим некоторые
недостатки (например, не
- выполняет поиск порядковогоКак это реализовать?Заменяет только первое вхождение Excel из внешних начала или с ограничивается исключительно текстом,
- каждый символ за ВВОД. При необходимости каждый символ.Руслан костенко коды без пробелов. удалении исправленного столбца
- пусто.. т.е. простоКак видено на рисунке применении. Если, например, возможные варианты записи учтен вариант ввода номера этого символаАпострофф
- слова «Excel»:
источников. Такие данные конца строки. Пробел они также могут один. измените ширину столбцов,К языкам, поддерживающим БДЦС,: Backspace Требуется: после 3й, в новом пишется не писать ничего на этот раз, каждое значение в
Функция ЛЕВСИМВ в Excel и особенности ее использования
функции ЛЕВСИМВ и сразу целого числа). и возвращает соответствующее: В ячейку B1Удаляет все пробелы из очень часто содержат считается за символ. быть использованы с
К языкам, поддерживающим двухбайтовую
чтобы видеть все
- относятся японский, китайскийЮля павлова 7й, 14й и какая то хрень! в строке заменить используя символ амперсант, поле «ID клиента»
- результаты ее выполнения: Он приведен в значение). Единица (+1) формулу Код =ЕСЛИ(ЛЕВСИМВ(RC[-1];1)=»3″;»тип текстовой строки: лишние пробелы и
Текстовая функция
- ячейками, содержащими числа. кодировку, относятся японский, данные. (упрощенное письмо), китайский: Функции в ячейке 17 цифр вставитьlav-ich
- на мы добавили по должно иметь поЛЕВСИМВ(«текст»;200%) вернет значение «те» качестве примера использования добавлена для выделения 1″;»») В ячейкуЗаменяет символы, расположенные в различные непечатаемые символы.ПСТР
- В рамках данного китайский (упрощенное письмо),Данные (традиционное письмо) и не могут содержать
- пробелы. Это можно: The_Pristопять же нажать 10 нулей слева 10 чисел, то (преобразование процентов в
- функции ЛЕВСИМВ. Для всего кода ошибки. C1 формулу Код заранее известном месте Чтобы удалить всевозвращает заданное количество урока мы на
- китайский (традиционное письмо)Цена продажи корейский.
- ссылки на неё без ВБА?А реально сделать для полного счастия
- к исходному значению для реализации данной числовое значение); расчетов лучше использовать2 – количество символов,
- =ЕСЛИ(ЛЕВСИМВ(RC[-2];1)=»3″;»тип 2″;»») строки, на требуемое
непечатаемые символы из символов, начиная с примерах рассмотрим 15 и корейский.ШвецияЛЕВСИМВ(текст;[число_знаков]) из-за зацикливания.Serge проще: просто вставить заменить все ячейки A4. После задачи нужно дляпри аргументах: («текст»;ИСТИНА) вернет встроенную функцию ОКРГУГЛ которые вернет функцияSikak значение. В Excel текста, необходимо воспользоваться указанной позиции. Пробел наиболее распространенных функцийПРАВСИМВ(текст;[число_знаков])ФормулаЛЕВБ(текст;[число_байтов])Нужно результат помещать
exceltable.com
Пример формулы для добавления символов в строке ячейки Excel
: =ЗАМЕНИТЬ(A1;3;1;» «) в каждую ячейкуfischerspooner чего обрезали каждый каждого числа дописать «т» (логическое ИСТИНА и подобные ей. ПРАВСИМВ, работающая аналогично: Спасибо! Работает! текстовую функцию функцией считается за символ. Excel из категорииПРАВБ(текст;[число_байтов])ОписаниеАргументы этих функций описаны в другие ячейки.=ЗАМЕНИТЬ(A1;7;1;» «) столбца любую букву
Автоматическое добавление количества символов в ячейке Excel
: Спасибо огромное, думал идентификатор оставляя только соответственное количество нулей. эквивалентно числовому значениюФункция ЛЕВСИМВ используется наряду рассматриваемой ЛЕВСИМВ (отличиеФункция ЛЕВСИМВ в ExcelЗАМЕНИТЬПЕЧСИМВФункцияТекстовыеАргументы функций ПРАВСИМВ иРезультат ниже.Но этого можно=ЗАМЕНИТЬ(A1;14;1;» «) первой и потом будет сложнее, всё лишь по 10 Например, для идентификатора 1); с прочими функциями
– возвращает символы используется для полученияприменяют, когда известно.СОВПАД.
ПРАВБ описаны ниже.=ЛЕВСИМВ(A2;4)Текст избежать только следующим=ЗАМЕНИТЬ(A1;17;1;» «) сделать из а1234567890 действ. просто. Удачи числовых знаков справой
с номером 1234567
при аргументах: («текст»;ЛОЖЬ) вернет для работы с справа, а не части текста и где располагается текст,Функцияпозволяет сравнить двеДля объединения содержимого ячеекТекстПервые четыре символа первой Обязательный. Текстовая строка, содержащая способом.
Headin замену типа: а123lav-ich стороны номеров. Мы нужно дописать три пустое значение «», текстовыми строками в слева строки). возвращает заданное количество
при этом самПОВТОР текстовые строки в в Excel, наряду Обязательный. Текстовая строка, содержащая строки символы, которые требуетсяОдноразовое вычисление осуществляется: =ЗАМЕНИТЬ… не прокатывает на пусто? Если
: Добрые люди подскажите добавили недостающие символы нуля и в поскольку логическое ЛОЖЬ Excel (ПРАВСИМВ, СИМВОЛ,В результате получим: символов текстовой строки, он не важен.повторяет текстовую строку Excel. Если они с оператором конкатенации, символы, которые требуетсяПродажа извлечь. макросом-программой на VBA — функция ЗАМЕНЯЕТ катит то как Кто может. Есть
exceltable.com
как удалить опред. символ в ячейке Excel, содержащей текст
сначала строки необходимого результате получим корректную эквивалентно числовому 0 СЦЕПИТЬ, ДЛСТР и
Выделим часть текста ошибки: при этом отсчет
Формула в примере ниже указанное количество раз.
в точности совпадают, можно использовать текстовую
извлечь.=ЛЕВСИМВ(A3)Число_знаков
Sub aa() цифру, а нужно вставить енту букву столбец 58000ячеек с нам количества. Так запись 1234567000 для
(нуль); прочими) и имеетВ данном случае удобнее
символов начинается слева. заменяет 4 символа, Строка задается как то возвращается значение
функциюЧисло_знаковПервый символ второй строки Необязательный. Количество символов, извлекаемыхMsgBox Mid(ActiveCell.Value, 3)
ВСТАВИТЬ пробел. Вот: в ячейки первой? комбинациями цифр от работает функция ПРАВСИМВ, поля «ID клиента»при аргументах: («текст»;15/7) вернет следующую синтаксическую запись:
использовать ПРАВСИМВ, котораяПример 1. В таблице расположенные, начиная с первый аргумент функции, ИСТИНА, в противном
СЦЕПИТЬ Необязательный. Количество символов, извлекаемыхШ функцией ЛЕВСИМВ.ActiveCell.Value = Mid(ActiveCell.Value, 16305033400702003310 Нужно:163 0503Владимир пяти знаков до
обратно пропорционально для в файле базы значение «те».
=ЛЕВСИМВ(текст;[число_знаков]) является, по сути, Excel содержатся имена седьмой позиции, на
а количество повторов случае – ЛОЖЬ.. Она последовательно объединяет функцией ПРАВСИМВ.В этой статье описаны»Число_знаков» должно быть больше 3) 3400702 003 310: Реально. При этом 10. Необходимо удалить предыдущей функции ЛЕВСИМВ. данных.Примечание 2: в ExcelОписание аргументов: зеркальным отражением ЛЕВСИМВ. переменных вместе с значение «2013». Применительно как второй. Данная текстовая функция
значения указанных ячеекЧисло_байтов синтаксис формулы и
нуля или равноMsgBox ActiveCell.ValueHeadin заменится не только определённую комбинацию изfischerspoonerНиже на рисунке изображено также существует схожая
текст – ссылка на Для определения второго текстом, определяющим их к нашему примеру,
Текстовая функция учитывает регистр, но
в одной строке. Необязательный. Количество символов, извлекаемых использование функций ему.
End Sub: Вот что помогло: та комбинация, что 3 цифр именно: как удалить опред. автоматическое дозаполнение недостающего
по принципу работы ячейку, содержащую текст,
аргумента используется запись тип данных. Необходимо формула заменит «2010»НАЙТИ игнорирует различие вЕсли в Excel необходимо функцией ПРАВБ.ПРАВСИМВЕсли «число_знаков» превышает длину
Алексей матевосов (alexm) =ЗАМЕНИТЬ(C8;4;;» «) -
впереди стоит, но в начале каждой символ в ячейках, количества символов нулями функция ЛЕВБ, возвращающая или текстовая строка, ДЛСТР(B5)-НАЙТИ(«:»;B5)-1, определяющая позицию выделить только названия на «2013».находит вхождение одной форматировании.
сделать все буквыЗначение «число_знаков» должно бытьи текста, функция ЛЕВСИМВ: Думаю вопрос задали БЕЗ единички. Спасибо и везде, где ячейки(если такая комбинация
содержащих текст, например в конец строки
определенное количество символов в которой требуется символа «u» в переменных и записатьЗаменяет первые пять символов строки в другуюЕсли регистр для Вас
строчными, т.е. преобразовать больше нуля илиПРАВБ возвращает весь текст. некорректно. Удалить не за наводку!!! Serge встретится. Правка - есть). Пробовал заменойодна ячейка содержит с помощью простой текстовой строки слева выделить требуемое количество слове «unknown» (единица
их в отдельный текстовой строки, т.е. и возвращает положение не играет большой их в нижний равно ему.
в Microsoft Excel.Если значение «число_знаков» опущено, в ячейке, а 007 — респект!
Заменить.. — но эти текст: 10W;15W
формулы: на основе определенного символов слева. Аргумент вычтена для удаления столбец. слово «Excel», на первого символа искомой роли (так бывает регистр, на помощьЕсли значение «число_знаков» превышаетФункция ПРАВСИМВ возвращает последний оно считается равным
в строке.lav-ich
Guest
три цифры вылетают
др. ячейка содержит
В результате каждый идентификатор количества байтов. Если обязателен для заполнения. пробела).Исходная таблица данных: «Word». фразы относительно начала
в большинстве случаев), придет текстовая функция длину текста, функция символ или несколько 1.Допустим строка в
: Всем РЕСПЕКТ-ИЩЕЕЕ!!! Всё: Владимир и в середине текст: 45WW получил необходимое ему по умолчанию используется[число_знаков] – необязательный дляВ результате получим:Для выделения первого символа,Вот и все! Мы
текста. то можно применить
СТРОЧН ПРАВСИМВ возвращает весь
последних символов текстовойЧисло_байтов А1, в В1 прокатило с заменой.Реально. При этом
и в конценеобх. удалить символ количество нулей, чтобы язык с поддержкой заполнения аргумент; числовое
Пример 3. Создать функцию которым является искомое познакомились с 15-юДанная функция чувствительна к
формулу, просто проверяющую. Она не заменяет текст.
строки на основе Необязательный. Количество символов, извлекаемых формула, почти как
planetaexcel.ru
Excel. Как удалить первые два символа в ячейке?
А особенно Serge заменится не только и в начале,
W .
соответствовать правилу для
двухбайтовой кодировки, для
значение, характеризующее количество
для округления дробных название переменной, используем
текстовыми функциями Microsoft регистру… равенство двух ячеек. знаки, не являющиесяЕсли значение «число_знаков» опущено,
заданного числа символов. функцией ЛЕВБ.
у Павла Ладикова 007(вот только если та комбинация, что
а надо толькоЗаранее благодарю, пишу
дальнейшего запыления поля
получения первого символа
символов, которые требуется чисел до ближайших
формулу:
Excel и посмотрели
… и может начинатьУдаляет из текста все буквами. оно считается равнымФункция ПРАВБ возвращает последний
Скопируйте образец данных из=ПСТР (A1;3;999) бы намекнул, что впереди стоит, но
в начале!!!
повторно, тему не
На чтение 5 мин Просмотров 8.3к. Опубликовано 12.05.2022
Часто бывает такое, что нужно удалить один или несколько символов из начала каждой ячейки.
Допустим у нас есть первый столбик, в котором лежат значения буква+цифры, нам нужно обрезать их таким образом, чтобы получились только цифры. Как на картинке ниже:
На самом деле, есть несколько вариантов, как можно это сделать.
Итак, давайте начнем!
Содержание
- С помощью функции ЗАМЕНА
- Копируем из ячейки все, кроме первого символа
- С помощью функции «Текст по столбцам»
- С помощью автозаполнения
- С помощью Visual Basic
С помощью функции ЗАМЕНА
Самый распространенный способ — использовать функцию ЗАМЕНА. Она довольно простая и в то же время полезная.
Для указанного выше примера формула функции принимает такой вид:
=ЗАМЕНА(A2;1;1;"")
Что она делает?
Просто заменяет первый символ в строке на пустое место.
С помощью неё можно удалить любое количество символов с начала строки, например удалить два символа можно так:
=ЗАМЕНА(A1;1;2;"")
Копируем из ячейки все, кроме первого символа
Можно сделать и так, в этом случае формула будет немного сложней, но результата мы добьемся.
Разница в том, что в первом случае мы удаляли первый символ из строки, а в этом случае — мы просто разделяем строку и переносим нужную её часть в другую ячейку.
Допустим, у нас тот же столбик, который нужно обработать:
В этой ситуации формула принимает такой вид:
=ПРАВСИМВ(A1;ДЛСТР(A1)-1)
Функция ДЛСТР получает длину всей строки, а далее из длины убавляется 1 (потому что 1 символ мы хотим «пропустить») и все это отдается в обработку функции ПРАВСИМВ.
С помощью функции «Текст по столбцам»
Прошлые методы простые, но неудобны тем, что для них нужен отдельный столбец, так сказать, «технический» (для расчетов).
Если, например, вам нужно получить результат в тех же ячейках, которые мы обрабатываем, грубо говоря, перезаписать их, то вам поможет этот метод.
Допустим, у нас тот же столбик:
Пошаговая инструкция:
- Выделите ячейки и щелкните на «Данные»;
- Далее «Текст по столбцам»;
- В открывшемся окошке:
- В первом шаге используйте вторую опцию (как на картинке);
- Во втором шаге установите стрелку на том делении, сколько символов вы хотите «отрезать»;
- И в последнем шаге, выберите «пропустить столбец»;
- Подтвердите.
Таким образом, первый символ был удален.
Как это работает?
Довольно просто: вы указали функции сколько символов нужно «отрезать» от начала строки, а также вы указали пропустить столбец. Это значит что данные, после обработки, будут записаны в тот же столбик, где они изначально были.
С помощью автозаполнения
Эта функция — одна из самых удобных функций в Excel. Она автоматически пытается угадать значения для следующих ячеек, если вы заполнили первую (одну или две).
Давайте посмотрим как это работает.
Допустим, у нас тот же столбик:
Воспользуемся этой функцией
Пошаговая инструкция:
- В следующем столбике, впишите значение, которое должно быть после преобразования (в нашем случае 271);
- А также, по аналогии, укажите значение для второй ячейки. На самом деле, функция автозаполнения уже поняла логику и предлагает нам заполнить всю оставшуюся часть;
- Теперь выделите обе ячейки с обработанными данными;
- Наведите курсор на правую нижнюю часть выделения и потяните её вниз;
- Готово!
Просто не правда ли?
Это удобная функция, но с ней нужно быть осторожным. Если она неправильно поймет логику вашего заполнения — могут быть ошибки.
С помощью Visual Basic
Ну и как обычно, напоследок, рассмотрим как можно сделать это с помощью Visual Basic.
Я дам вам код функции для такого рода задачи, вы сможете модифицировать его.
Также, как и в случае использования функции «Текст по столбцам» в этом методе нам не нужен дополнительный столбик для расчетов.
Обратите внимание, что если строк, которые нужно обработать у вас очень много, выполнение этого кода может замедлить работу компьютера на какое-то время.
Этот код удаляет первый символ из каждой ячейки:
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Как его использовать?
Пошаговая инструкция:
- Выделите диапазон ячеек, в которых нужно удалить первый символ
- Откройте просмотр кода (правой кнопкой на имя листа -> «Просмотр кода»);
- Далее щелкните на «View» -> «Immediate Window» (или CTRL + G);
- Поместите в окно наш код;
- Обязательно наведите мышь в конец кода;
- И просто подтвердите (нажав ENTER);
Готово, первый символ удален.
Что же делает этот код?
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Итак, здесь используется цикл, который копирует и перезаписывает каждую ячейку отдельно.
В общем то и все! Мы рассмотрели несколько удобных и практичных методов удаления первого символа из каждой ячейки.
Я надеюсь эта статья была полезна для вас! Потому что даже если какой-то способ вам не по душе, вы всегда можете использовать несколько других.