Arte SheetsLearn. Try. Understand.

Lookup & Reference

Reverse the order of a list or column dynamically

Flip a chronological log upside down without sorting alphabetically by pairing SORTBY with a descending SEQUENCE index or INDEX/ROWS.

Invert row position—not alphabetical order

SORT(A2:A5, 1, -1) sorts text Z-to-A rather than reversing the original top-to-bottom entry order.

Generating row numbers 1..N with SEQUENCE(ROWS(A2:A5)) and passing sort_order = -1 into SORTBY(A2:A5, SEQUENCE(ROWS(A2:A5)), -1) flips row N to row 1, row N-1 to row 2, and so on regardless of text or duplicate values.

Original RowStage (A)SEQUENCE IndexReversed Output
1Draft1Publish
2Review2Approve
3Approve3Review
4Publish4Draft

Dynamic array SORTBY reverse and classic INDEX reverse

Wrap in TEXTJOIN or INDEX(..., k, 1) when summarizing or plucking specific reversed slots.

=TEXTJOIN(" -> ", TRUE, SORTBY(A2:A5, SEQUENCE(ROWS(A2:A5)), -1))

Classic row-by-row INDEX + ROWS formula

In non-spill sheets, INDEX($A$2:$A$5, ROWS($A$2:$A$5) - (ROW(A2) - ROW($A$2))) pulls from the bottom upward as you copy down.

=INDEX($A$2:$A$5, ROWS($A$2:$A$5) - (ROW(A2) - ROW($A$2)))

Inputs and interpretation

The demonstrated range has four populated rows. Copy the scalar INDEX formula exactly four rows into a separate output column; beyond that its row index reaches zero, which has different array semantics in Excel. For spilled arrays keep the destination clear. Blank cells may coerce to zero in array outputs, while TEXTJOIN ignores empty strings; define blank handling before adapting this to sparse data.

Try the example

Use the original values or change them to test your understanding.

Further reading