Страницы: 1
RSS
Как удалить знаки в конце строки после массива чисел?
 
Добрый день!

Столкнулся с таким кейсом:
Есть столбец, в котором содержатся данные примерно следующего вида
8.7.03.05.03.   .
8.7.03.05.03.01.
8.7.03.06. . .
8.7.03.06.01. .
8.7.03.06.01.01.
8.7.03.06.01.02.
8.7.03.06.01.03.
8.7.03.06.02. .
8.7.03.06.02.01.
8.7.03.06.02.02.
Задача перенести все данные из этого столбца в другой так, чтобы справа не осталось точек, т.е. :
8.7.03.05.03
8.7.03.05.03.01
8.7.03.06
и т.д.

Другими словами, нужна формула которая в каждой ячейке будет отрезать все, что находится после последней цифры (последней цифрой может быть любое число от 0 до 9) с конца.
Количество знаков до и после последней цифры в каждой ячейке может быть разным (см. пример выше).

Гугл найти решения, применимого к моему примеру не помог :(

Заранее спасибо!
 
Цитата
Александр Лисицын написал: применимого к моему примеру
Так нет примера )

=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;".";" "));" ";".")
 
Большое спасибо!
 
Александр Лисицын,
Неразрывный пробел в первой строке 8.7.03.05.03.   . оставляет точку в конце
Код
Sub iDelPoint()
Dim i As Long
Dim iLastRow As Long
  iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
  Range("B1:B" & iLastRow).ClearContents
 With CreateObject("VBScript.RegExp")
   .Pattern = "\d\.[^\d]*$"
   For i = 1 To iLastRow
     If .test(Cells(i, 1)) Then
       Cells(i, 2) = Left(Cells(i, 1), .Execute(Cells(i, 1))(0).FirstIndex + 1)
     End If
   Next
 End With
End Sub
 
Если там между точками пробелы, то формула проще:
=ЛЕВБ(A2;ПОИСК(" ";A2&" ")-2)
Неразрывный пробел мог случайно попасть. Если все-таки есть - добавить обход препятствия. Но автор не хочет пример показывать.
Страницы: 1
Наверх