В файле Microsoft Excel, у меня есть текст в строках, который появляется как это:Удалить текст, появляющийся между двумя символами - несколько экземпляров - Excel
1. Rc8 {[%emt 0:00:05]} Rxc8 {[%emt 0:00:01]} 2. Rxc8 {[%emt 0:00:01]} Qxc8 {} 3. Qe7# 1-0
Мне нужно удалить любой текст, появляющийся в цветочных скобках {
и }
, включая сами кронштейны.
В приведенном выше примере имеются три экземпляра таких цветочных кронштейнов. Но некоторые строки могут иметь больше, чем это.
Я попытался =MID(LEFT(A2,FIND("}",A2)-1),FIND("{",A2)+1,LEN(A2))
Это выводит на: {[%emt 0:00:05]}
. Как вы видите, это самый первый экземпляр текста между этими цветочными скобками.
И если мы будем использовать это в SUBSTITUTE так: =SUBSTITUTE(A2,MID(LEFT(A2,FIND("}",A2)),FIND("{",A2),LEN(A2)),"")
я получаю такой вывод:
1. Rc8 Rxc8 {[%emt 0:00:01]} 2. Rxc8 {[%emt 0:00:01]} Qxc8 {} 3. Qe7# 1-0
Если вы заметили, только один экземпляр удаляется. Как заставить его работать для всех экземпляров? Благодарю.
Вы открыты для использования VBA, чтобы написать пользовательскую функцию, чтобы сделать это? В качестве альтернативы, можете ли вы повторить свою функцию столько раз, сколько необходимо на листе, чтобы удалить все строки? –
Есть несколько тысяч строк. Я думаю, что пользовательская функция может быть лучше. Я использовал функцию @ dirk-reichel, и она отлично работает. –