How to swap or switch text around within one cell in Excel?
In many cases, you may need to swap text around in a single cell for some purposes. For example, a cell contains a name Smith John, you need to swap the texts inside the cell to change the name to John Smith. This article lists some methods to solve this problem.
Recommended Productivity Tools for Excel
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
The below formula can help you to swap texts around within one cell in Excel. Please do as follows.
1. Select a blank cell to locate the swapped data, enter formula =RIGHT(A2,LEN(A2)-FIND(" ",A2)) & " " & LEFT(A2,FIND(" ",A2)-1) into the Formula Bar, and then press the Enter key. See screenshot:
2. Select the result cell, then drag the Fill Handle down to get the rest results as below screenshot shown.
Then you can see the first name and last name are swapped in specified cells.
Note: This method can only swap two texts within one cell which are separated by space.
As above example shown, you can also run the following VBA script to swap or switch text around within one cell.
1. Press the Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy and paste the below VBA code into the Module window.
VBA code: Swap or switch text around within one cell
Sub res() Dim xRg As Range, yRg As Range Dim LastRow As Long, i As Long Dim strTxt As String, strFs As String Dim strLs As String, N As Integer On Error Resume Next Set xRg = Application.InputBox(Prompt:="Range Selection:", _ Title:="Kutools for excel", Type:=8) For Each yRg In xRg On Error Resume Next strTxt = yRg.Value Trim (strTxt) N = InStr(strTxt, " ") strLs = Left(strTxt, N - 1) strFs = Right(strTxt, Len(strTxt) - N) yRg.Value = strFs & " " & strLs Next End Sub
3. Press the F5 key to run the code. In the popping up Kutools for Excel dialog box, please select the range with data you need to swap, and then click the OK button. See screenshot:
Then you can see texts in the specified name cells are swapped immediately.
Note: This code can also swap two words within one cell which are separated by space correctly.
This section recommends the Reverse Text Order utility of Kutools for Excel to help you easily solve this problem. Please do as follows.
1. Select the range contains the texts you need to swap, then click Kutools > Text > Reverse Text Order. See screenshot:
2. In the Reverse Text dialog box, specify a separator you will swap the texts based on in the Separator section. In this case, I select the Space option. And then click the OK button.
Then you can see data in selected cells are swapped in same cell by specified separator immediately.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now!