how to print 1 page for every row in numbers spreadsheet

Hello... i'm trying to print year end statements per person in numbers.

Is there a way in numbers to print 1 page for every row in a numbers spreadsheet?

Or any suggestions?

Thank you.

MacBook Air, OS X El Capitan (10.11.2)

Posted on Jan 4, 2016 9:01 AM

Reply
5 replies

Jan 4, 2016 9:49 PM in response to Apple user cm

Hi cm,


This looks like a job for Mail Merge.


The merge document would be created in Pages, and the merge cells on that document would reference cells in the Numbers document's table.

Check Pages documentation (in the Help menu) for instructions on doing mail merge.


To do this in Numbers alone, you'd need to set up a "statement table" on a separate Sheet (in the same document as the table holding the information) that would accept a Customer number (or other ID key for each individual) then use that to determine the row of the main table from which to retrieve the information for that patron.


A more specific answer requires a more specific desription of the structure of your table and the form you want the statement to take.


Regards,

Barry

Jan 4, 2016 10:11 PM in response to Barry

Hi Barry... Thanks for answering.

Tried to learn: In the pages document (which contains my command/copy numbers file) i searched under 'help' for 'mail merge' . No luck.

Apparent to me, doing this in numbers is above my pay level 🙂.

My file/table/listing is a simple 6 columns of Amount, Name, Street, City, State, Zip. Never had a prob. in a word document merge from excel.

Just switched fro windows to mac a little while back.


Thot page breaks might work, so i command/copied the numbers file into pages table. But when i selected a row for page break and went to toolbar for

page break > it was grayed out. 😟


I thought there was a way via the print options but that is not working either.

Jan 5, 2016 12:59 AM in response to Apple user cm

Hmmm...


Just had a glance at Pages Help online. Looks like Merge fields were a feature not carried over to Pages 5, and still not reinstated. Bummer.


Page breaks can be inserted only in the line of text in a Pages document. Tables, placed as inline objects, act like a single (very large) character in a string of text, and will jump from one page to the next rather than break across the page boundary.


If the rows of your Numbers table contain directly entered values (rather than values generated by formulas), you should be able to copy a single row of cells from your Numbers table, and Paste that into a Pages document, where it will become a single row table. If Pasted while you have a floating object selected, the table will also become a floating object, which you can move around the page as you would an image of shape.


If you want to include column or row headers with the data row, you can hide the rows between the header row and the row of data you want to copy. With no intervening rows visible, you'll be able to select the cells in the two rows, copy, then paste only those two rows into your Pages document.


All fairly easy, but building each statement page manually like this can get fiddly.


While a statement page using a table in Numbers can also be a pain to set up if you haven't done it before, once the setup is done, using it can be as simple as entering an ID code or number for the individual, printing the page, then repeating with the next individual.


Here's an example. I've added one column to your original table to contain the statement numbers which tell the Statement table(s) which row to get the information from. More below.

User uploaded file

Main is your original table, containing the information to be transferred to each statement, then printed.

Statement is a table which presents the information recorded in a single row of the Main table.

The third table is a duplicate of Statement, showing how the table would appear on the printed statement. The only differences between Statement and this copy are the table names (this is Statement-1) and the fact that grid lines and cell borders are set to "none" on this copy, and the table name is not displayed.


Main contains no formulas. All data has been entered directly.


Statement uses one formula, with modifications.

A1: Entered data. The statement number for the person to whom this statement is intended.

C7: Fixed text (entered when setting up, then left unchanged) "Amount Due"


C2: =OFFSET(Main :: $A$1,MATCH($A$1,Main :: $A)-1,ROW())

This is the basic formula, filled down into C3 and C4, then modified in C4 to collect all three parts of the last address line.

It is also copied into D7 and modified as described below.


OFFSET starts at cell A1 of Main, then uses the values returned by MATCH and ROW to determine which cell on Main to got to for the data to be placed in this cell. MATCH gets the value (105) in cell A1 of the table containing the formula, then looks for that value in column A of Main. When found, MATCH returns the position of that value in the list in column A (6). -1 subtracts 1 from that, and the result (5) is passed to OFFSET, telling it to go down 5 rows from A1. ROW() returns the number of the row containing the formula (2) and passes it on to OFFSET, telling it to go right 2 columns from A1. The content of cell C6, 5 rows down and 2 columns right from A1 is returned to the cell containing the formula (on Statement)


Copied or filled down to C3 the formula stays the same, but the result from ROW() increases by 1, and the formula returns the information from the cell one column to the right of the previous data.


Filled down another row, the same formula returns the data (Peoria) from the cell one more column to the right. Here, though we want to build the last line of the address, and need data from three cells. Each piece will require one instance of the formula, aimed at the correct cell, The results will be strung together using the concatenation operator ( & ), and separated by some text (two spaces) entered in the formula.


C4: =OFFSET(Main :: $A$1,MATCH($A$1,Main :: $A)-1,ROW())&" "&OFFSET(Main :: $A$1,MATCH($A$1,Main :: $A)-1,ROW()+1)&" "&OFFSET(Main :: $A$1,MATCH($A$1,Main :: $A)-1,ROW()+2)


Looks long and complicated, but it's just three copies of the formula in the cells above it, with additional offsets added to the second ( + 1 ) and third ( +2 ) copies, and a two character space ( &" "& ) stitched in after the first and second copies using the concatenation operator. The bold bits show the original copy of the formula and the two additional offsets.


The last copy of the formula is placed in D7. Since it's not going to be moved, I've replaced the ROW() reference, which automatically returns a value that changes as the formula is inserted in or copied to different rows to a fixed value (1) to get the value from the first column to the right of Main::A1.


D7: =OFFSET(Main :: $A$1,MATCH($A$1,Main :: $A)-1,1)


Give it a try, and call back to report results or problems.


Regards,

Barry

Jan 5, 2016 7:50 AM in response to Apple user cm

Apple user cm wrote:


I will keep for reference, some day i may try it. For now, i'll use my old windows xl excel or word.



And don't forget that MS Office 2016 works great on the Mac too.


For a fully Apple solution, if you have your contacts in Contacts, you could also have a look at this. To use it, I don't think it's necessary to know how the script works. You can "just use" it.


SG

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

how to print 1 page for every row in numbers spreadsheet

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.