To dynamically transpose a table that contains blanks, you can use an array formula that uses the TRANSPOSE and IF functions.

In the example shown, the multi-cell array formula in I9 is:

=TRANSPOSE(IF(B5:F6=””,””,B5:F6))

*Note: this is an array formula that must be entered with Control + Shift + Enter across the entire range H5:I9.*

### How this formula works

The TRANSPOSE function automatically transposes values in a horizontal orientation to vertical orientation and vice versa.

However, if a source cell is blank (empty) TRANSPOSE will output a zero. To fix that problem, this formula contains an IF function that checks first to see if a cell is blank or not. When a cell is blank, the IF function supplied an empty string (“”) to transpose. If not, IF supplies the value normally.

Without IF, the array going into TRANSPOSE looks like this:

{“Item”,”grapes”,”lemons”,”cherries”,0;”Qty”,24,30,14,0}

After IF, it looks like this:

{“Item”,”grapes“,”lemons“,”cherries“,””;”Qty”,24,30,14,””}