Страницы: 1
RSS
Разбивка текста
 
Добрый день!
Помогите пожалуйста с решение задачи, нужно разбить текст согласно примеру
 
А год в результате не нужен?
 
Нет, год  не нужен
 
Здравствуйте. А какой у вас Excel? в 2016 и выше есть "Мгновенное заполнение" можно с помощью него.
 
Здравствуйте! Excel 2019 но нужна именно формула
 
UDF
Код
Function iSplit(cell$)
Dim mo As Object
Dim i As Integer
Dim n As Integer
 With CreateObject("VBScript.RegExp")
     .Global = True
     .Pattern = "[А-ЯЁ][а-яё]+"
   If .test(cell) Then
   Set mo = .Execute(cell)
     For i = 0 To mo.Count - 1
       iSplit = iSplit & mo(i) & " "
       n = n + Len(mo(i))
     Next
       iSplit = iSplit & Mid(cell, n + 1, 6)
   Else
     iSplit = ""
   End If
 End With
End Function
 
Kuzmich, спасибо вам большое!! Но нужна формула
 
Формула массива
Код
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЛЕВБ(B4;ДЛСТР(B4)-10);ПОИСКПОЗ(2;1/(КОДСИМВ(ПСТР(ЛЕВБ(B4;ДЛСТР(B4)-10);СТРОКА(B:B)+1;1))<224))+1;;" ");ПОИСКПОЗ(1;Ч(КОДСИМВ(ПСТР(ЛЕВБ(B4;ДЛСТР(B4)-10);СТРОКА(B:B)+1;1))<224);)+1;;" ")&" "&ЛЕВБ(ПРАВБ(B4;10);6)
Алексей М.
 
АlехМ, большое вам спасибо за решение задачи!!  Подскажите пожалуйста, вот если просто формулой без массива, я ее ставлю и ошибка ДЕЛО выходит. Как сделать чтобы отдельную строку отдельной формулой?
 
Вставляете формулу в ячейку С4, вводите ее как формулу массива.
Затем протягивает вниз.
Изменено: АlехМ - 19.04.2024 00:56:13
Алексей М.
 
Цитата
АlехМ: СТРОКА(B:B)+1
эээх )
чуть переиначил:
{ }
=ЛЕВБ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(B4;ПОИСКПОЗ(1=1;ЕОШ(НАЙТИ(ПСТР(ПСТР(B4;2;20);СТРОКА(A$1:A$20);1);СТРОЧН(B4)));)+1;;" ");ПОИСКПОЗ(;-1/ЕОШ(НАЙТИ(ПСТР(B4;СТРОКА(A$1:A$99);1);СТРОЧН(B4))))+1;;" ");ДЛСТР(B4)-7;;" ");ДЛСТР(B4)-1)
Изменено: Павел \Ʌ/ - 19.04.2024 10:53:59
 
Павел \Ʌ/, В одном месте СТРОКА(A$1:A$20), в другом СТРОКА(A$1:A$99). Случайно?
Алексей М.
 
Цитата
Случайно?
Нет - просто имен длинше 20 символов в моём окружении нет )
Страницы: 1
Наверх