Flip a Column of Data Vertically
This post will guide you how to flip a column of data vertically preserving the original formatting and formulas in Excel. How do I reverse a column of data order in a column arranged alphabetically or from largest to smallest. How to use the Excel Sort feature to reverse the data order? Or how to use a VBA macro code to flip a column of data vertically in Excel.
If you want to flip or reverse a column of data that is already in numeric or alphabetical order, and you can easily to flip it with Sort feature. And if the column data is not sorted and you can try to create a helper column to achieve the result.
Table of Contents
Flip a Column of Data with Sort Feature
#1 select the column that you want to flip, right click on it, and select Insert to add helper column. Choose Entire column radio button. Then insert 1,2,3,4,…in helper column.
#2 select your helper column, then go to the Data tab, click the Sort Largest to Smallest command under Sort&Filter group.
#3 you will see that the numbers in help column will be sorted and the data of column also be reversed. Now you can delete the help column. Or you can also hide the help column in case you want to restore the data of column.
#4 let’s see the result
Flip a Column of Data Vertically with Function
You can also create an excel formula based on the INDEX function and the ROWS function to flip a column of data vertically. Type the following formula in the formula box of cell C1, then press enter key.
=INDEX($B$1:$B$4,ROWS(B1:$B$4))
Let’s see the result as below:
Flip a Column of Data Vertically with VBA Macro
You can also write an Excel VBA Macro to flip a column of data vertically quickly. Just do the following steps:
#1 click on “Visual Basic” command under DEVELOPER Tab.
#2 then the “Visual Basic Editor” window will appear.
#3 click “Insert” >”Module” to create a new module.
#4 paste the below VBA code into the code window. Then clicking “Save” button.
Sub FlipCol() Dim R As Range Dim W As Range Dim A As Variant Dim i As Integer Dim j As Integer Dim k As Integer On Error Resume Next titleS = "Flip data in a column" Set W = Application.Selection Set W = Application.InputBox("select a range that you want to reverse", titleS, W.Address, Type:=8) A = W.Formula For j = 1 To UBound(A, 2) k = UBound(A, 1) For i = 1 To UBound(A, 1) / 2 xTemp = A(i, j) A(i, j) = A(k, j) A(k, j) = xTemp k = k  1 Next Next W.Formula = A End Sub
#5 back to the current worksheet, then run the above excel macro. Click Run button.
#6 select a range that you want to flip.
#7 click OK button, then check the result.
Related Functions

Excel INDEX function
The Excel INDEX function returns a value from a table based on the index (row number and column number)The INDEX function is a buildin function in Microsoft Excel and it is categorized as a Lookup and Reference Function.The syntax of the INDEX function is as below:= INDEX (array, row_num,[column_num])… 
Excel ROWS function
The Excel ROWS function returns the number of rows in a cell reference.The syntax of the ROWS function is as below:= ROWS(array)…