Ciao,
con le formule non saprei farlo anche se non escludo che si possa fare perché excel possiede tutto un set di formule molto potenti per lavorare sulle matrici mentre con VBA è uno scherzo, basta questo codice

codice:
Private Sub CommandButton1_Click()
   stringa = InputBox("inserire la prima e l'ultima cella delle etichette di riga e colonna e la cella in cui posizionare la tabella risultato, separate da uno spazio" & vbCrLf & "es B1 E1 A2 A5 G1")
   a = Split(stringa)
      
   r_out = Range(a(4)).Row
   c_out = Range(a(4)).Column
   Cells(r_out, c_out) = "F"
   Cells(r_out, c_out + 1) = "P"
   Cells(r_out, c_out + 2) = "VALUE"
   r_out = r_out + 1
   For Each riga In Range(a(2), a(3))
      For Each colonna In Range(a(0), a(1))
         Cells(r_out, c_out) = riga
         Cells(r_out, c_out + 1) = colonna
         Cells(r_out, c_out + 2).Value = Cells(riga.Row, colonna.Column).Value
         r_out = r_out + 1
      Next
   Next
End Sub
Per utilizzarlo devi salvare il foglio nel formato xlsm che prevede l'attivazione delle macro, attivare la scheda Sviluppo (se non è già attiva) dalle opzioni di excel e inserire un pulsante ActiveX poi clicchi due volte sul pulsante, inserisci il codice che ti ho dato, torni sul foglio disattivi la modalità di progettazione e clicchi sul pulsante. Tutto qui.

Fai sapere se ci sono problemi.
Ciao