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

如何在Excel中反转文本字符串或单词顺序?

使用Excel工作表时,如何在Excel中反转文本字符串或单词顺序? 例如,您想将“Excel是对我们有用的工具“要”su lof lufesu a si lexxE”。 有时您可能会颠倒顺序,例如“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代码分隔

如果您有一个用逗号分隔的单元格列表,例如“老师,医生,学生,工人,司机”,而您想要颠倒诸如“驾驶,工人,学生,医生,老师”。 您也可以使用Follow 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。 在 反向文字 对话框,从中选择适当的选项 分隔器 与单元格值相对应。 您可以预览 预览窗格。 看截图:

 立即下载和免费试用Excel的Kutools!


反向文本由空格或其他特定字符分隔:

此功能还可以帮助您反转由特定字符分隔的文本字符串。

1. 选择单元格,然后单击以应用此实用程序 库工具 > 文本 > 反向文字顺序.

2.反向文字 对话框中,选择分隔符,该分隔符用于分隔要根据其反转单词的单元格值,请参见屏幕截图:

3。 然后点击 Ok or 使用,单元格中的单词立即被反转了。 查看屏幕截图:

备注:检查 跳过非文字 单元格,以防止您反转所选范围内的数字。

要了解有关此功能的更多信息,请访问 反向文字顺序.

立即下载和免费试用Excel的Kutools!


箭头蓝色右气泡 演示:使用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中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部

 

按评论排序
注释 (19)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
这是荒谬的。 这么多代码来执行一个简单的反转字符串任务? :o 只需在模块中添加 3 行函数,如下所示: Function strrev(strValue As String) strrev = StrReverse(strValue) End Function 现在公式 =strrev(A1) 可以在 Excel 表中使用。 这是因为 StrReverse 是 VBA 的内置函数。 :D
该评论由网站上的主持人最小化
另一个... Function InvertText(str As String) 'By Faseeh Muhammad Dim m As Integer For m = Len(str) To 1 Step -1 countRepp = countRepp & Mid(str, m, 1) Next m End Function
该评论由网站上的主持人最小化
抱歉有点编辑 Function InvertText(str As String) 'By Faseeh Muhammad 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) 对于 WorkRng 中的每个 Rng xValue = Rng.Value xLen = VBA.Len(xValue) xOut = "" For 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 = "" For 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").Value = xlen Range("D1").Value = xvalue End Sub
该评论由网站上的主持人最小化
我注意到很多人通过执行左右命令来重新发明轮子,VB6 支持字符串反向 SYNTAX: strRevese("String") thats all you need Dim stCellValue, i For i = 1 To 5 Range("A" & X).Select stCellValue = Range("A" & X).Value stCellValue = StrReverse(stCellValue) Range("A" & X).Value = stCellValue Next i 另一个巧妙的技巧是预先填充零,如果值10 岁以下但需要采用时间格式,例如“10:01:24”而不是“10:1:24” intMins = 1 stMinutes = right("00" & intMins, 2) result = 01
该评论由网站上的主持人最小化
谢谢它对我真的很有用:roll:
该评论由网站上的主持人最小化
嗨,我想反转日期。 20/11/2015 至 2015/11/20 有帮助吗? 谢谢
该评论由网站上的主持人最小化
对于日期,您需要做的就是将单元格的格式更改为所需的格式。 右键单击要反转的单元格并选择格式单元格。 选择类别部分下的日期,然后将位置从您所在的任何地方更改为美国或捷克或其他可能使用您感兴趣的格式的国家/地区。然后选择符合您要求的格式。
该评论由网站上的主持人最小化
大家好,我没有 Kutools 来反转文本字符,如果有人有这个工具并想帮助我,请给我发电子邮件,将我的文件发送给你进行反转。 我的电子邮件地址是: [b][b]mohanned1@windowslive.com[/b][/b] 关于,
该评论由网站上的主持人最小化
请在 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&REPT(" ",31),31),28,1)&MID(左(A1&REPT(" ",31),31),27,1)&MID(LEFT(A1&REPT(" ",31),31),26,1 ,1)&MID(LEFT(A31&REPT(" ",31),25,1),1)&MID(LEFT(A31&REPT(" ",31),24,1),1)&MID(LEFT(A31&REPT(" ", 31),23,1),1)&MID(LEFT(A31&REPT(" ",31),22,1),1)&MID(LEFT(A31&REPT(" ",31),21,1),1)&MID( LEFT(A31&REPT(" ",31),20,1),1)&MID(LEFT(A31&REPT(" ",31),19,1),1)&MID(LEFT(A31&REPT(" ",31),18,1) ,1)&MID(LEFT(A31&REPT(" ",31),17,1),1)&MID(LEFT(A31&REPT(" ",31),16,1),1)&MID(LEFT(A31&REPT(" ",31),15,1),1)&MID(LEFT(A31&REPT(" ",31),14,1),1)&MID(LEFT(A31&REPT(" ",31),13,1),1) &MID(LEFT(A31&REPT(" ",31),12,1),1)&MID(LEFT(A31&REPT(" ",31),11,1),1)&MID(LEFT(A31&REPT(" ",31), 10,1),1)&MID(LEFT(A31&REPT(" ",31),9,1),1)&MID(LEFT(A31&REPT(" ",31),8,1),1)&MID(LEFT(A31&REPT) (" ",31),7,1),1)&MID(LEFT(A31&REPT(" ",31),6,1),1)&MID(LEFT(A31&REPT(" ",31),5,1),1, 31)&MID(LEFT(A31&REPT(" ",4,1),1),31)&MID(LEFT(A31&REPT(" ",3,1),1),31)&M ID(LEFT(A31&REPT(" ",2,1),1),31)&MID(LEFT(A31&REPT(" ",1,1),1),1)) 结果:A1:Duncan Sullivan-Shaw B31:wahS -navilluS nacnuD 基本上,通过添加足够的空格来启用此功能,单元格 A1 中的文本变为 1 个字符长,并且每个字符从右到左单独读取,直到到达第一个字符。 这将导致您的反转文本包含前导空格,TRIM 命令会为您删除这些空格。 要减少或增加长度,您将删除或添加每个语句。 REPT 语句中的数字应该比您正在处理的最大长度大 XNUMX,并且您的第一个 MID 语句将从最大长度开始,一直到 XNUMX。
该评论由网站上的主持人最小化
我发现原来的 Sub 在所有选定单元格的末尾给出了额外的叹息结果。 所以我修复了这部分。 For i = UBound(strList) To 0 Step -1 If i > 0 Then xOut = xOut & strList(i) & Sigh Else xOut = xOut & strList(i) Next Rng.Value = xOut
该评论由网站上的主持人最小化
是否可以在某个字符长度处开始反向(对于用户定义的函数或 VBA 代码)? 例如,在字符数等于 B1 值之后开始反转单元格 A1 值。 因此,如果 B1 是 10 个字符,则反向将从 A11 中的字符 1+ 开始。
该评论由网站上的主持人最小化
非常感谢你。 这段代码很好地帮助了我的朋友
该评论由网站上的主持人最小化
很棒 非常有帮助 感谢分享细节
该评论由网站上的主持人最小化
这真的是一个很大的帮助......非常感谢
该评论由网站上的主持人最小化
Ik zoek een manier om een heleboel woorden in 'rijm-fabetische volgorde' te zetten。 Dus de laatste 在 alfabetische volgorde 给 van het woord moeten 写信。 伊曼尼格 idee? VrGr 阿曼达
这里还没有评论
请用英文发表您的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护