# How to Flip Data Vertically in Excel (4 Quick Methods)

Suppose you have the following dataset:

### Method 1 – Combining INDEX and ROWS Functions to Flip Data Vertically in Excel

Steps:

• Make new columns for the newly flipped data.
• Type the following formula in the appropriate cell (E5 in this example):

`=INDEX(B\$5:B\$10,ROWS(B5:B\$10))`

• Press ENTER.

The value from the bottom cell in the column should now show in the top cell.

• Use the AutoFill tool to copy the formula to the remaining cells in the column, and then again to the next column as well.

### Method 2 – Applying Excel SORTBY and ROW Functions to Vertically Flip Data

Steps:

• Make new columns for the newly flipped data.
• Type the following formula in the appropriate cell (E5 in this example):

`=SORTBY(\$B\$5:\$C\$10,ROW(B5:B10),-1)`

• Press ENTER.

Note: The SORTBY function is only available in the Excel 365 (Office 365) or web versions.

### Method 3 – Vertically Flipping Data in Excel with Sort Feature

Steps:

• Select the appropriate cell range (B5 to B10)
• Select Sort & Filter from the Home Ribbon, then choose Sort Largest to Smallest.

• A warning message will pop up.
• Select Expand the selection if appropriate and click on Sort.

The results should be properly flipped.

## Method 4 – Using VBA to Flip Data Vertically in Excel

Steps:

• Go to the Developer Tab and select Visual Basic or press ALT+F11.

• The VBA editor will appear. Select Insert then Module to open a VBA Module.

• Type the following code in the VBA Module.
``````Sub FlipDataVertically()
Dim mn_Cell_Range As Range
Dim mn_Cell_Array, mn_Temp_Array As Variant
Dim a1, a2, a3 As Integer
On Error Resume Next
Set mn_Cell_Range = Application.InputBox("Select the Range" _
& " Without Header Row", "ExcelDemy", Type:=8)
mn_Cell_Array = mn_Cell_Range.Formula
Application.ScreenUpdating = False
For a2 = 1 To UBound(mn_Cell_Array, 2)
a3 = UBound(mn_Cell_Array, 1)
For a1 = 1 To UBound(mn_Cell_Array, 1) / 2
mn_Temp_Array = mn_Cell_Array(a1, a2)
mn_Cell_Array(a1, a2) = mn_Cell_Array(a3, a2)
mn_Cell_Array(a3, a2) = mn_Temp_Array
a3 = a3 - 1
Next
Next
mn_Cell_Range.Formula = mn_Cell_Array
Application.ScreenUpdating = True
End Sub``````

VBA Code Breakdown

• Name the Sub procedure (FlipDataVertically in this example).
• Define the variable types.
• Use the “On Error Resume Next” statement to ignore all the errors.
• Specify the working cell range using the InputBox method.
• For Next Loop is used to loop through the selected cell range.
• Run the code.
• Go back to the sheet and run the Macro.

• A message box will appear. Select the range to flip vertically.
• Click OK.

The results should be properly flipped.

### Related Articles

<< Go Back to Excel Reverse Order | Sort in Excel | Learn Excel

Get FREE Advanced Excel Exercises with Solutions!
Meraz Al Nahian

Md. Meraz Al Nahian has worked with the ExcelDemy project for over 1.5 years. He wrote 140+ articles for ExcelDemy. He also solved a lot of user problems and worked on dashboards. He is interested in data analysis, advanced Excel, statistics, and dashboards. He also likes to explore various Excel and VBA applications. He completed his graduation in Electrical & Electronic Engineering from Bangladesh University of Engineering & Technology (BUET). He enjoys exploring Excel-related features to gain efficiency... Read Full Bio

We will be happy to hear your thoughts

Advanced Excel Exercises with Solutions PDF