Is there a way to do this that isn't too difficult?
I suppose that that depends on your definition of too
difficult. Break the problem down into smaller parts and
solve for each part.
Store the current row in a variable (startRow).
Figure out how to determine a row is empty. You will
probably be safe testing for a value in the first column.
Store this value in a variable (currentRow).
If you have only one row (currentRow == startRow + 1),
you can just insert its data again for the average. For
more than one row (currentRow > startRow + 1), you will
need to insert an average for each column thus for.
I am new to this list, but I assume you are not here
for someone to write a script for you. Some of the tasks
involved in this solution can be recorded macros. You can,
for example, record a macro to insert a row and then look
at the macro source to create general code to insert rows.