Excel обрезать символы слева до символа

  • Удалить текст до последнего символа
  • Удалить текст до первого пробела – формула
  • Удалить текст до первой цифры
  • Удаление текста в 1-2 клика с !SEMTools

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

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

В этой статье я подробно опишу известные мне варианты. Поехали!

Удалить текст до последнего символа

Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой “Найти и заменить”:

  • выделить диапазон;
  • вызвать процедуру поиска и замены со вкладки “Главная” или сочетанием клавиш Ctrl + H;
  • использовать подстановочный символ * (звёздочку) прямо перед искомым в строке поиска;
  • оставить пустым второе поле и нажать «ОК».

Процедура заменит все символы до знака на пустоту, иначе говоря, удалит их. Звездочка как раз и обозначает “все символы”.

Удалить текст до первого пробела – формула

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

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

=ЗАМЕНИТЬ(A2;1;ПОИСК(" ";A2);"")
Удалить текст до первого пробела - формула
Результат применения формулы

Формулы для других символов аналогичны.

Убрать текст в ячейке до первой запятой:

=ЗАМЕНИТЬ(A2;1;ПОИСК(",";A2);"")

До точки:

=ЗАМЕНИТЬ(A2;1;ПОИСК(".";A2);"")

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

Здесь из адресов удаляется текст до номера дома. Длина текста в кавычках – 3 символа (д, точка и пробел):

=ЗАМЕНИТЬ(A2;1;ПОИСК("д. ";A2)+2;"")
Удалить текст в ячейке до определенного слова

Удалить текст до первой цифры

Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:

  1. excel-функция ПОИСК ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным;
  2. функция ЗАМЕНИТЬ принимает эту позицию как аргумент;
  3. она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.

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

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}

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

{=ЗАМЕНИТЬ(A2;1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($48:$57));A2);""))-1;"")}

Что за числа 48 и 57, можно прочитать подробнее тут:

Функция СИМВОЛ в Excel

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

Формула выдаст ошибку, если цифр в строке нет.

Результат применения формулы для удаления текста до первой цифры
Убираем текст до первой цифры в ячейках формулами массива

Удаление текста в 1-2 клика с !SEMTools

Каждый из перечисленных способов хорош по-своему, но всем им недостает одного важного фактора – скорости исполнения.

В каждом из случаев нужно вводить много символов и производить много действий.

Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel – !SEMTools.

Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!

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

Смотрите пример:

Удаление текста до определенного символа в Excel с !SEMTools
Удаляем символы в тексте до первого или последнего вхождения определенного текста с !SEMTools

Найти повторяющиеся значения в Excel и решить сотни других задач поможет надстройка !SEMTools.

Скачайте прямо сейчас и убедитесь сами!


Смотрите также по теме:

  • Удалить последнее слово из ячейки;
  • Удалить первое слово в ячейках Excel;
  • Удалить первые N символов в ячейках;
  • Извлечь первые N символов ячейки.

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

Удаление текста справа или слеваФункции, которая отрезает лишнее количество символов в ячейке, найти не удается, но существует система из двух функций, которые можно применить. Это система из функции ЛЕВСИМВ (или ПРАВСИМВ) и функции ДЛСТР (длина строки).

Рассмотрим их применение.

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

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

    Полученное значение – количество оставляемых в тексте знаков, вписываем в функцию ЛЕВСИМВ или ПРАВСИМВ. Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.

    Для уменьшения количества ячеек с расчетами эти функции можно записать в систему следующего вида:

    ПРАВСИМВ(…*¹;(ДЛСТР(…*¹)-6)).

    Где …*¹- адрес ячейки, из которой берем текст.

    ГЛАВНАЯ

    ТРЕНИНГИ

       Быстрый старт
       Расширенный Excel
       Мастер Формул
       Прогнозирование
       Визуализация
       Макросы на VBA

    КНИГИ

       Готовые решения
       Мастер Формул
       Скульптор данных

    ВИДЕОУРОКИ

    ПРИЕМЫ

       Бизнес-анализ
       Выпадающие списки
       Даты и время
       Диаграммы
       Диапазоны
       Дубликаты
       Защита данных
       Интернет, email
       Книги, листы
       Макросы
       Сводные таблицы
       Текст
       Форматирование
       Функции
       Всякое
    PLEX

       Коротко
       Подробно
       Версии
       Вопрос-Ответ
       Скачать
       Купить

    ПРОЕКТЫ

    ОНЛАЙН-КУРСЫ

    ФОРУМ

       Excel
       Работа
       PLEX

    © Николай Павлов, Planetaexcel, 2006-2022
    info@planetaexcel.ru


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

    Техническая поддержка сайта

    ООО «Планета Эксел»

    ИНН 7735603520


    ОГРН 1147746834949
            ИП Павлов Николай Владимирович
            ИНН 633015842586
            ОГРНИП 310633031600071 

    Содержание

    1. Как в excel удалить часть текста в ячейке до определенного символа
    2. Отрезать (удалить) лишний текст слева или справа в ячейке «Excel».
    3. Рассмотрим их применение.
    4. Как обрезать текст в ячейке excel
    5. Как обрезать символы при помощи формул?
    6. Как оставить заданное количество символов в начале строки, остальные удалить?
    7. Как удалить заданное количество знаков в начале строки, остальные оставить?
    8. Как оставить заданное количество символов в конце строки, остальные удалить?
    9. Как удалить заданное количество знаков в конце строки, остальные оставить?
    10. Как обрезать символы без ввода формул?
    11. Надстройка для быстрой обрезки текста
    12. Разбиение текста по столбцам
    13. Видео по быстрой обрезке символов в Excel
    14. Рассмотрим их применение.
    15. Как в excel удалить часть текста в ячейке до определенного символа
    16. Удаление текста до или после определенного символа с помощью функции «Найти и заменить» в Excel
    17. Удалять тексты до или после первого / последнего конкретного символа по формуле
    18. Удалять тексты до или после n-го символа вхождения по формуле
    19. Легко удаляйте тексты до / после определенного символа с помощью Kutools for Excel

    Как в excel удалить часть текста в ячейке до определенного символа

    Отрезать (удалить) лишний текст слева или справа в ячейке «Excel».

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

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

    Рассмотрим их применение.

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

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

    Полученное значение – количество оставляемых в тексте знаков, вписываем в функцию ЛЕВСИМВ или ПРАВСИМВ. Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.

    Для уменьшения количества ячеек с расчетами эти функции можно записать в систему следующего вида:

    Как обрезать текст в ячейке excel

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

    Как обрезать символы при помощи формул?

    Как оставить заданное количество символов в начале строки, остальные удалить?

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

    Как удалить заданное количество знаков в начале строки, остальные оставить?

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

    Как оставить заданное количество символов в конце строки, остальные удалить?

    Ввести в ячейку стандартную текстовую функцию Excel «ПРАВСИМВ», которая возвращает заданное количество знаков с конца строки.

    Как удалить заданное количество знаков в конце строки, остальные оставить?

    Ввести в ячейку комбинацию стандартных функций Excel «ЛЕВСИМВ» и «ДЛСТР»

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

    Как обрезать символы без ввода формул?

    Надстройка для быстрой обрезки текста

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

    1. обрезать заданное количество символов слева;

    2. обрезать заданное количество символов справа;

    3. обрезать значения ячеек до первого попавшегося заданного символа (сочетания символов);

    4. обрезать значения ячеек до последнего попавшегося символа (сочетания символов).

    В надстройку зашиты функции, аналогичные тем, которые описаны выше, что сокращает время на:

    – выделение диапазона ячеек.

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

    Разбиение текста по столбцам

    Для обрезания значений ячеек можно использовать «Текст по столбцам». Это стандартное средство Excel не удаляет и не обрезает символы, а распределяет содержимое ячеек по разным столбцам при помощи мастера текстов. Кнопка вызова диалогового окна находится на вкладке «Данные» в группе кнопок «Работа с данными». Этот инструмент можно использовать в двух режимах работы, разделять исходные данные при помощи разделителей либо при помощи настраиваемых полей, когда можно вручную указать границы раздела значений.

    Шаг1. Выбор формата исходных данных.

    Шаг2. Установка нужной ширины полей.

    Количество полей при этом не ограничено.

    Шаг 3. Просмотр и получение результатов.

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

    Видео по быстрой обрезке символов в Excel

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

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

    Рассмотрим их применение.

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

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

    Полученное значение – количество оставляемых в тексте знаков, вписываем в функцию ЛЕВСИМВ или ПРАВСИМВ. Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.

    Для уменьшения количества ячеек с расчетами эти функции можно записать в систему следующего вида:

    ПРАВСИМВ(…*¹;(ДЛСТР(…*¹)-6)).

    Где …*¹- адрес ячейки, из которой берем текст.

    если надо первое слово из текста в ячейке Ф1 можно усложнить

    =левсимв (Ф1;поиск (» «;Ф1;1)-1) – фнкция поиск укажет позицию первого пробела, а левсимв обрежет текст до него, если не ставить (-1) пробел войдет в итоговое значение

    также помогает функция «длстр» – считает общее количество символов в тексте, например если нужен текст без первого слова:

    Как в excel удалить часть текста в ячейке до определенного символа

    В этой статье представлены различные методы удаления текста до или после определенного символа или n-го символа вхождения из ячеек в Excel.

    Удаление текста до или после определенного символа с помощью функции «Найти и заменить» в Excel

    Чтобы удалить весь текст до или после определенного символа с помощью функции «Найти и заменить», сделайте следующее.

    1. Выберите ячейки, в которых вы хотите удалить текст до или после определенного символа, нажмите Ctrl + H , чтобы открыть Найти и заменить Диалог.

    В диалоговом окне «Найти и заменить»:

    1. Чтобы удалить все перед конкретным символом, например запятой, введите *, в Найти то, что текстовое окно;

    2. Чтобы удалить все после определенного символа, например запятой, введите ,* в Найти то, что текстовое окно;

    Ноты:

    1. Вы можете изменить запятую на любой символ по своему усмотрению.

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

    2. Держать Заменить пустое текстовое поле, а затем щелкните значок Заменить все кнопка. Смотрите скриншот:

    Office Tab will save 50% of your work time when browsing & editing multiple documents.
    Unbelievable! The operation of two or more documents is even pleasant than the single document operation.
    Reduce thousands of keyboard & mouse operations every day, farewell to occupational diseases now.
    The interface of Office Tab is far more powerful and efficient than internet browsers.

    Легко удаляйте все числовые, нечисловые или указанные символы из ячеек в Excel

    Kutools для Excel‘s Удалить персонажа Утилита поможет вам легко удалить все числовые, нечисловые или указанные символы из выбранных ячеек в Excel.
    Загрузите полнофункциональную 30-дневную бесплатную версию Kutools for Excel прямо сейчас!

    Удалять тексты до или после первого / последнего конкретного символа по формуле

    В этом разделе будут показаны формулы удаления всего до или после первого / последнего конкретного символа из ячеек в Excel.

    Чтобы удалить все до первой запятой, пожалуйста:

    Выберите пустую ячейку, скопируйте и вставьте в нее приведенную ниже формулу и нажмите Enter ключ. Затем перетащите Ручка заполнения чтобы применить формулу к другим ячейкам. Смотрите скриншот:

    Формула: Удалите все до первой запятой

    = ВПРАВО ( B5 , LEN ( B5 )-НАХОДИТЬ(» , «, B5 ))

    Ноты:

    1. В приведенной выше формуле B5 — это ячейка, из которой вы удаляете текст, а «,» — это символ, на основе которого вы удаляете тексты.

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

    = ВПРАВО ( B5 , LEN ( B5 ) -НАЙТИ («@», ПОДСТАВИТЬ ( B5 ,» Характер «,» @ «, (LEN ( B5 ) -ЛЕН (ЗАМЕНА ( B5 ,» Характер «,» «))) / LEN (» Характер «))))

    Удалить все после первой запятой, пожалуйста:

    Выберите пустую ячейку, скопируйте и вставьте в нее приведенную ниже формулу и нажмите Enter ключ. Затем перетащите Ручка заполнения чтобы применить формулу к другим ячейкам. Смотрите скриншот:

    Формула: Удалите все после первой запятой

    = ЛЕВЫЙ (B5; НАЙТИ («;»; B5) -1)

    Ноты:

    1. В приведенной выше формуле B5 — это ячейка, из которой вы удаляете текст, а «,» — это символ, на основе которого вы удаляете тексты.

    2. Чтобы удалить все после последнего конкретного символа, используйте эту формулу:

    = ВЛЕВО ( B5 , НАЙТИ («@», ПОДСТАВИТЬ ( B5 ,» персонаж «,» @ «, LEN ( B5 ) -ЛЕН (ЗАМЕНА ( B5 ,» персонаж «,» «)))) — 1)

    Удалять тексты до или после n-го символа вхождения по формуле

    Приведенные ниже формулы могут помочь удалить все до или после n-го символа вхождения из ячеек в Excel.

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

    Выберите пустую ячейку для вывода результата, скопируйте в нее приведенную ниже формулу и нажмите Enter ключ. Затем перетащите Ручка заполнения чтобы применить формулу к другим ячейкам. Смотрите скриншот:

    Формула: Удалите все до второй запятой

    = ПРАВИЛЬНО (ЗАМЕНИТЬ ( B5 » , «, СИМВОЛ (9), 2 ), LEN ( B5 ) — НАЙТИ (СИМВОЛ (9), ЗАМЕНИТЬ ( B5 » , «, СИМВОЛ (9), 2 ), 1) + 1)

    Ноты:

    1. В формулах B5«,» а также 2 число означает, что все содержимое после второй запятой будет удалено из ячейки B5.

    2. Вы можете изменить «,» а также 2 номер на любой символ и номер позиции вхождения по мере необходимости.

    Чтобы удалить все после n-го символа вхождения из ячеек, тебе нужно:

    Выберите пустую ячейку для вывода результата, скопируйте в нее приведенную ниже формулу и нажмите Enter ключ. Затем перетащите Ручка заполнения чтобы применить формулу к другим ячейкам. Смотрите скриншот:

    Формула: Удалить все после второй запятой

    = ЛЕВЫЙ (ПОДСТАВИТЬ ( B5 ,» , «, СИМВОЛ (9), 2 ), НАЙТИ (СИМВОЛ (9), ЗАМЕНИТЬ ( B5 ,» , «, СИМВОЛ (9), 2 ), 1) -1)

    Ноты:

    1. В формулах B5«,» а также 2 число означает, что все содержимое после второй запятой будет удалено из ячейки A7.

    2. Вы можете изменить «,» а также 2 номер на любой символ и номер позиции вхождения по мере необходимости.

    Легко удаляйте тексты до / после определенного символа с помощью Kutools for Excel

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

    1. Выберите ячейки, из которых вы удалите все до или после запятой, а затем щелкните Кутулс > Текст > Разделить клетки. Смотрите скриншот:

    2. в Разделить клетки диалоговом окне выберите Разделить на столбцы вариант в Тип раздел, а в Разделить на раздел, выберите Другое вариант и введите запятую в пустое поле, а затем щелкните OK кнопка. Смотрите скриншот:

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

    Затем вы можете увидеть, что выбранные ячейки разделены определенным символом — запятой. Смотрите скриншот:

    Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.

    Источник

    На чтение 5 мин Просмотров 11к. Опубликовано 16.05.2022

    Люди, которые только начинают работать в Excel часто встречаются с таким вопросом.

    Допустим, у нас есть такая табличка:

    Примерно так выглядит удаление всех символов после «,».

    Это можно сделать разными способами. Мы рассмотрим несколько.

    Итак, начнём!

    Содержание

    1. С помощью функции «Найти и заменить»
    2. С помощью формул
    3. С помощью функции «Заполнить»
    4. С помощью Visual Basic

    С помощью функции «Найти и заменить»

    Это, наверное, самый быстрый и удобный способ.

    Допустим, у нас та же табличка и задача:

    Пошаговая инструкция:

    • Копируем и вставляем столбик А в В;

    • Выделите столбик и щелкните «Главная»;

    • Далее — «Найти и выделить» -> «Заменить…»;

    • В первом параметре укажите «,*»;

    • Второй параметр не меняйте;

    • Щелкните «Заменить все».

    Готово! Вот результат:

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

    Символ * означает неопределенное количество символов.

    Так как мы используем «,*», то это значит, что программе нужно заменить запятую и все символы после неё на пустое место.

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

    С помощью формул

    Также, мы можем выполнить нашу задачу и с помощью формул.

    Допустим, у нас есть такая табличка:

    Формула принимает такой вид:

    =ЛЕВСИМВ(A2;НАЙТИ(",";A2)-1)

    Функция НАЙТИ возвращает порядковый номер запятой.

    Это простой пример, давайте рассмотрим кое-что посложнее.

    Теперь у нас такая табличка:

    Формула, для этого примера, принимает такой вид:

    =ЛЕВСИМВ(A2;НАЙТИ("!";ПОДСТАВИТЬ(A2;",";"!";2))-1)

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

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

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

    Вот пример:

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

    Для этого примера, формула принимает такой вид:

    =ЛЕВСИМВ(A2;НАЙТИ("!";ПОДСТАВИТЬ(A2;",";"!";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";","))))-1)

    Итак, функция ДЛСТР сначала находит количество символов в строчке с запятыми, а потом без них.

    А после вычитает из первого — второе. Таким образом мы получаем количество запятых в строчке.

    А затем мы заменяем последнюю на восклицательный знак.

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

    Плюс этого метода в том, что данные будут динамичны. То есть если что-то поменяется в изначальных данных, все поменяется и в данных после обработки.

    С помощью функции «Заполнить»

    Функция «Заполнить», это довольно давний инструмент. Он может помочь нам и в этом случае.

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

    Очень просто — вы просто делаете что угодно и после используете функцию. Она пытается понять логику ваших действий и продолжить её.

    Давайте рассмотрим пример.

    Допустим, у нас есть та же табличка:

    Пошаговая инструкция:

    • В первую ячейку столбика В введите то, что должно получиться после обработки;

    • В следующую ячейку, то же самое;

    • А теперь выделите столбик;

    • И щелкните на «Главная» -> «Заполнить» -> «Мгновенное заполнение»;

    Готово! Вот результат:

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

    Однако, иногда, она может ошибаться. Поэтому всегда проверяйте то, что получилось после обработки.

    С помощью Visual Basic

    И, как обычно, разберем вариант с помощью Visual Basic.

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

    Это крайне удобно, если вы делаете что-либо очень часто. Например, как в нашем случае, удаляете данные после символа.

    Код Visual Basic:

    Function LastPosition(rCell As Range, rChar As String) 
    'This function gives the last position of the specified character 
    'This code has been developed by Sumit Bansal (https://trumpexcel.com) 
    Dim rLen As Integer 
    rLen = Len(rCell)   
    
    For i = rLen To 1 Step -1   
    If Mid(rCell, i - 1, 1) = rChar Then 
    LastPosition = i - 1 
    Exit Function 
    End If   
    
    Next i   E
    
    nd Function

    Код, чтобы он работал, нужно вставить в Visual Basic -> «Insert» -> «Module».

    Давайте рассмотрим пример её использования.

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

    =ЛЕВСИМВ(A2;LastPosition(A2;",")-1)

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

    С помощью Visual Basic все проще.

    Вот и все! Если вам нужно сделать что-то подобное 1-2 раза, то лучше всего использовать функцию «Найти и заменить…», а если вы делаете это постоянно, то используйте Visual Basic.

    Надеюсь, эта статья оказалась полезна для вас!

    Like this post? Please share to your friends:
  • Excel обрезать символ справа
  • Excel обрезать символ слева
  • Excel обрезать количество символов во всех ячейках
  • Excel обрезать дробную часть
  • Excel обрезать до первого пробела