Формула: Excel Найти и заменить все точки перед указанными символами

262
Rosemary

У меня есть столбец данных исследований, которые я хотел очистить.

Поскольку пользователи не следовали инструкциям, в предложениях есть ненужные точки остановки. Мне нужно удалить все полные остановки перед пробелом и строчной буквой. Например:

This will help. to do that task. I'm sure. to complete it. 

Я хочу удалить все "." до «до». Мне нужно сделать это с другими предложениями с различным содержанием.

Как это можно сделать с помощью формулы? Буду признателен за любую оказанную помощь.

0

2 ответа на вопрос

0
Solar Mike

Вы можете сделать простой поиск и замену в поисках «. «Т.е. полная остановка с пробелом с каждой стороны и замена только пробелом. Вы можете обнаружить, что сначала должны найти и заменить любые двойные пробелы ...

Изменить: добавлено после информации в комментарии: Затем вы можете найти «.t» и заменить на «t», который должен захватить большинство из них ...

Спасибо, но извините, я добавил лишний пробел. Я не мог поместить реальные данные здесь, поэтому мне пришлось их составить. Rosemary 6 лет назад 0
У меня разные наборы предложений, не у всех есть ".t". Это отличается в каждом предложении. Есть идеи? Rosemary 6 лет назад 0
0
Lee Mac

Вот подход с использованием 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)

Похожие вопросы