I think this one will require laying out the data as the OP suggests or VBA but I'd love to see a formula solution

http://www.excelforum.com/excel-gene...ertically.html