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 for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下宏粘貼到 模塊窗口。

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

3。 然後保存並關閉此代碼,返回工作表,並輸入以下公式: = reversestr(A2) 放入空白單元格以放入結果,請參見屏幕截圖:

4。 然後向下拖動填充手柄以復制此公式,單元格中的文本立即得到確認,請參見屏幕截圖:


箭頭藍色右氣泡 反向單詞順序由特定分隔符使用VBA代碼分隔

如果您有一個用逗號分隔的單元格列表,例如“老師,醫生,學生,工人,司機”,而您想要顛倒這樣的單詞“ order”駕駛,工人,學生,醫生,老師”。 您也可以使用Follow VBA來解決它。

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

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快速輕鬆地反轉文本字符串或單詞順序

Excel的Kutools反向文字順序 可以幫助您快速方便地反轉各種文本字符串。 它可以執行以下操作:

從右向左反轉文本,例如“點擊一些單詞“要”斯德羅·埃莫斯·帕特“;

反向文本由空格或其他特定字符分隔,例如“蘋果橙葡萄“要”葡萄橙蘋果“;

Excel的Kutools : 帶有300多個便捷的Excel加載項,可以在30天內免費試用

從右到左反轉文本:

1。 選擇要撤消的範圍。

2。 點擊 庫工具 > 文本工具 > 反向文字順序,請參見屏幕截圖:

3。 在 反向文本 對話框,從中選擇適當的選項 分離器 與單元格值相對應。 您可以預覽 預覽窗格。 看截圖:

 立即下載和免費試用Excel的Kutools!


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

此功能還可以幫助您反轉由特定字符分隔的文本字符串。

1. 選擇單元格,然後單擊以應用此實用程序 庫工具 > 文本 > 反向文字順序.

2.反向文本 對話框中,選擇分隔符,該分隔符用於分隔要基於其反轉單詞的單元格值,請參見屏幕截圖:

3。 然後點擊 Ok or 登記,單元格中的單詞立即被反轉了。 查看屏幕截圖:

備註:檢查 跳過非文字 單元格,以防止您反轉所選範圍內的數字。

要了解有關此功能的更多信息,請訪問 反向文字順序.

立即下載和免費試用Excel的Kutools!


箭頭藍色右氣泡 演示:使用Kutools for Excel基於特定分隔符的反向文本字符串

Excel的Kutools:具有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保護