1. то есть если длина между слешами без слешов = 1 ставим пробел после "су ", если более 1 тогда без пробела "су" 2. нужны только то что между слешами /3/ =3 /11/ =11 3. соединить 1 и 2
да всегда должно быть су 3 с пробелом, а все что начинается с су10 без пробела/ для того чтобы сортировка прошла успешно, а то получается что когда они с пробелами все, су 1,2,3 и т.д в таком порядке су 1 су 10 су 11 су 2 су 3 такая странная сортировка так выходит у меня
последняя моя формула вышла такая =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(ПСТР(B1;ПОИСК("/";B1);3);"/";""))=1;"су "&ПОДСТАВИТЬ(ПСТР(B1;ПОИСК("/";B1);3);"/";"");"су"&ПОДСТАВИТЬ(ПСТР(B1;ПОИСК("/";B1);3);"/";""))
но если между слешами более двух знаков, то он оставляет только два
Я так понял, что вам нужно вытащить цифры между слешами, чтобы потом произвести сортировку по этим цифрам по возрастанию. Тогда лучше делать су001 су017 су111
для сортировки нули не помешают Если у вас максимальное количество цифр между слешами =3, то для правильной сортировки вам нужно добавлять два пробела, если одна цифра и один пробел, если две цифры
Function iSlesh(cell As String) As String
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "/\d{1,3}(?=/)"
If Len(.Execute(cell)(0)) = 2 Then
iSlesh = "су " & Mid(.Execute(cell)(0), 2)
ElseIf Len(.Execute(cell)(0)) = 3 Then
iSlesh = "су " & Mid(.Execute(cell)(0), 2)
ElseIf Len(.Execute(cell)(0)) = 4 Then
iSlesh = "су" & Mid(.Execute(cell)(0), 2)
End If
End With
End Function
и добавить еще условия для одна цифра - добавляем 4 пробела две цифры - добавляем 3 пробела три цифры - добавляем 2 пробела четыре цифры - добавляем 1 пробел
Плучить число: =--ПСТР(ПОДСТАВИТЬ(B1;"/";ПОВТОР(" ";50));50;50) Получить текст: =СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(B1;"/";ПОВТОР(" ";50));50;50)) Слева добавляйте, что хотите: су, лису, колбасу