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.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
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!