Seeking Tables help

Copper Contributor

Looking for help on tables. I have a long list (140+) of names. I'm trying to set up to have 2 columns of limited rows, (so it shows at 2 tables on a printed page) but want to have it so that if I add a name in the middle of a data set, it'll move everything below it down 1, and across other tables.

Example, when I go to print, Column 1 on page 1 has names A-C, column 2 has D-F. column 1 on page 3 has g-p. If I need to add a name in A-C, it'll push the list down one, going into D-F and G-P, etc.

I hope that sort of explains what I'm looking for...

3 Replies


I'd enter the data in one long column, inserting or deleting names as needed. Say you enter them in column A, from A2 down on a sheet named Data Sheet.

On another sheet, display the names in columns of 30 cells (or less in the last column) to be printed.

Enter the following formula in a cell on that sheet:


=WRAPCOLS(FILTER('Data Sheet'!A2:A500, 'Data Sheet'!A2:A500<>""), 30, "")


Adjust the column widths so that 2 columns will be printed on a page.


@HansVogelaar That mostly worked, thanks! But one more if you can... The tables in mind are two parts. So one has a name, the other has a number. Could it be worked to have those two columns stay side by side?

Column1 Column2 (split) Column1Column2


Such as:

Smith | 1         Phillip | 5
Rosero | 2       Omar | 2

Ramirez | 6

is there a code to keep 6 with Ramirez as it shifts around on the displayed table? It would be edited on Data Sheet.


A lot clunkier. Let's say you want 30 rows per column, and you start in A2.

Enter the following formula in A2:


=LET(data, 'Data Sheet'!$A$2:$B$500, numrows, 30, firstcell, $A$2, v, INDEX(data, ROW()-ROW(firstcell)+1+numrows/2*(COLUMN()-COLUMN(firstcell)-ISODD(COLUMN()-COLUMN(firstcell))), ISODD(COLUMN()-COLUMN(firstcell))+1), w, IFERROR(v, ""), IF(w="", "", w))


Fill down to 30 rows, then fill to the right