[excel] How to Consolidate Data from Multiple Excel Columns All into One Column

The formula

=OFFSET(Sheet1!$A$1,MOD(ROW()-1,COUNT(Sheet1!$A$1:$A$20000)),
    (ROW()-1)/COUNT(Sheet1!$A$1:$A$20000))

placed into each cell of your second workbook will retrieve the appropriate cell from the source sheet. No macros, simple copying from one sheet to another to reformat the results.

You will need to modify the ranges in the COUNT function to match the maximum number of rows in the source sheet. Adjust for column headers as required.

If you need something other than a 0 for empty cells, you may prefer to include a conditional.

A script to reformat the data may well be more efficient, but 20k rows is no longer a real limit in a modern Excel workbook.