Excel: удаление первых или последних символов (слева или справа)

  • Поделись Этим
Michael Brown

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

    Как удалить символы слева в 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.

    1. В ячейке, смежной с первой ячейкой с исходными данными, введите желаемый результат, опуская первый или последний символ исходной строки, и нажмите Enter .
    2. Начните вводить ожидаемое значение в следующей ячейке. Если Excel почувствует закономерность в вводимых данных, он будет следовать той же закономерности в остальных ячейках и отобразит предварительный просмотр ваших данных без первого/последнего символа.
    3. Просто нажмите клавишу Enter, чтобы принять предварительный просмотр.

    Удаление символов по позиции с помощью Ultimate Suite

    Традиционно пользователи нашего пакета Ultimate Suite могут справиться с этой задачей с помощью нескольких щелчков мыши, не запоминая горсть различных формул.

    Чтобы удалить из строки первые или последние n символов, нужно сделать следующее:

    1. На Ablebits Data во вкладке Текст группу, нажмите Удалить > Удалить по должности .

  • На панели надстройки выберите целевой диапазон, укажите, сколько символов нужно удалить, и нажмите кнопку Удалить .
  • Например, чтобы удалить первый символ, мы настраиваем следующий параметр:

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

    Доступные загрузки

    Удаление первых или последних символов - примеры (файл.xlsm)

    Ultimate Suite - пробная версия (файл .exe)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.