Страницы: 1
RSS
Как поменять местами слова в ячейке
 
Добрый день, уважаемы знатоки excell!  
 
Подскажите, пожалуйста, каким образом можно поменять местами слова в ячейке?  
 
Пример:  
в ячейке А1 текст "Вася Пупкин"  
нужно сделать - в ячейке В1 текст "Пупкин Вася"  
 
Заранее благодарю!
 
=ПСТР(A1;ПОИСК(" ";A1)+1;300)&" "&ПСТР(A1;1;ПОИСК(" ";A1))
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
За вами не угонишся )
Редко но метко ...
 
{quote}{login=The_Prist}{date=19.11.2010 12:15}{thema=}{post}=ПСТР(A1;ПОИСК(" ";A1)+1;300)&" "&ПСТР(A1;1;ПОИСК(" ";A1)){/post}{/quote}  
 
Спасибо огромное!  
Работает!  
Правда я не понимаю как, но работает! =)
 
=ПСТР(A1&" "&A1;1+ПОИСК(" ";A1);ДЛСТР(A1))
 
классно :)
Живи и дай жить..
 
Дорогие гуру!  
А можете подсказать формулу что то на подобе этого же только надо поменять 3 слова,    
 
тоесть в одной ечейке А1 типа товары :  
 
Вася Пупкин Вася Пупкин Вася Пупкин  
 
поменять местами в В1 3 раза или 3 слова чтоб вышло так:  
 
Пупкин Вася Пупкин Вася Пупкин Вася    
 
Заранее благодарен если это возможно!!!
 
Если "Вася Пупкин" повторяется 3 раза (а не, например, "Вася Пупкин Ваня Нупкин Яша Лункин"), то формула от 19.11.2010, 13:31 выполняет то, что вы хотите.
 
Нет эта Формула  
=ПСТР(A1&" "&A1;1+ПОИСК(" ";A1);ДЛСТР(A1))  
просто смещает  
ориг.     Вася Пупкин Ваня Нупкин Яша Лункин  
результат Пупкин Ваня Нупкин Яша Лункин Вася  
а хотелось бы  
         Пупкин Вася Нупкин Ваня Лункин Яша    
если возможно
 
UDF. Попробуйте с разным числом слов, в т.ч. нечетным.  
 
Function ФЯ(txt As String) As String  
Dim s$(), i&  
s = Split(txt)  
For i = 1 To UBound(s) Step 2  
   ФЯ = ФЯ & " " & s(i) & " " & s(i - 1)  
Next  
If i = UBound(s) + 1 Then ФЯ = ФЯ & " " & s(i - 1)  
ФЯ = Mid$(ФЯ, 2)  
End Function
 
Спасибо Казанский за вариант ,  
но с макросами как то редко работал и с ними не дружу..  
мне б вариат из формулы кто нибудь подсказал бы...  
буду очень признателен
 
Давайте Ваш пример (что есть - что надо), но, имхо, - формулами это дело сложно... Скорее всего придется использовать несколько доп. ячеек.
 
Михаил С.  
 
Вася Пупкин Ваня Нупкин Яша Лункин  
 
Пупкин Вася Нупкин Ваня Лункин Яша  
 
т.е. 1 слово со словом 2, 3 слово со словом 4, 5 слово со словом 6 менялись местами ...
 
если слов ВСЕГДА шесть и нет знаков препинания, и нужно поменять попарно - то можно одной формулой.
 
слов не всегда шесть, и бываю знаки но редко знаки припинания.
 
{quote}{login=ФЯ}{date=27.06.2012 08:02}{thema=}{post}... и бываю ...{/post}{/quote}  
Повторение - мать учения, у вас незачет по Правилам - см. скрин... ;) -92988-
 
{quote}{login=ФЯ}{date=27.06.2012 08:02}{thema=}{post}слов не всегда шесть, и бываю знаки но редко знаки припинания.{/post}{/quote}Одна формула с этим делом не справится.    
 
И в любом случае нужен пример с различными вариантами - не мне же за Вас их выдумывать.
 
1 слово со словом 2, 3 слово со словом 4, 5 слово со словом 6 менялись местами
 
И где конечный результат?  
Зы. из такого примера возникает ощущение бессмысленной работы.
 
> но с макросами как то редко работал и с ними не дружу..  
Вот так это выглядит в вашем файле. ИМХО ничего сложного.
 
Казанский,  
 
 
Благодарю, за помощь, начинают нравится работа с макросами благодаря Вам.  
 
Можно у Вас еще спросить , как сделать так чтобы не все  менялось если длинное предложение, а только 6 слов первых, если это возможно...
 
Всего лишь параметр дописать :)  
 
s = Split(txt, , 7)
Страницы: 1
Читают тему
Наверх