Column AC =IF([@[Ship To]]="","",SUM(INDIRECT($AC$9&ROW(AB15)&":"&$AC$4&ROW(AB15))))

Column AD =SUM(INDIRECT($AC$11&ROW(AB15)&":"&$AC$10&ROW(AB15)))

Column AE =IF([@[Ship To]]="","",IF(AND([@[Recent Sales]]=0,[@[Previous Sales]]>0),"Lost",IF(AND([@[Recent Sales]]=0,[@[Previous Sales]]=0),"NoSales","")))

Column AF =IF([@[Lost Value]]="","",1/(COUNTIFS([Ship To],[@[Ship To]],[Lost Value],[@[Lost Value]])))

The next set of columns repeats these formulas but for different fields.

Column AQ =INDEX(Customerdata[[#Headers],[January 2013]:[Dec-14]],1,MATCH(99990000000,Customerdata[@[January 2013]:[Dec-14]],1)) - to find the last month of data in the row

Column AR = =1/(COUNTIF([Ship To],[@[Ship To]]))

I need to keep the indirect as I am asking the user to enter the number of months that they want to look at - it takes this value and translates it to the correct column.