Don't fall into the trap of thinking that more rows is bad. Often times in normalizing data, you will increase the number of data rows you have, but decrease the number of fields that you have.
In a nutshell, you will want to break each record down to its smallest unit, and not have any repeating type data fields within the same row.
In your case, I think it may be something like this:
Code:
ItemID, YearNumber, PeriodNumber, PeriodStart, PeriodEnd, PeriodCost
So basically, you will want to break it down so that you only have one Cost value per record.