I found a way! (Just posting to bring closure to the thread.)
I created a new lookup from the source data and turned it into a 'table'. I added a calculated column that said if 2015 data + 2016 data = 0 then put 'exclude', otherwise put 'include'. Then I filtered this table on that include/exclude column.
The chart now looks up only data showing in this table (be sure to uncheck 'show data in hidden rows' when selecting the chart data).
Each table should automatically/independantly adjust each month to add in any items that get values larger than 0.

The main trick was setting up the tables (one for every one of the 200+ graphs) one on top of the other so that hidden rows in one table didn't affect each other.
I'll mark this as solved but feel free to post back if this was not clear.
Thanks!