Как поменять порядок слов в ячейке excel

 

psycho

Пользователь

Сообщений: 2
Регистрация: 01.01.1970

Добрый день, уважаемы знатоки excell!  

  Подскажите, пожалуйста, каким образом можно поменять местами слова в ячейке?  

  Пример:  
в ячейке А1 текст «Вася Пупкин»  
нужно сделать — в ячейке В1 текст «Пупкин Вася»  

  Заранее благодарю!

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

=ПСТР(A1;ПОИСК(» «;A1)+1;300)&» «&ПСТР(A1;1;ПОИСК(» «;A1))

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

 

{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))

 

слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

 

Дорогие гуру!  
А можете подсказать формулу что то на подобе этого же только надо поменять 3 слова,    

  тоесть в одной ечейке А1 типа товары :  

  Вася Пупкин Вася Пупкин Вася Пупкин  

  поменять местами в В1 3 раза или 3 слова чтоб вышло так:  

  Пупкин Вася Пупкин Вася Пупкин Вася    

  Заранее благодарен если это возможно!!!

 

ShAM

Пользователь

Сообщений: 469
Регистрация: 05.01.2013

Если «Вася Пупкин» повторяется 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 слов первых, если это возможно…

 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#22

01.07.2012 17:27:18

Всего лишь параметр дописать :)  

  s = Split(txt, , 7)

  • Сортировка данных (слов и чисел) в ячейке по алфавиту
  • Поменять местами слова в ячейке Excel
  • Переставить определенные слова в начало или конец ячейки

В редких, но оттого не менее важных случаях при работе с Excel требуется изменить порядок слов внутри ячеек.

Сортировка данных (слов и чисел) в ячейке по алфавиту

Такая операция может потребоваться, например в процессе поиска и удаления неявных дублей или при построении сводных таблиц. Так или иначе, речь об операциях, в которых не важен порядок слов внутри ячеек.

Сортировка содержимого внутри ячейки

Сортировать слова внутри ячейки по алфавиту А-Я

Речь обычно о ситуациях, когда в ячейке два слова. Наглядный пример – когда данные в формате Фамилия-Имя нужно переделать в формат Имя-Фамилия. Но если слов 3 и более, они также предстанут в зеркальном порядке.

меняем местами слова в ячейках

Меняем местами имя и фамилию в списке

Переставить определенные слова в начало или конец ячейки

Иногда слова во фразах идут не в том порядке, который хочется, но известен заранее список слов, которые должны идти в начале или конце строк.

Поможет в этом случае меню «Изменить слова», т.к. в большей степени задача относится к словам, чем ячейкам, – изменяется позиция конкретных слов в ячейке, а не ячейка как независимая сущность.

Пример применения функции “переставить слова в начало ячейки”.

Поменять порядок слов в ячейках быстро и без сложных формул поможет !SEMTools.
Скачивайте и начинайте экономить время и силы для решения более важных задач!

Есть файл с колонкой

Имя Фамилия Отчество

Нужно привести к православному ФИО (Фамилия Имя Отчество)

есть

анониним анониномов анонимович

нужно

анониномов анониним анонимович

в результате нужен ексель с правильным порядком. можно и в этом столбце менять, можно скопировать результат в свободный столбец, без разницы

можно что-то вроде =ПСТР(A1&», «&A1;ПОИСК(«/»;ПОДСТАВИТЬ(A1;»,»;»/»;2))+2;ДЛСТР(A1))

=ПСТР(A2;ПОИСК(» «;A2)+1;300)&» «&ПСТР(A2;1;ПОИСК(» «;A2))

получаю анониномов анонимович анониним

задан 17 июн 2016 в 11:19

des1roer's user avatar

des1roerdes1roer

2,6565 золотых знаков29 серебряных знаков68 бронзовых знаков

5

=ПСТР(A2;ПОИСК(» «;A2)+1;ЕСЛИОШИБКА(ПОИСК(» «;A2;ПОИСК(» «;A2)+1);ДЛСТР(A2))-ПОИСК(» «;A2)-1)&» «&ЛЕВСИМВ(A2;ПОИСК(» «;A2))&»
«&ПСТР(A2;1+НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A2;»
«;СИМВОЛ(1);ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»))));ДЛСТР(A2))

ответ дан 17 июн 2016 в 12:23

des1roer's user avatar

des1roerdes1roer

2,6565 золотых знаков29 серебряных знаков68 бронзовых знаков

2

Давайте будем проще )

=ПОДСТАВИТЬ(ПСТР(A1;ПОИСК(" ";A1)+1;50);" ";" "& ЛЕВБ(A1;ПОИСК(" ";A1)))

Формула меняет положение первого слова — ставит его после второго

50 — число больше наибольшего количества символов в ФИО. Если найдется ФИО длиннее, смело меняйте 50 на 999 )

Можно заменить на

ДЛСТР(A1)-ПОИСК(" ";A1)

но особого смысла в этом нет.

ответ дан 29 авг 2016 в 23:40

vikttur_Stop_RU_war_in_UA's user avatar

=ПСТР(A1;ПОИСК(" ";A1;1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1;1)+1)-ПОИСК(" ";A1)-1)&" "&ПСТР(A1;1;ПОИСК(" ";A1)-1)&" "&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1))

ответ дан 17 июн 2016 в 12:29

slippyk's user avatar

slippykslippyk

6,0913 золотых знака19 серебряных знаков38 бронзовых знаков

Как изменить порядок текстовой строки или слов в Excel при использовании листа Excel? Например, вы хотите отменить «Excel — полезный инструмент для нас«К»su rof loot lufesu a si lecxE». Или иногда вы можете изменить порядок слов, например «Excel, Word, PowerPoint, OneNote«К»OneNote, PowerPoint, Word, Excel». Обычно решить эту проблему довольно сложно. Пожалуйста, обратите внимание на следующие методы:

Обратный текст строки с функцией, определяемой пользователем

Обратный порядок слов, разделенных определенным разделителем с кодом VBA

Обратный порядок текстовой строки или слов с помощью Kutools for Excel быстро и легко


стрелка синий правый пузырь Обратный текст строки с функцией, определяемой пользователем

Предположим, у вас есть диапазон текстовых строк, которые вы хотите перевернуть, например «добавить ведущие нули в Excel«К»lecxE ni sorez gnidael dda». Вы можете перевернуть текст, выполнив следующие действия:

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модулиокно.

Function Reversestr(str As String) As String
    Reversestr = StrReverse(Trim(str))
End Function

3. А затем сохраните и закройте этот код, вернитесь на рабочий лист и введите эту формулу: = reversestr (A2) в пустую ячейку, чтобы поместить результат, см. снимок экрана:

4. Затем перетащите дескриптор заполнения вниз, чтобы скопировать эту формулу, и текст в ячейках сразу будет считаться, см. Снимок экрана:


стрелка синий правый пузырь Обратный порядок слов, разделенных определенным разделителем с кодом VBA

Если у вас есть список слов в ячейках, разделенных запятыми как «учитель, врач, студент, рабочий, водитель», И вы хотите изменить порядок слов следующим образом:«драйв, рабочий, студент, врач, учитель». Вы также можете использовать VBA, чтобы решить эту проблему.

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули окно.

Sub ReverseWord()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Sigh As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Sigh = Application.InputBox("Symbol interval", xTitleId, ",", Type:=2)
For Each Rng In WorkRng
    strList = VBA.Split(Rng.Value, Sigh)
    xOut = ""
    For i = UBound(strList) To 0 Step -1
        xOut = xOut & strList(i) & Sigh
    Next
    Rng.Value = xOut
Next
End Sub

3, Затем нажмите F5 появится диалоговое окно, выберите диапазон для работы. Смотрите скриншот:

4, Затем нажмите Ok, появится другое диалоговое окно, в котором вы можете указать разделитель, на основе которого вы хотите поменять местами слова, см. снимок экрана:

5. Затем нажмите OK, и вы можете видеть, что выбранные слова перевернуты, см. скриншоты:


стрелка синий правый пузырь Обратный порядок текстовой строки или слов с помощью Kutools for Excel быстро и легко

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Kutools for ExcelАвтора Обратный порядок текста может помочь вам быстро и удобно перевернуть различные текстовые строки. Он может выполнять следующие операции:

Переворачивайте текст справа налево, например «нажмите несколько слов«К»Сдроу Эмо Пэт»;

Обратный текст разделяется пробелом или другими специфическими символами, такими как «яблоко апельсин виноград«К»виноград, апельсин, яблоко»;

Переверните текст справа налево:

1. Выберите диапазон, который вы хотите изменить.

2. Нажмите Кутулс > Текстовые инструменты > Обратный порядок текста, см. снимок экрана:

3. В Обратный текст диалоговом окне выберите соответствующий вариант из Разделитель которые соответствуют значениям ячеек. И вы можете предварительно просмотреть результаты Панель предварительного просмотра. Смотрите скриншот:

 Скачать и бесплатную пробную версию Kutools for Excel Сейчас !


Обратный текст разделяется пробелом или другими специфическими символами:

Эта функция также может помочь вам перевернуть текстовые строки, разделенные определенными символами.

1. Выберите ячейки и примените эту утилиту, нажав Кутулс > Текст > Обратный порядок текста.

2. В разделе Обратный текст В диалоговом окне выберите разделитель, который разделяет значения ячеек, на основе которых вы хотите поменять местами слова, см. снимок экрана:

3. Затем нажмите Ok or Применить, слова в ячейках сразу поменялись местами. Смотрите скриншоты:

Внимание: Проверка Пропустить не текст ячеек, чтобы помешать вам поменять местами числа в выбранном диапазоне.

Чтобы узнать больше об этой функции, посетите Обратный порядок текста.

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !


стрелка синий правый пузырь Демонстрация: обратная текстовая строка на основе определенного разделителя с помощью Kutools for Excel


Связанная статья:

Как в Excel перевернуть имя и фамилию в ячейках?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Susliks

1

Поменять слова местами в пределах одной ячейки.

09.12.2011, 13:10. Показов 20283. Ответов 2


Студворк — интернет-сервис помощи студентам

Всем привет!
Возможно боян, но поиск мне не помог
Подскажите, пожалуйста, надо поменять 2 слова в ячейках столбца местами.
Пример: «Лебедев Павел» нужно получить «Павел Лебедев» (строк более 100)
Вся соль проблемы, что необходимо сделать это в пределах этой ячейки (не создавая дополнительную), как тут: =ПРАВСИМВ(A4;ДЛСТР(A4)-НАЙТИ(» «;A4))&» «&ЛЕВСИМВ(A4;НАЙТИ(» «;A4))
Заранее спасибо!
З.Ы. Officce 2010

Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

09.12.2011, 14:47

2

В чем проблема? Формула работает. Ваш текст в столбце А. Введите эту формулу в яч. В4, потом скопируйте эту ячейку на весь диапазон в ст. В.

Добавлено через 15 минут
Если надо обработать данные «на месте», то та же формула в макросе:

Visual Basic
1
2
3
4
5
Sub bb()
With Range("A1", Cells(Rows.Count, "A").End(xlUp))
    .Value = Evaluate(Replace("INDEX(RIGHT(~,LEN(~)-FIND("" "",~))&"" ""&LEFT(~,FIND("" "",~)-1),)", "~", .Address))
End With
End Sub



1



Susliks

09.12.2011, 15:09

3

Спасибо огромное!
Через макрос получается то что мне надо

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как поменять поля страницы в word
  • Как поменять поля в excel
  • Как поменять положение рисунка в word
  • Как поменять положение картинки в word
  • Как поменять подписи в диаграмме excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии