# How to Copy a Column in Excel Without Blank Cells Using Formulas

Do you need to **copy a column in Excel while skipping blank cells**? This can be easily accomplished using a simple formula. In this article, we’ll explain step-by-step how to use the Excel formula to copy a column without blanks, allowing you to **clean up your data quickly and efficiently**.

## Why Copy a Column Without Blanks in Excel?

There are a few key reasons you may want to copy an Excel column while omitting any blank cells:

- To create a
**condensed list**with only the cells that contain data - To
**prepare data for analysis**by removing empty rows - To
**improve the readability**of your spreadsheet - To
**save space**by eliminating unneeded blank cells

Copying a column without blanks allows you to streamline your data, making it easier to work with and analyze. This is especially useful when dealing with large datasets that may contain numerous blank cells scattered throughout. By eliminating these blanks, you can create a cleaner, more focused version of your data.

## The Excel Formula to Copy Column Without Blanks

Here is the formula to copy a column in Excel while skipping blank cells:

=IFERROR(INDEX(A:A,SMALL(IF(A:A<>””,ROW(A:A)),ROW(1:1))),””)

Let’s break this down:

**=IFERROR( )**– This function handles potential errors. If the rest of the formula returns an error, a blank “” is returned instead.**INDEX(A:A, )**– This returns a value from a specified row in column A. The row number is determined by the SMALL function.**SMALL(IF(A:A<>””,ROW(A:A)),ROW(1:1))**– This finds the row number of the nth non-blank cell in column A, where n is the row of the formula.**IF(A:A<>””,ROW(A:A))**creates an array of the row numbers of non-blank cells in column A.**ROW(1:1)**returns the row number of the cell containing the formula.**SMALL( )**then returns the nth smallest value from the array, effectively giving the row number of the nth non-blank cell.

Here’s a visual of how this formula works:

Original Column A | Formula Results |
---|---|

Apple | Apple |

Banana | |

Banana | Cherry |

Cherry | Date |

Date |

The formula **copies the values from column A while leaving out any blank cells**. It does this by looking up the nth non-blank value from column A, where n is the current row of the results.

### How the Formula Works

Let’s take a closer look at how this formula operates:

- The
**IF(A:A<>””,ROW(A:A))**part checks each cell in column A to see if it’s not blank (< > “”). If a cell is not blank, the IF function returns the row number of that cell using the ROW function. If a cell is blank, the IF function returns FALSE. - This creates an array of row numbers for non-blank cells and FALSE values for blank cells. For example, if column A looks like this: Column A Apple Banana Cherry Date The array would be {1;FALSE;3;4;FALSE;6}.
- The
**SMALL( )**function then looks at this array and the**ROW(1:1)**part. ROW(1:1) returns the row number of the cell containing the formula. **SMALL( )**finds the nth smallest value in the array, where n is the row number from ROW(1:1). So in the first row of the results, it will find the 1st row number in the array (1, corresponding to “Apple”). In the second row of the results, it will find the 2nd row number in the array (3, corresponding to “Banana”), and so on.- The
**INDEX(A:A, )**function then uses the row number returned by SMALL( ) to look up the corresponding value in column A. - Finally, the
**IFERROR( )**function checks if any of these operations resulted in an error. If so, it returns a blank “”. This prevents errors from appearing in your results if there are not enough non-blank values in column A to fill the results.

This complex interaction of functions allows the formula to dynamically look up the nth non-blank value from column A for each row of the results, effectively copying the column without any blanks.

## How to Use the Copy Column Without Blanks Formula

Here’s how to put this formula into practice in your Excel spreadsheet:

**Select the cell**where you want the copied column without blanks to start (e.g. cell B1).**Type in the formula**:

=IFERROR(INDEX(A:A,SMALL(IF(A:A<>””,ROW(A:A)),ROW(1:1))),””)**Press Enter**to confirm the formula. The first non-blank value from column A should appear.**Click and drag the fill handle**(the small square in the bottom-right of the selected cell) down to apply the formula to the rest of the column.

- The formula will automatically adjust for each row, finding the 2nd, 3rd, 4th, etc. non-blank value from column A.

That’s it! You should now have a new column that contains all the values from your original column, minus any blank cells.

### Adjusting the Formula for Different Columns

If you want to copy a column other than column A, simply replace the ‘A’s in the formula with the appropriate column letter.

For example, to copy column C without blanks, the formula would be:

=IFERROR(INDEX(C:C,SMALL(IF(C:C<>””,ROW(C:C)),ROW(1:1))),””)

You can also change where the results are output by selecting a different starting cell in step 1. The formula will automatically fill relative to that starting position.

## Troubleshooting the Copy Column Formula

If you run into issues with the copy column without blanks formula, here are a few things to check:

**Ensure the formula is typed correctly**, with no missing punctuation. Even a small typo can cause the formula to return an error.**Check that you’re referencing the correct column**. Remember to change the ‘A’s in the formula to match the column you want to copy.**Verify the data in your original column**. This formula looks for text values, so if your column contains numbers, dates, or other non-text values, you may need to adjust the formula slightly.

If you continue to have trouble, try breaking the formula down into smaller parts and testing each part individually. This can help isolate where the issue is occurring.

### Alternate Methods

While the formula discussed in this article is a powerful and flexible way to copy a column without blanks, it’s not the only method. Depending on your specific needs, you might also consider these alternatives:

**Filtering**: If you just need to view your data without blanks and don’t need a separate copy, you can use Excel’s Filter feature. Select your data, click “Filter” in the Data tab, then click the filter arrow next to your column header and uncheck “Blanks”. This will hide blank rows from view.**Power Query**: If you have a newer version of Excel, you can use Power Query (found in the Data tab) to remove blank rows. This is a good option if you need to perform additional data cleansing steps.**VBA Macro**: For more complex tasks or if you need to perform this operation frequently, you can create a VBA macro to automate the process of copying a column without blanks.

Each of these methods has its own strengths and use cases, so consider your specific requirements when choosing a solution.

## Final Thoughts

The Excel formula to copy a column without blanks is a powerful tool for cleaning and streamlining your data. By using the **INDEX, SMALL, IF, and ROW functions together**, you can easily create a condensed version of a column that only includes cells with data.

Whether you’re looking to **prepare data for analysis**, **improve readability**, or **save space in your spreadsheet**, this formula provides a quick and efficient solution. Its flexibility also allows you to easily adapt it to different columns and output locations.

## FAQs

### What does the Excel formula to copy a column without blanks do?

The Excel formula to copy a column without blanks allows you to create a new column that contains all the values from an original column, but without any blank cells. It effectively streamlines your data by removing empty rows.

### How do I adjust the formula to copy a different column?

To adjust the formula to copy a different column, replace the ‘A’s in the formula with the letter of the column you want to copy. For example, to copy column C, the formula would be: `=IFERROR(INDEX(C:C,SMALL(IF(C:C<>"",ROW(C:C)),ROW(1:1))),"")`

### What should I do if the formula returns an error?

If the formula returns an error, first check that it’s typed correctly with no missing punctuation. Also, verify that you’re referencing the correct column by checking the column letters in the formula. If you’re still having trouble, try breaking the formula down into smaller parts and testing each part individually to isolate the issue.

### Can this formula handle non-text values in the original column?

The formula as provided is designed to handle text values. If your original column contains numbers, dates, or other non-text values, you may need to adjust the formula slightly. One option is to change the `""`

in `IF(A:A<>"",ROW(A:A))`

to `0`

to check for non-zero values instead of non-blank text.

### Are there any alternative methods to copy a column without blanks in Excel?

Yes, there are a few alternative methods depending on your needs:

- Use Excel’s Filter feature to hide blank rows without creating a separate copy.
- Use Power Query (available in newer versions of Excel) to remove blank rows and perform additional data cleansing.
- Create a VBA macro to automate the process of copying a column without blanks, especially useful for complex or frequent tasks.

Vaishvi Desai is the founder of Excelsamurai and a passionate Excel enthusiast with years of experience in data analysis and spreadsheet management. With a mission to help others harness the power of Excel, Vaishvi shares her expertise through concise, easy-to-follow tutorials on shortcuts, formulas, Pivot Tables, and VBA.