To remove blank rows in Excel safely: select the empty rows first, then delete whole rows, rather than deleting or sorting on a hunch. The fastest select-first route is Home > Editing > Find & Select > Go To > Special, choose Blanks to select every empty cell, then Home > Cells > Delete > Delete Sheet Rows. The one rule that keeps your data intact is that Delete Sheet Rows removes the whole row of any cell it has selected, so point Go To Special at a single column that is filled for every real row, not the entire table.
This guide covers three ways to clear blank rows and the one mistake that turns any of them into lost data: the Go To Special and Delete Sheet Rows method with the key-column trick that makes it safe, filtering a column for (Blanks), and sorting the empty rows into one block at the bottom. It also draws the line between a fully blank row and a row that is only blank in one column, because that difference is what decides whether a bulk delete is safe.
How do I remove blank rows with Go To Special?
Go To Special selects cells by type, and one of its types is empty cells, so it can pick out every blank in a range in a single step. Paired with Delete Sheet Rows, that clears blank rows without scrolling to find them by eye.
- Pick a key column. Select a column that holds a value on every real row, such as an ID, name, or date, and highlight its data cells rather than the whole table. This is what keeps the delete from reaching into rows that only have a gap.
- Open Go To Special. On the Home tab, in the Editing group, select Find & Select > Go To, then select Special. On Windows you can press Ctrl+G to open the same Go To box, then select Special.
- Choose Blanks. In the Go To Special box, select Blanks, then OK. Excel selects every empty cell inside the column you highlighted.
- Delete the rows. On the Home tab, in the Cells group, open the Delete drop-down and select Delete Sheet Rows. You can also right-click any one of the selected row numbers and select Delete. Either way, every row that had a blank in your key column is gone.
The reason the first step insists on one column is what happens when you skip it. Select the whole table and run the same Blanks selection, and Excel still marks every empty cell, but now that includes the gap in any row that is only partly filled. Delete Sheet Rows then deletes those rows too.
| A | B | C | |
|---|---|---|---|
| 1 | Name | Region | Amount |
| 2 | Ana | East | 120 |
| 3 | Ben | 90 | |
| 4 | |||
| 5 | Cara | South | 75 |
| A | B | C | |
|---|---|---|---|
| 1 | Name | Region | Amount |
| 2 | Ana | East | 120 |
| 3 | Ben | 90 | |
| 4 | |||
| 5 | Cara | South | 75 |
Why does Go To Special delete rows that still have data?
The trap is where two behaviors meet. Go To Special > Blanks selects every empty cell in whatever you highlighted, and Delete Sheet Rows deletes the entire row of every selected cell. So the moment the selection includes one empty cell in an otherwise full row, that whole row goes.
The grids above show it. With the whole table selected, Blanks grabs B3, the one empty Region cell in a real row, alongside the truly empty row 4, and Delete Sheet Rows removes both. Selecting only the Name column first means Blanks can only find the empty cell in that column, so it catches the empty row and leaves the partly filled one alone.
Two smaller cautions come with the delete:
- Choose Delete Sheet Rows, not Delete Cells with Shift cells up. Shifting cells up moves each column on its own and slides values into rows they do not belong to, which is the same row-integrity problem a careless sort causes, covered in the sort guide.
- Go To Special > Blanks finds only cells that are genuinely empty. A cell that looks blank but holds a space, an apostrophe, or a formula that returns an empty string (
"") is not empty to Excel, so Blanks skips it, and a row that only looks blank will not be caught. If a row will not delete, check whether its “blank” cells actually hold something invisible.
A blank row is not the same as a blank cell
A fully blank row has nothing in any column, so deleting it loses nothing. A row with a blank in one column still holds real data in the others, so deleting it destroys that data. Bulk methods cannot tell the two apart on their own: they act on empty cells, and an empty cell might be a whole empty row or just a gap in a good row.
That is the thread running through all three methods here. Each one works best when you narrow it to a column that is filled for every row you want to keep, so the tool only ever acts on rows that are empty where it counts. When a table has no single always-filled column, it pays to look at the block before you delete it rather than trusting a bulk selection.
How do I remove blank rows with a filter?
If the blanks fall in one column, a filter can gather them so you delete only what you see. Turn the filter on, then use the column dropdown to show only the blank rows:
- Select a cell in the data and turn the filter on with Data > Filter. The filter guide covers this in full.
- Select the arrow on a key column, clear (Select All), then check only (Blanks) at the bottom of the list, and select OK. Only the rows with an empty cell in that column stay in view.
- Select the row numbers of those visible rows, right-click, and select Delete, which removes only the rows on screen. Then clear the filter to bring every other row back.
Because a filter hides rows in place rather than moving them, the rows you delete are the ones on screen and nothing else, so filtering a key column for (Blanks) is a controlled way to remove empty rows. If a column holds no empty cells, (Blanks) does not appear in its list at all.
How do I move blank rows to the bottom by sorting?
A sort can push the empty rows into one block so you delete them in a single go, but it reorders everything else along the way, so it needs a safeguard. Select a cell in the data and sort on the key column with Data > Sort & Filter > Sort A to Z. In Excel, empty cells sort after filled ones, so the blank rows gather at the bottom, below the data, where you can select and delete them as one block.
The cost is that the sort rearranges every other row as well. If the original order matters, add a plain numbering column (1, 2, 3, and so on) before you sort, then sort back on that column afterward to restore the order. The sort guide walks through both the sort itself and the row-integrity warning that keeps columns from detaching from their rows.
The short version
- Safest method: select a key column that is filled for every real row, then Home > Editing > Find & Select > Go To > Special > Blanks, then Home > Cells > Delete > Delete Sheet Rows.
- The trap: Delete Sheet Rows removes the whole row of any selected cell, so selecting the whole table deletes rows that are only blank in one column. Narrow the selection to a key column.
- Blank row vs blank cell: a fully empty row loses nothing when deleted, but a row with a gap in one column still holds data, so aim any bulk delete at genuinely empty rows.
- Filter route: Data > Filter, open a column arrow, check only (Blanks), delete the visible rows, then clear the filter.
- Sort route: sort the key column so the empty rows drop to the bottom, then delete that block; add a numbering column first if the order matters.
- Removing empty rows is one cleaning pass; clearing repeated rows is the next, over in remove duplicates.