Страницы: 1
RSS
Переставить числа из начала в конец текста
 
В столбце А написано:
1 стул
15 парт
5 столов
8 ложек

В столбце В нужно получить в обратном порядке (цифры перенести в конец):
стул 1
парт 15
столов 5
ложек 8

Как можно перенести? Заранее благодарен за помощь
 
realmen80,всегда идет число пробел и текст?  
Код
=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(" ";A2;1))&" "&ЛЕВСИМВ(A2;ПОИСК(" ";A2;1)-1)
Изменено: Mershik - 27.04.2020 18:12:41
Не бойтесь совершенства. Вам его не достичь.
 
=ПСТР(A2&" "&A2;ПОИСК(" ";A2)+1;ДЛСТР(A2))
 
Спасибо за помощь. То что нужно
 
Столкнулся с проблемой, когда попадает слово, без цифр, только буквы.
Например, так:

1 стул
парты
5 столов
ложки

Можно добавить исключение в код формулы, чтобы когда встречается слово без цифр, то оставлять это слово как есть и так и вставлять его?  
 
Минимальная правка:
=ПСТР(A2&" "&A2;ПОИСК(" ";A2&" ")+1;ДЛСТР(A2))
 
Еще раз - спасибо за помощь.
 
realmen80, может быть еще мгновенное заполнение поможет
 
Спасибо. Попробую
 
Столкнулся с еще одной проблемой :( Если впереди слова пробел стоит, то не срабатывает формула.... Можно как-то в формуле прописать, чтобы все пустые пробелы сначала слов не учитывались?
 
СЖПРОБЕЛЫ
 
vikttur, спасибо. За эту функцию знаю. Как отдельно использовать ее знаю. Не знаю как встроить ее в формулу что вы давали выше... Или это не возможно делать в одной формуле и нужно сначала функцией удалить пробелы начальные, а только потом уже применять формулу перестановки? Хотел упростить...
 
Можно поступить старым крестьянским методом и впихнуть эту функцию везде где можно и наверное нельзя :)
Но, зато даже если впереди будет пять пробелов, то все работает :)
Код
=MID(TRIM(A2)&" "&TRIM(A2),SEARCH(" ",TRIM(A2)&" ")+1,LEN(TRIM(A2)))
=ПСТР(СЖПРОБЕЛЫ(A2)&" "&СЖПРОБЕЛЫ(A2);ПОИСК(" ";СЖПРОБЕЛЫ(A2)&" ")+1;ДЛСТР(СЖПРОБЕЛЫ(A2)))
Изменено: memo - 07.05.2020 13:04:52
 
А чтобы не "впихнуть эту функцию везде где можно и наверное нельзя" и не грузить лишний раз Excel, достаточно применить функцию один! раз в доп. столбце, а в формуле ссылаться на очищенные данные.
 
Спасибо за ответы и помощь
 
Цитата
Как можно перенести?
UDF
Код
Function iDigits(cell$)
 With CreateObject("VBScript.RegExp")
   .Pattern = "^ ?\d+ "
   If .test(cell) Then
     iDigits = .Replace(cell, "") & " " & .Execute(cell)(0)
   Else
     iDigits = cell
   End If
 End With
End Function
 
Kuzmich, спасибо.  
Страницы: 1
Наверх