Guides

How to Reverse Text in Excel: Letters, Words, and Lists

Learn Excel formulas to reverse characters, reverse words without scrambling them, and reverse list order while handling blanks, spaces, numbers, and leading zeros.

By Text Reverser TeamOctober 21, 20269 min read

If you need to reverse text in Excel, first identify the result you want: turn INV-2048 into 8402-VNI, reverse the words in a sentence without reversing the letters inside each word, or show the last item in a list first while keeping the original data intact. These are three different operations, and Excel needs a different formula pattern for each one.

This guide is for everyday spreadsheet work: cleaning imported text, preparing a report, checking a code, or making a quick transformation before pasting the result elsewhere. It uses formulas rather than macros. The examples assume the source text is in A2; change that reference to match your sheet.

First decide what “reverse” means

There are three useful definitions:

  1. Reverse characters: Excel becomes lecxE. Every character, including spaces and punctuation, changes position.
  2. Reverse words: Excel makes lists becomes lists makes Excel. The letters within each word stay in their original order.
  3. Reverse list order: a vertical list such as Red, Green, Blue becomes Blue, Green, Red. This is not alphabetical sorting; it is positional reversal.

That distinction prevents a common mistake. A formula that reverses characters cannot produce a readable sentence in reverse word order, and sorting a list from Z to A is not the same as showing its final row first.

Reverse every character in one cell (Microsoft 365 and Excel 2021/2024)

For current Excel versions with dynamic arrays, enter this in (for example) B2:

=IF(A2="","",TEXTJOIN("",TRUE,MID(A2,SEQUENCE(LEN(A2),,LEN(A2),-1),1)))

If A2 contains Order 42!, the result is !24 redrO. The formula works as follows:

  • LEN(A2) counts the characters.
  • SEQUENCE(LEN(A2),,LEN(A2),-1) produces positions from the last character down to the first: for a five-character value, 5,4,3,2,1.
  • MID(A2, ..., 1) extracts one character at each position.
  • TEXTJOIN("",TRUE,...) joins those one-character results with no separator.

Microsoft documents SEQUENCE as a function that generates a sequential array, and MID as a function that extracts a specified number of characters from a specified starting position. TEXTJOIN then combines the resulting array using the delimiter supplied—in this case, an empty string.

The outer IF is deliberate. It returns a blank-looking result for an empty source instead of asking SEQUENCE to create a zero-length array. Copy the formula down beside a column of source values; each row will refer to its own A cell.

Spaces, punctuation, and case

Character reversal does not clean or interpret the text. A leading space becomes a trailing space, punctuation moves like any other character, and uppercase/lowercase remains attached to its original character. If A2 is North / South, the result is htuoS / htroN.

That can be exactly what you need for a character-level transformation, but it is usually not what you want for a sentence. For sentence work, use the word formula below.

Reverse words without scrambling their letters (Microsoft 365 and Excel 2024)

TEXTSPLIT is available in Microsoft 365 and Excel 2024, including their Mac editions, according to Microsoft’s documentation. It is not a formula to assume in Excel 2019, Excel 2021, or older perpetual versions. With a sentence in A2, use:

=IF(TRIM(A2)="","",LET(words,TEXTSPLIT(TRIM(A2)," ",,TRUE),TEXTJOIN(" ",TRUE,SORTBY(words,SEQUENCE(,COLUMNS(words)),-1))))

For The quick brown fox, the result is fox brown quick The.

Here is the logic:

  • TRIM(A2) removes leading and trailing spaces and reduces runs of ordinary spaces to one. This makes the result predictable for normal sentences.
  • TEXTSPLIT(...," ",,TRUE) splits at spaces and sets ignore_empty to TRUE, so consecutive delimiters do not create empty words.
  • SEQUENCE(,COLUMNS(words)) creates an ascending position key across the spilled row: 1,2,3,4.
  • SORTBY(words, ..., -1) puts those positions in descending order. It reverses positions, not letters and not alphabetical values.
  • TEXTJOIN(" ",TRUE,...) joins the reversed words with one ordinary space.

Microsoft describes TEXTSPLIT as the formula equivalent of splitting text into columns or rows, and notes that it is the inverse of TEXTJOIN. Microsoft’s SORTBY documentation explains that the function sorts an array by a corresponding array; using a descending position key is why this formula reverses order rather than sorting words from Z to A.

Punctuation stays with the word it touches. Wait, stop! becomes stop! Wait,; Excel is not a grammar parser. If your data uses tabs, commas, or line breaks between words, replace the delimiter or use a delimiter array. For example, TEXTSPLIT(A2,{" ",CHAR(9)},,TRUE) treats an ordinary space and a tab as separators. Multiple delimiter types can produce more complicated cleanup needs, so inspect the source before applying a formula.

Do you want to preserve multiple spaces?

The formula above intentionally normalizes spacing. If two spaces carry meaning—such as fixed-width data—do not use TRIM and do not use ignore_empty=TRUE; those choices discard evidence of the original separators. Conversely, if your goal is a clean sentence for display, normalization is normally helpful.

A word is whatever appears between your chosen delimiter characters. Hyphenated text such as well-known stays one token when the delimiter is a space. To reverse well-known phrases into phrases well-known, that is ideal; splitting on hyphens would be a different request.

Reverse a vertical list, not its spelling

Suppose A2:A5 contains:

Alpha
Beta
Gamma
Delta

To return the same rows in reverse order in Microsoft 365, Excel 2021, or Excel 2024, enter:

=SORTBY(IF(A2:A5="","",A2:A5),SEQUENCE(ROWS(A2:A5)),-1)

The spill result is Delta, Gamma, Beta, Alpha. The values are not sorted alphabetically. The IF wrapper displays empty source cells as empty strings rather than zeros. SORTBY receives that array and a simple position sequence as its sort key; descending order changes only the row positions.

If the range may contain blank rows and you want to keep those blanks as part of the layout, use the fixed-range formula above. A blank at the top of A2:A5 will appear at the bottom after reversal. If instead blank rows mean “no record” and should be removed, filter first:

=LET(data,FILTER(A2:A100,A2:A100<>""),SORTBY(data,SEQUENCE(ROWS(data)),-1))

If every source cell is empty, this FILTER example returns #CALC! because there are no matching rows; check for nonempty data before using it. Removing blanks changes the list’s length; preserving them reverses a fixed block. Do not use FILTER casually if blank rows are placeholders that must remain aligned with another column.

For a multi-column table, reverse complete records by supplying the whole rectangle as the array and a row-sized key:

=SORTBY(IF(A2:C10="","",A2:C10),SEQUENCE(ROWS(A2:C10)),-1)

Every row moves together, so a person’s name does not become paired with another person’s date. Keep headers outside the selected range, or place the header in a separate row above the formula.

Older Excel: practical fallbacks

The modern formulas are shorter because dynamic arrays can create and spill a variable-sized result. In older Excel, use a helper-column approach when possible; it is easier to audit than a very long formula.

Character reversal with a legacy array formula

If your Excel has TEXTJOIN but not dynamic arrays (for example, Excel 2019), this formula can reverse characters:

=IF(A2="","",TEXTJOIN("",TRUE,IFERROR(MID(A2,LEN(A2)-ROW(INDIRECT("1:"&LEN(A2)))+1,1),"")))

In pre-dynamic-array Excel, confirm it with Ctrl+Shift+Enter rather than Enter. ROW(INDIRECT("1:"&LEN(A2))) supplies positions 1 through the length, and subtracting them from the length plus one counts backward. INDIRECT is volatile, so a helper column or a newer Excel version is preferable for large workbooks. This is a fallback, not a claim that every old Excel edition supports TEXTJOIN; Microsoft lists TEXTJOIN for Office 2019 and newer supported editions.

For very old versions without TEXTJOIN, use helper cells: put one character per cell with MID, fill across, then concatenate the helper cells in reverse order. The exact number of helper columns must cover the longest input, and a formula such as CONCATENATE or the & operator can join them. This is less elegant but transparent.

List reversal with INDEX

A broadly compatible method uses INDEX. If the original list is A2:A5, enter this in B2 and fill down four rows:

=IF(INDEX($A$2:$A$5,ROWS($A$2:$A$5)-ROWS($A$2:A2)+1)="","",INDEX($A$2:$A$5,ROWS($A$2:$A$5)-ROWS($A$2:A2)+1))

The first row asks for item 4, the next asks for item 3, and so on. The IF wrapper displays empty source cells as empty strings instead of zeros; the formula does not alphabetize. Microsoft’s INDEX reference describes the function as returning a value from a specified row and column in a range. For a multi-column table, apply the same row calculation to each source column, or use a helper position column to sort complete rows together. Do not reverse a name column independently of its matching dates or amounts.

Reverse words in older versions

There is no equally clean, universally compatible one-cell formula for arbitrary word counts in old Excel. A dependable fallback is:

  1. Copy the sentence to a working area and use Text to Columns with a space delimiter.
  2. Put a position number above or below each resulting word.
  3. Use INDEX to retrieve the last word first, then fill the formula across or down.
  4. Join the outputs with spaces using & or CONCATENATE.

This also gives you a chance to decide how repeated spaces and punctuation should be handled. It is often safer than forcing a legacy array formula into production data.

Numbers, leading zeros, and text identity

Excel may store 00127 as the number 127 unless the value was entered or imported as text. A character-reversal formula can only reverse the value Excel actually stores. To preserve leading zeros, format the source as Text before entry, import the column as text, or convert with an explicit format such as TEXT(B2,"00000") before reversing. Changing the cell format to Text after entry does not restore zeros already lost. A custom number format may display padding without storing it; TEXT creates an actual padded text value. Be careful: converting a numeric cell to text changes how later calculations behave.

For a list of numeric-looking IDs, use the same principle. If 001, 010, and 100 are identifiers, not quantities, preserve them as text; otherwise a reversed list may display values without their intended padding. The list-order formula itself does not alphabetize or numerically sort anything—it simply moves records.

Unicode and character limitations

“Character” is not always the same as a visible symbol. Excel’s text behavior has compatibility details for Unicode surrogate pairs, and variation selectors used with some emoji can still be counted separately. Microsoft notes this on its MID documentation. As a result, reversing emoji, some historic scripts, or combined emoji sequences may split a visual symbol or put a modifier in an unexpected position.

For ordinary Latin letters, digits, spaces, and punctuation, the character formula is straightforward. For international text or emoji-heavy data, treat the output as a technical transformation rather than guaranteed human-language grapheme reversal. Test representative values from your own dataset, and keep the original column.

Troubleshooting checklist

  • Excel rejects the formula: some regional settings use semicolons instead of commas as argument separators. Use your installation’s separator, without changing commas inside quoted text.
  • #NAME? appears: your Excel build may not include TEXTSPLIT, SORTBY, SEQUENCE, or LET. Check the function availability for your edition and use a fallback.
  • #SPILL! appears: clear cells in the intended spill area. Dynamic-array formulas need room to return their results.
  • Unexpected extra spaces: use the word formula’s TRIM and ignore_empty=TRUE, unless preserving spacing is required.
  • Blank rows disappear: you used FILTER; use the fixed-range SORTBY formula if blanks are meaningful.
  • The result is alphabetical: check that your sort key is SEQUENCE(...) and the sort order is -1, not the text array itself.
  • A code lost zeros: restore the source as text or apply a deliberate text conversion before reversing.

For a quick, no-formula transformation outside a workbook, you can also use Text Reverser. If your goal is specifically to reverse words in a sentence while keeping each word’s letters intact, see this related explanation: How to Reverse Words in a Sentence Without Scrambling the Letters. In Excel, however, formulas are useful when the source data changes and the result needs to update automatically.

Final takeaway

Use MID plus a backward SEQUENCE when every character should move. Use TEXTSPLIT, a descending positional key, and TEXTJOIN when words should change places but keep their spelling. Use SORTBY or INDEX with row positions when an entire list or table should run bottom-to-top. Decide how blanks, spaces, numeric formatting, and Unicode should behave before copying a formula through a large sheet—and keep the original data available for comparison.

Try the Text Reverser tool

Reverse text, words, or letters instantly — free and entirely in your browser.

Open the tool

Permalink: https://www.textreverser.me/blog/how-to-reverse-text-in-excel-letters-words-and-lists