Страницы: 1
RSS
Удаление последней запятой в строках таблицы
 
Всем день добрый!
В таблице из 5000 строк в некоторых строках в конце строки есть запятая. (Не во всех строках).
Запятые встречаются так же внутри строк. Вопрос: как удалить ТОЛЬКО последнюю запятую. Спасибо!
 
функцию ПОДСТАВИТЬ попробуйте
Изменено: Stics - 19.03.2018 16:52:41
 
Формулы ПравСимв(), ДлСтр(), Если(), ЛевСимв(). Соберите их в правильную кучу и получите результат.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
abobrov написал: как удалить
А как пробовали? Как задали? Как разрешено/запрещено?.. ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Добавить к тексту справа знак, которого нет в текстах, функцией ПОДСТАВИТЬ удалить запятую с этим символом, еще одной ПОДСТАВИТЬ удалитьдобавленный символ.
 
=ЕСЛИ(ПРАВБ(A1;1) = ",";ПСТР(A1;1;ДЛСТР(A1)-1);A1)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
вариант UDF для файл-примера #2
Код
 Function vvv$(text$)
  If InStrRev(text, ",") Then vvv = StrReverse(Split(StrReverse(text), ",", 2)(1))
End Function
Изменено: кузя1972 - 19.03.2018 17:45:04
 
Код
Sub afdgh()
Dim a(), aStr() As String, i as long, rngStr as Range
Set rngStr = Sheets("Лист1").Range("A1") 'ячейка обрабатываемого столбца
i = rngStr.Column
Set rngStr = rngStr.CurrentRegion
Set rngStr = rngStr.Offset(, i - rngStr.Column).Resize(, 1)
a = rngStr.Value
ReDim aStr(LBound(a) To UBound(a), 1 To 1)
For i = 1 To UBound(a)
  aStr(i, 1) = Trim(a(i, 1))
  If Len(aStr(i, 1)) > 1 Then
    If Right(aStr(i, 1), 1) = "," Then aStr(i, 1) = Trim(Left(aStr(i, 1), Len(aStr(i, 1)) - 1))
  Else
    aStr(i, 1) = Replace(aStr(i, 1), ",", "")
  End If
Next
rngStr.Value = aStr
End Sub
Изменено: AAF - 20.03.2018 01:12:14
Страницы: 1
Наверх