Google Sheets – Print Filtered Rows

google sheetsprinting

I use a Google-Sheet (sheet called "Data") for my payroll. In A1 I paste data from another spreadsheet that I use to store all the data for my business ( example value of job, location, date, subcontractor name ) There are 600 rows total in the sheet called Data

In my payroll Google-Sheet I have an additional sheet for each subcontractor that works for me. These are meant to be statements that I can print with their checks. Each of these sheets also have 600 rows, and each element ( still talking about the subcontractor's shets ): A1, A2 …, B1, B2, …is a reference to the same A1, A2, …, B1, B2, … in the sheet called Data.

All I have to do in each of the subcontractor-sheets is filter by name & Wala! it is ready to be printed.

For example: Let's say I filter a subcontractor-sheet for my name Xzila. Of the 600 rows only 7 are for Xzila. I then click on print, but now it is printing like 30 pages because it is including the other 593 rows I filtered out.

TLDR: How to use the google-sheets filter to hide rows and then print the sheet such that it does not print those filtered rows.

Attempts:

  • To actually make the rows hidden ( this works but it is very tedius
    and defeats the time saving purpose )
  • Use a google-script to hide each row one at a time ( this takes a reaaaaaaly long time )
  • export Google-Sheet to an excel spread sheet and the print. ( this works, but it loses a lot of formating and forgets that some numbers are currency and some numbers are dates )

Best Answer

Create yet another sheet, with a catchy name like for example PRINTING.

Use the FILTER formula to set the data range and filter for the sub-contractor:

=FILTER(DATA!A:U, DATA!F:F=H1)   // H1 = Xzila

If you place H1 outside the printing area, then it will not take part in the printing.