in reply to Excel, multiple sheets, and reference arrays, oh my!

Urg, your questions isn't very clear. It's about references, but all the Excel details get in the way.

I think you are asking how you make a 3-D array. But you already know that, because $output is a reference to a 3-D array, so I'm not sure what your problem with 3-D arrays is.

As for pushing, the rules of references is very simple in Perl. Whereever you use a simple variable (sigil followed by an identifier), you may replace the identifier with a block whose value is a reference of the appropriate type. So, where you normally would do

push @array => $element;
you will now do:
push @{$day_output -> [$data [1]]} => [@data];

Abigail