У меня есть файл Excel с ~ 5500 строк инвентаря. Одна ячейка в каждой строке является полем описания и содержит HTML.

Некоторые (но не все) из этих ячеек содержат ссылку, отформатированную примерно так:

<p><a href="back-to-site-url"><span class="caps">Back to Website<span></a></p>

Некоторые из них содержат теги <span> , другие нет. URL-адрес привязки также варьируется среди всех вхождений этой ссылки.

Есть ли какая-то логика, которая удалила бы эту ссылку? Прямое нахождение и замена не сработает, хотя возможно выборка из 100 случайных ячеек, определение существующих комбинаций ссылок и выполнение поиска и замены на них может сработать.

Как насчет макроса? Можно ли найти каждую ячейку, содержащую "Назад на сайт", и удалить текст с условным обозначением?

1 ответ1

1

Вложенные SUBSTITUTE могут работать на вас. Например, у меня есть список MAC-адресов, которые могут быть отформатированы с одним из трех разделителей (двоеточие, тире, пробел) или без разделителя вообще. Чтобы сделать их согласованными, я делаю следующее, чтобы они не были разделены:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," ",""),":",""),"-","")

ЗАМЕНА принимает до четырех аргументов, но для этого нужны только первые три (которые в любом случае являются обязательными).

  • текст является первым аргументом и представляет текст, над которым вы хотите работать. Здесь самый SUBSTITUTE цели А1. Затем следующий SUBSTITUTE наружу получит результат первого и так далее.
  • old_text - это второй аргумент. Это текст внутри текста, который вы хотите заменить. Самым внутренним SUBSTITUTE приведенным выше, является обработка пробелов, следующий к внешней стороне обрабатывает двоеточия, а самый внешний - штрихами. Если SUBSTITUTE не может найти OLD_TEXT в тексте, это не волнует - это просто ничего не делает.
  • new_text является последним аргументом. Это значение для текста замены. Поскольку я просто хочу удалить разделители с помощью приведенной выше формулы, в нем используется пустая строка - "".

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .