Формула: Excel Найти и заменить все точки перед указанными символами
У меня есть столбец данных исследований, которые я хотел очистить.
Поскольку пользователи не следовали инструкциям, в предложениях есть ненужные точки остановки. Мне нужно удалить все полные остановки перед пробелом и строчной буквой. Например:
This will help. to do that task. I'm sure. to complete it.
Я хочу удалить все "." до "до". Мне нужно сделать это с различными другими предложениями с различным содержанием.
Как это можно сделать с помощью формулы? Буду признателен за любую оказанную помощь.
2 ответа
Вы можете сделать простой поиск и заменить в поисках ". "Т.е. полная остановка с пробелом с каждой стороны и замена только пробелом. Вы можете обнаружить, что сначала должны найти и заменить любые двойные пробелы...
Изменить: добавлено после информации в комментарии: Затем вы можете найти ".t" и заменить на "t", который должен захватить большинство из них...
Вот подход с использованием VBA:
- Откройте Visual Basic IDE, используя Alt+F11
- Вставьте новый публичный модуль, используя Alt+I,M
Вставьте следующий код в модуль:
Function StripPeriods(strArg As String) As String Dim intPos As Integer Dim intCha As Integer intPos = InStr(1, strArg, ". ") If intPos > 0 And intPos + 2 < Len(strArg) Then intCha = Asc(Mid(strArg, intPos + 2, 1)) If intCha > 96 And intCha < 123 Then StripPeriods = Left(strArg, intPos - 1) & StripPeriods(Mid(strArg, intPos + 1)) Else StripPeriods = Left(strArg, intPos) & StripPeriods(Mid(strArg, intPos + 1)) End If Else StripPeriods = strArg End If End Function
В новом столбце или рабочем листе вызовите вышеуказанную функцию в формуле, ссылающейся на целевые ячейки, например:
=StripPeriods(A1)
Выберите и скопируйте результаты формулы (Ctrl+C)
- Вставить специальные результаты в качестве значений поверх исходных ячеек (Ctrl+Alt+V)