ChicoId
@ChicoId
IT Specialist

Как удалить подстроку из другой колонки в Excel?

Я хочу удалить часть текста из текущей колонки. Эта часть текста представлена в другой колонке.
Для наглядности:
50f5cf8338b54740a09a13a82edbb6aa.jpg

Так вот, я хочу удалить номер модели из колонки Title.
  • Вопрос задан
  • 3797 просмотров
Решения вопроса 1
@rosperitus
Можно удалить функцией =ПОДСТАВИТЬ(A2;B2;"").
И чтобы удалить остаточные пробела, то нужно обернуть в СЖПРОБЕЛЫ.
Итог =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;B2;"")), и эту функцию нужно "протащить".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
honor8
@honor8
Принципы быстродействия VBA в описании
Можно сделать интереснее, если нужно выделить подстроки в виде октетов из IPv4-адрес (например, можно встретить формат 090.088.112.223). Будем применять формулу =ПОДСТАВИТЬ(), которая имеет 4-ый необязательный параметр для замены вхождения по счёту (используем как счётчик).

Для этого нужно отделить сначала правую часть, и превратить её в число. Для первого октета формула будет сложнее, чем =ЛЕВБ() (чтобы можно было отследить этапы замены), где 1 - счётчик вхождений точки:
=ЗНАЧЕН(ЛЕВБ(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";15);1);15))

Для выбора остальных октетов нужно будет ещё отбросить и левую часть. Теперь первый счётчик имеет значение вхождения точки 2 (сначала нужно отсечь правую часть за 2-ой точкой), а второй счётчик имеет значение точки 1 (затем нужно отсечь левую часть до 1-ой точки):
=ЗНАЧЕН(ПРАВБ(ПОДСТАВИТЬ(
  СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(A1;".";ПОВТОР(" ";15);2);15));
".";ПОВТОР(" ";15);1);3))

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

Задача схожа с "Excel — как вытащить из относительной ссылки содержимое между двух последних «/»?".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы