Note: The other languages of the website are Google-translated. Back to English

Как изменить порядок текстовой строки или слов в Excel?

Как изменить порядок текстовой строки или слов в 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Автора Обратный порядок текста может помочь вам быстро и удобно перевернуть различные текстовые строки. Он может выполнять следующие операции:

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

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

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней

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

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

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

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

 Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


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

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

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

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

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

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

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

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


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

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

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

Как в 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% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно

 

Сортировать комментарии по
Комментарии (19)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Это абсурд. Так много кода для выполнения простой задачи по обращению строки? :o В модуль нужно добавить только 3-строчную функцию, как показано ниже: Функция strrev(strValue As String) strrev = StrReverse(strValue) Конечная функция Теперь формулу =strrev(A1) можно использовать в листе Excel. Это работает, поскольку StrReverse является встроенной функцией VBA. :D
Этот комментарий был сведен к минимуму модератором на сайте
Еще один... Функция InvertText(str As String) 'Фаси Мухаммед Dim m As Integer For m = Len(str) To 1 Step -1 countRepp = countRepp & Mid(str, m, 1) Next m End Function
Этот комментарий был сведен к минимуму модератором на сайте
Извините за небольшое редактирование. Функция InvertText(str As String) 'По Фасиху Мухаммаду Dim curr As String Dim m As Integer For m = Len(str) To 1 Step -1 countRepp = countRepp & Mid(str, m, 1) Next m Inverttext Конечная функция
Этот комментарий был сведен к минимуму модератором на сайте
Привет всем, я пробовал эту функцию: Sub ReverseText() 'Updateby20131128 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8) Для каждого Rng в WorkRng xValue = Rng.Value xLen = VBA.Len(xValue) xOut = "" Для i = 1 To xLen getChar = VBA.Right(xValue, 1) xValue = VBA.Left(xValue, xLen - i) xOut = xOut & getChar Next Rng.Value = xOut Next End Sub, но когда я запустил его с числами, он удалил все нули. Вы знаете функцию, которая не удаляет нули? Спасибо!!
Этот комментарий был сведен к минимуму модератором на сайте
Используйте код функции Vineet в качестве модуля, а при использовании формулы используйте этот прием: =strrev(""&D9&""), где D9 содержит число. Код Vineet VBA для этой функции: Function strrev(strValue As String) strrev = StrReverse(strValue) End Function
Этот комментарий был сведен к минимуму модератором на сайте
Используйте это... поместите свой ввод в A1, тогда вывод будет в B1 Sub zzzText() Dim xlen, xvalue, xoutput xlen = VBA.Len(Range("A1")) xvalue = Range("A1").Value xoutput = "" Для i = 1 To xlen GetText = VBA.Right(xvalue, 1) xvalue = VBA.Left(xvalue, xlen - i) xoutput = xoutput & GetText Next i Range("B1").Value = xoutput Range( "C1"). Значение = xlen Range ("D1"). Значение = xvalue End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Я заметил, что многие люди заново изобретают колесо, выполняя команды «влево», «вправо». VB6 поддерживает обратную строку. СИНТАКСИС: strRevese("String") вот и все, что вам нужно & X).Select stCellValue = Range("A" & X).Value stCellValue = StrReverse(stCellValue) Range("A" & X).Value = stCellValue Next i Еще одним изящным трюком будет предварительное заполнение нулями, если значения меньше 1, но должно быть в формате времени, таком как "5:10:10", а не "01:24:10" intMins = 1 stMinutes = right("24" & intMins, 1) result = 00
Этот комментарий был сведен к минимуму модератором на сайте
спасибо, это действительно полезно для меня :roll:
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я хотел бы изменить даты. С 20 по 11 Поможете? Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Для дат все, что вам нужно сделать, это изменить формат ячейки на нужный формат. Щелкните правой кнопкой мыши ячейку, которую вы хотите изменить, и выберите формат ячейки. Выберите «Дата» в разделе «Категория» и измените местоположение, где бы вы ни находились, на США, Чехию или другую страну, которая может использовать интересующий вас формат. Затем выберите тот, который соответствует вашим требованиям.
Этот комментарий был сведен к минимуму модератором на сайте
привет всем, у меня нет Kutools, чтобы изменить символ текста, если у кого-то есть эти инструменты и вы хотите мне помочь, пришлите мне письмо, чтобы отправить вам мой файл для обратного. мой электронный адрес: [b][b]mohanned1@windowslive.com[/b][/b] с уважением,
Этот комментарий был сведен к минимуму модератором на сайте
пожалуйста, ознакомьтесь с инструкциями, предоставленными на веб-сайте расширенного офиса, после поиска в Google по обратной строке в Excel.
Этот комментарий был сведен к минимуму модератором на сайте
Можно перевернуть текст с помощью формулы, она повторяется и ограничена тем, насколько далеко вы готовы зайти, и зависит от количества символов, которые Excel позволяет использовать в строке формул. Максимальная длина текста будет 30 символов и находится в ячейке A1. Ячейка B1 будет читать: = TRIM(MID(LEFT(A1&REPT(" ",31),31),30,1)&MID(LEFT(A1&REPT(" ",31),31),29,1)&MID(LEFT( A1&ПОВТОР(" ",31),31),28,1)&СРЕДНИЙ(ЛЕВЫЙ(A1&ПОВТОР(" ",31),31),27,1)&СРЕДНИЙ(ЛЕВЫЙ(A1&ПОВТОР(" ",31),31),26,1 ,1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),25,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),24,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ", 31),23,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),22,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),21,1),1)&СРЕДНИЙ( ЛЕВЫЙ(A31&ПОВТОР(" ",31),20,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),19,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),18,1) ,1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),17,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),16,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),15,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),14,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),13,1),1) &СРЕДНЯЯ(ЛЕВАЯ(A31&ПОВТОР(" ",31),12,1),1)&СРЕДНЯЯ(ЛЕВА(A31&ПОВТОР(" ",31),11,1),1)&СРЕДНЯЯ(ЛЕВАЯ(A31&ПОВТОР(" ",31), 10,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),9,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",31),8,1),1)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОРН. (" ",31),7,1),1)&СРЕДН(ЛЕВО(A31&ПОВТОР(" ",31),6,1),1)&СРЕДН(ЛЕВО(A31&ПОВТОР(" ",31),5,1),1, 31)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",4,1),1),31)&СРЕДНИЙ(ЛЕВЫЙ(A31&ПОВТОР(" ",3,1),1),31)&M ID(LEFT(A31&REPT(" ",2,1),1),31)&MID(LEFT(A31&REPT(" ",1,1),1),1)) Результат: A1: Дункан Салливан-Шоу B31: wahS -navilluS nacnuD В основном ваш текст в ячейке A1 становится длиной 1 символ, добавляя достаточно пробелов, чтобы включить это, и каждый символ читается по отдельности справа налево, пока вы не достигнете первого символа. Это приведет к тому, что ваш перевернутый текст будет содержать начальные пробелы, которые команда TRIM удалит для вас. Чтобы уменьшить или увеличить длину, вы должны удалить или добавить каждое утверждение. Число в инструкции REPT должно быть на XNUMX больше, чем максимальная длина, до которой вы работаете, и ваша первая инструкция MID начнется с максимальной длины, уменьшающейся до XNUMX.
Этот комментарий был сведен к минимуму модератором на сайте
Я обнаружил, что оригинальный Sub выдавал результаты с дополнительным знаком в конце всех выбранных ячеек. Поэтому я исправил эту часть. For i = UBound(strList) To 0 Шаг -1 Если i > 0, то xOut = xOut & strList(i) & Sigh Else xOut = xOut & strList(i) Next Rng.Value = xOut
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли запустить реверс при определенной длине символа (для пользовательской функции или кода VBA)? Например, переверните значения ячейки A1, начиная с количества символов, равного значению B1. Таким образом, если B1 составляет 10 символов, реверс начнется с символов 11+ в A1..
Этот комментарий был сведен к минимуму модератором на сайте
Большое тебе спасибо. Этот код очень хорошо помог моему другу
Этот комментарий был сведен к минимуму модератором на сайте
круто очень полезно спасибо что поделились подробностями
Этот комментарий был сведен к минимуму модератором на сайте
Это действительно большая помощь ... Большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Ik zoek een manier om een ​​heleboel woorden in 'rijm-fabetische volgorde' te zetten. Dus de laatste letters van het woord moeten in alfabetische volgorde. Iemand enig idee? ВрГр Аманда
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL