Как удалить в Excel все между двумя словами?
Как удалить в Excel все между двумя словами?
Например, чтобы из значения "у лукоморья дуб зеленый, златая цепь на дубе том" убралось все между словами "лукоморья" и "дубе", т.е. "у лукоморья дубе том"
Ответы (3 шт):
используй функции левсим(), правсим(), поиск() и длстр() для нарезки фразы, поиска слов и расчета длины фразы/слов. Твой пример решается кодом ниже (A2 - это ячейка с первоначальной фразой):
=ЛЕВСИМВ(A2;ПОИСК("лукоморья";A2;1)+ДЛСТР("лукоморья"))&ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК("дубе";A2;1)+1)
Наверное это не совсем честный ответ, т.к. для решения использовался google spreadsheet.
Но там, пожалуй, самый простой способ подтянуть регулярки.

Подтягиваем первые 2 слова и 2 последних вместе с пробелами
=REGEXEXTRACT(A36; "^(([^\s]+\s){2}).*((\s[^\s]+){2})$")
Колонка A и C всегда будет содержать требуемое значение, не зависимо от содержания строки.
=ЗАМЕНИТЬ(A1;НАЙТИ("у лукоморья";A1)+12;99;"дубе том")
Здесь 99 - не меньше длины текста.
Логика. Находим начало удаляемого фрагмента, заменяем весь текст справа на нужное окончание.