Страницы: 1
RSS
Извлечь фрагмент между третьей и четвертой запятой
 
Добрый день!
Имеется строка M9,DONE_0,NA,0,NA,NA,CONFIG,NA. Подскажите как извлечь фрагмент между третьей и четвертой заптой, т.е. должно остаться значение "0". Имеются 1000 строк с разными длинами символов между запятыми. Заранее спасибо
 
Добрый день!
Вот пример этих строк приложите и получите решение
 
вот пример
 
вариант
Код
=ПСТР(A1;ПОИСК("/";ПОДСТАВИТЬ(A1;",";"/";3))+1;ПОИСК("/";ПОДСТАВИТЬ(A1;",";"/";4))-ПОИСК("/";ПОДСТАВИТЬ(A1;",";"/";3))-1)
Лень двигатель прогресса, доказано!!!
 
OLGA852,
Код
=ПСТР(A1;НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A1;",";СИМВОЛ(1);3))+1;НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A1;",";СИМВОЛ(1);4))-(НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A1;",";СИМВОЛ(1);3))+1))
Не бойтесь совершенства. Вам его не достичь.
 
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;",";ПОВТОР(" ";99));300;100))
Соблюдение правил форума не освобождает от модераторского произвола
 
Пробуйте
 
Цитата
Извлечь фрагмент между третьей и четвертой запятой
Было уже между первой и второй.
Универсально UDF в стандартный модуль
Код
'извлечь n-ое слово из текста, вызов  =nWord(A1;",";4)
Function nWord(cell As String, delimiter As String, n As Integer) As String
  Dim arr
  If Len(cell) - Len(Replace(cell, delimiter, "")) >= n Then
    arr = Split(cell, delimiter)
        nWord = arr(n - 1)
  Else
    nWord = cell
  End If
End Function
 
ну на VBA можно и регулярками:
Код
Sub test()
    Dim i&, s&
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        With CreateObject("Vbscript.regexp")
            .Global = True
            .Pattern = "[^,]+"
            Cells(i, 2) = .Execute(Cells(i, 1))(3)
            On Error Resume Next
        End With
    Next
End Sub
Соблюдение правил форума не освобождает от модераторского произвола
 
Проще файл из #3 открыть в Excel с учетом того, что запятая является разделителем полей.
Владимир
Страницы: 1
Наверх