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. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
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. If you need something other than a 0 for empty cells, you may prefer to include a conditional.
I have multiple lists that are in separate columns in excel.