I first filtered out the nulls and used "Dynamic Rename" to take the column name from the first row of data. I then replaced the non-alpha-numeric characters and replaced them with letter combinations. I then cross-tabbed the data with the appropriate grouping and used the dynamic rename tool to reverse the previous character replacement. Simple.