Question: How do I  merge three columns into one list?

Excel 2007 array formula in D2:

=IFERROR(INDEX(List1, ROWS(D1:\$D\$1)), IFERROR(INDEX(List2, ROWS(D1:\$D\$1)-ROWS(List1)), IFERROR(INDEX(List3, ROWS(D1:\$D\$1)-ROWS(List1)-ROWS(List2)), ""))) + CTRL + SHIFT + ENTER

This is an array formula, here is how to enter it. Type the formula in cell D2, press and hold CTRL + SHIFT simultaneously. Press Enter once. Release all keys. If you did it correctly, you now have curly brackets before and after the formula.

Copy cell D2 and paste it to D3:D12.

This example merges three columns into one column using an array formula. If you are looking for merging two data lists with criteria, check this post: Merge lists with criteria

Excel 2003 and earlier versions in cell D2:

=INDEX((List1, List2, List3), ROW(A1)*(ROW(A1)<=ROWS(List1))+(ROW(A1)-ROWS(List1))*(ROW(A1)>ROWS(List1))*(ROW(A1)<=(ROWS(List1)+ROWS(List2)))+(ROW(A1)-ROWS(List1)-ROWS(List2))*(ROW(A1)>ROWS(List1))*(ROW(A1)>(ROWS(List1)+ROWS(List2)))*(ROW(A1)<=(ROWS(List1)+ROWS(List2)+ROWS(List3))), , (ROW(A1)<=ROWS(List1))*1+(ROW(A1)>ROWS(List1))*(ROW(A1)<=(ROWS(List1)+ROWS(List2)))*2+(ROW(A1)>ROWS(List1))*(ROW(A1)>(ROWS(List1)+ROWS(List2)))*(ROW(A1)<=(ROWS(List1)+ROWS(List2)+ROWS(List3)))*3) + ENTER

Named ranges
List1 (A2:A6)
List2 (B2:B3)
List3 (C2:C5)

What is named ranges?

How to implement array formula to your workbook
Change named ranges. If your merged list starts at, for example, F3. Change D1:\$D\$1 in the above formula to F2:\$F\$2.

merge-three-columns.xlsx
(Excel 2007 Workbook *.xlsx)

merge-three-columns_excel_2003.xls
(Excel 2007 Workbook *.xls)