Оглавление
При работе с неструктурированными текстовыми данными в рабочих листах часто требуется их разбор для извлечения необходимой информации. В этой статье вы узнаете несколько простых способов удаления любого количества символов из левой или правой части текстовой строки.
Как удалить символы слева в Excel
Удаление первых символов из строки - одна из самых распространенных задач в Excel, и ее можно решить с помощью 3 различных формул.
Удаление первого символа в Excel
Чтобы удалить первый символ из строки, можно использовать либо функцию REPLACE, либо комбинацию функций RIGHT и LEN.
REPLACE( строка , 1, 1, "")Здесь мы просто берем 1 символ из первой позиции и заменяем его пустой строкой ("").
ПРАВДА( строка , LEN( строка ) - 1)В этой формуле мы используем функцию LEN для вычисления общей длины строки и вычитаем из нее 1 символ. Разница подается на RIGHT, поэтому из конца строки извлекается столько символов.
Например, чтобы удалить первый символ из ячейки A2, формулы выглядят следующим образом:
=REPLACE(A2, 1, 1, "")
=RIGHT(A2, LEN(A2) - 1)
Удалить символы слева
Для удаления ведущих символов из левой части строки вы также используете функции REPLACE или RIGHT и LEN, но указываете, сколько символов вы хотите удалять каждый раз:
REPLACE( строка , 1, num_chars , "")Или
ПРАВДА( строка , LEN( строка ) - num_chars )Например, для удаления первые 2 символа из строки в A2, формулы будут следующими:
=REPLACE(A2, 1, 2, "")
=RIGHT(A2, LEN(A2) - 2)
Для удаления первые 3 персонажи , формулы принимают такой вид:
=REPLACE(A2, 1, 3, "")
=RIGHT(A2, LEN(A2) - 3)
На скриншоте ниже показана формула REPLACE в действии. При использовании RIGHT LEN результаты были бы точно такими же.
Пользовательская функция для удаления первых n символов
Если вы не против использования VBA в своих рабочих листах, вы можете создать собственную пользовательскую функцию для удаления символов из начала строки с именем RemoveFirstChars Код функции прост:
Function RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End FunctionПосле того как код вставлен в рабочую книгу (подробные инструкции здесь), вы можете удалить первые n символов из заданной ячейки с помощью этой компактной и интуитивно понятной формулы:
RemoveFirstChars(string, num_chars)Например, чтобы удалить первый символ из строки в A2, формула в B2 будет:
=RemoveFirstChars(A2, 1)
Раздеться первые два символы из A3, формула в B3:
=RemoveFirstChars(A4, 2)
Чтобы удалить первые три символы из A4, формула в B4:
=RemoveFirstChars(A4, 3)
Подробнее об использовании пользовательских функций в Excel.
Как удалить символы из права
Для удаления символов из правой части строки можно также использовать собственные функции или создать свою собственную.
Удаление последнего символа в Excel
Чтобы удалить последний символ в ячейке, общая формула выглядит следующим образом:
ЛЕВЫЙ( строка , LEN( строка ) - 1)В этой формуле вы вычитаете 1 из общей длины строки и передаете разницу в функцию LEFT, чтобы она извлекла столько символов из начала строки.
Например, чтобы удалить последний символ из ячейки A2, формула в B2 имеет вид:
=LEFT(A2, LEN(A2) - 1)
Удалить символы справа
Чтобы отделить заданное количество символов от конца ячейки, общая формула выглядит следующим образом:
ЛЕВЫЙ( строка , LEN( строка ) - num_chars )Логика такая же, как и в приведенной выше формуле, и ниже приведена пара примеров.
Чтобы снять последние 3 символа , используйте 3 для num_chars :
=LEFT(A2, LEN(A2) - 3)
Чтобы удалить последние 5 символов , поставка 5 для num_chars :
=LEFT(A2, LEN(A2) - 5)
Пользовательская функция для удаления последних n символов в Excel
Если вы хотите иметь собственную функцию для удаления любого количества символов справа, добавьте этот код VBA в свою рабочую книгу:
Function RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End FunctionФункция называется RemoveLastChars и его синтаксис вряд ли нуждается в пояснениях:
RemoveLastChars(string, num_chars)Чтобы испытать его на практике, давайте избавимся от последний символ в A2:
=RemoveLastChars(A2, 1)
Кроме того, мы удалим последние 2 символа с правой стороны строки в A3:
=RemoveLastChars(A3, 2)
Чтобы удалить последние 3 символа из ячейки A4, формула будет следующей:
=RemoveLastChars(A4, 3)
Как вы можете видеть на скриншоте ниже, наша пользовательская функция работает великолепно!
Как удалить символы справа и слева одновременно
В ситуации, когда необходимо стереть символы с обеих сторон строки, можно либо последовательно выполнить обе приведенные выше формулы, либо оптимизировать работу с помощью функции MID.
MID( строка , слева _ символы + 1, LEN( строка ) - ( слева _ символы + правильно _ символы )Где:
- символы_слева - количество символов для удаления слева.
- chars_right - количество символов для удаления справа.
Предположим, вы хотите извлечь имя пользователя из строки вида mailto:[email protected] Для этого необходимо удалить часть текста из начала ( mailto: - 7 символов) и с конца ( @gmail.com - 11 символов).
Подставьте указанные выше числа в формулу:
=MID(A2, 7+1, LEN(A2) - (7+10))
...и результат не заставит вас ждать:
Чтобы понять, что здесь происходит, вспомним синтаксис функции MID, которая используется для выделения подстроки определенного размера из середины исходной строки:
MID(text, start_num, num_chars)Сайт текст аргумент не вызывает никаких вопросов - это исходная строка (A2 в нашем случае).
Чтобы получить позицию первого извлекаемого символа ( начальное_число ), вы прибавляете 1 к количеству символов, которые будут отчеркнуты слева (7+1).
Чтобы определить, сколько символов нужно вернуть ( num_chars ), вы вычисляете общее количество удаленных символов (7 + 11) и вычитаете сумму из длины всей строки: LEN(A2) - (7+10)).
Получите результат в виде числа
Какую бы из приведенных выше формул вы ни использовали, результатом всегда будет текст, даже если возвращаемое значение содержит только числа. Чтобы вернуть значение результат в виде числа либо обернуть основную формулу в функцию VALUE, либо выполнить какую-либо математическую операцию, которая не влияет на результат, например, умножить на 1 или прибавить 0. Эта техника особенно полезна, когда вы хотите рассчитать результаты дальше.
Предположим, вы удалили первый символ из ячеек A2:A6 и хотите просуммировать полученные значения. Удивительно, но тривиальная формула SUM возвращает ноль. Почему? Очевидно, потому что вы складываете строки, а не числа. Выполните одну из приведенных ниже операций, и проблема решена!
= VALUE(REPLACE(A2, 1, 1, ""))
=RIGHT(A2, LEN(A2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
Удаление первого или последнего символа с помощью Flash Fill
В Excel 2013 и более поздних версиях есть еще один простой способ удаления первого и последнего символов в Excel - функция Flash Fill.
- В ячейке, смежной с первой ячейкой с исходными данными, введите желаемый результат, опуская первый или последний символ исходной строки, и нажмите Enter .
- Начните вводить ожидаемое значение в следующей ячейке. Если Excel почувствует закономерность в вводимых данных, он будет следовать той же закономерности в остальных ячейках и отобразит предварительный просмотр ваших данных без первого/последнего символа.
- Просто нажмите клавишу Enter, чтобы принять предварительный просмотр.
Удаление символов по позиции с помощью Ultimate Suite
Традиционно пользователи нашего пакета Ultimate Suite могут справиться с этой задачей с помощью нескольких щелчков мыши, не запоминая горсть различных формул.
Чтобы удалить из строки первые или последние n символов, нужно сделать следующее:
- На Ablebits Data во вкладке Текст группу, нажмите Удалить > Удалить по должности .
Например, чтобы удалить первый символ, мы настраиваем следующий параметр:
Вот как удалить подстроку слева или справа в Excel. Я благодарю вас за прочтение и с нетерпением жду встречи с вами в нашем блоге на следующей неделе!
Доступные загрузки
Удаление первых или последних символов - примеры (файл.xlsm)
Ultimate Suite - пробная версия (файл .exe)