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