Are there any built-in Excel functions that will reverse a string?
Asked
Active
Viewed 9.2k times
4 Answers
68
The current accepted answer is a poor way to reverse a string, especially when there is one built into VBA, use the following code instead (should act the same but run a LOT faster):
Function Reverse(str As String) As String
Reverse = StrReverse(Trim(str))
End Function
Grant Peters
- 781
- 5
- 4
9
There is no built-in function that I know of, but you can create your own custom function.
First - create a new module:
- Get into VBA (Press Alt+F11)
- Insert a new module (Insert > Module)
Second - paste the following function in your new module (Reference):
Function Reverse(Text As String) As String
Dim i As Integer
Dim StrNew As String
Dim strOld As String
strOld = Trim(Text)
For i = 1 To Len(strOld)
StrNew = Mid(strOld, i, 1) & StrNew
Next i
Reverse = StrNew
End Function
Now you should be able to use the Reverse function in your spreadsheet
quickcel
- 4,919
4
I found an alternative that doesn't require VBA at https://exceljet.net/formula/reverse-text-string
The formula is
=TEXTJOIN("",1,MID(B5,ABS(ROW(INDIRECT("1:"&LEN(B5)))-(LEN(B5)+1)),1))
where B5 is the input cell.
Martin
- 2,865
2
You can use this LET formula:
=LET( string, D6,
L, LEN( string ),
CONCAT( MID( string, SEQUENCE( 1, L, L, -1), 1) ) )
It breaks up the string into an array of 1-character cells and then recombines them back into a concatenated string in reverse order.
mark fitzpatrick
- 533