Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Максимальная неразрывня последовательность чисел

Автор DaniilK, 31.01.2012, 16:24

« назад - далее »

DaniilK

Плиз, помогите, у кого очень хороший скил в Экселе!!

Вот несколько примеров текстов кусков объявлений:
1) Дудинская, 1/5, жилое состояние, кабина душевая, кондиционер, 30/17/7, документы готовы.
2) ., Бобруйская, 31/16,3/6, 1/3
3) .е., Вертикальная, 1/3, обычное состояние. Те
4) АвтоВАЗ, 3/5, 31/16/7, неугловая, окна пластик, балкон. Тел.:

и т.д.

в общем в каждом объявлении хочется формулой (возможно, пользовательской формулой) определить максимальную из неразрывных последовательностей чисел, т.е. решения для примеров 1-4
1) 30 /т.к. 30 это максимум из всех неразрывных последовательностей чисел в объявлении 1/
2) 16
3) 3
4) 31

MCH


kuklp

И чего это "2) 16"? Там строка "31/16,3/6...". Какое из чисел максимальное?
Public Function MaxNum&(s$)
    Dim a, b, i, j&
    a = Split(s, ", ")
    For i = 0 To UBound(a)
        If InStr(1, a(i), "/") Then
            b = Split(a(i), "/")
            For j = 0 To UBound(b)
                MaxNum = IIf(b(j) > MaxNum, b(j), MaxNum)
            Next
        End If
    Next
End Function

Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

DaniilK

да, в 2) ошибка, сорри, там правильный ответ, конечно 31


exceleved

До кучиDim re As Object, x

Function dd(s$) As Long
If re Is Nothing Then
    Set re = CreateObject("vbscript.regexp")
    re.Global = True
    re.Pattern = "\d+"
End If
For Each x In re.Execute(s)
    If x > dd Then dd = x
Next
End Function