Convertir una fila con columnas de datos en una columna con varias filas en Excel 2007

Tengo una fila de datos de la siguiente manera:

            header1      header2      header3      header4      header5
row key     datavalue1   datavalue2   datavalue3   datavalue4   datavalue5....

así que, básicamente, tengo un conjunto de datos desnormalizados en los que los datos pueden estar vacíos fila por fila. Necesito normalizarlos.

es decir

12345678    NULL         10           3            NULL         14

se convertiría:

12345678   header2   10
12345678   header3   3
12345678   header5   14

Podría hacer esto utilizando una transformación especial de pegado, pero tengo miles de filas y necesito asegurarme de obtener la clave de fila correcta para cada una. además, cada fila tiene un montón de descriptivos asociados que necesito copiar con cada fecha.

¿Cuál es la forma más fácil de convertir cada fila de columnas de modo que tenga varias filas de una sola columna con todos los datos no vacíos más la referencia de datos asociada? Necesito poder pivotar el conjunto de datos.