I've used a head-on way to unpivot a table but I feel there shoud be more succinct and simple forms. Ideas?
Input:
Output (transposed just to save space):
Long way from input to output:
list = {{Null, d, e}, {a, 1, 4}, {b, 2, 3}};
tmp = Thread[Tuples@{#[[2 ;;, 1]], #[[1, 2 ;;]]} -> Flatten@#[[2 ;;, 2 ;;]]] & @ list;
Flatten[Table[#, {#2}] & @@@ tmp, {1, 2}] // Transpose // TableForm
Addendum
Just in case: how to pivot in Mathematica