È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Da MATRICE a TRE VETTORI

  • Messaggi
  • OFFLINE
    plip50
    Post: 1
    Registrato il: 23/02/2016
    Città: FIUMICINO
    Età: 33
    Utente Junior
    EXCEL 2013
    00 23/02/2016 15:31
    Ciao a tutti,
    ho una matrice del tipo

    A B C D
    -------------------
    1 x y z t
    2 u v w s
    3 .. .. ... .....

    e dovrei riuscire a trasformarla in tre colonne del tipo:

    1 A x
    1 B y
    1 C z
    1 D t
    2 A u
    2 B v
    2 C w....etc

    come posso fare?

    grazie mille !!!
  • OFFLINE
    patel45
    Post: 3.010
    Registrato il: 13/03/2012
    Città: LIVORNO
    Età: 78
    Utente Master
    2010
    00 23/02/2016 16:49
    io non ho capito, allega un file di esempio con anche il risultato

    ----------
    Win 10 - Excel 2010
    allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
  • OFFLINE
    plip50
    Post: 1
    Registrato il: 23/02/2016
    Città: FIUMICINO
    Età: 33
    Utente Junior
    EXCEL 2013
    00 23/02/2016 17:23
    Da MATRICE a TRE VETTORI
    Allego il file con l'esempio.
    Grazie !!
  • OFFLINE
    patel45
    Post: 3.011
    Registrato il: 13/03/2012
    Città: LIVORNO
    Età: 78
    Utente Master
    2010
    00 23/02/2016 18:25
    Sub a()
    LR = Cells(Rows.Count, "A").End(xlUp).Row
    dcol1 = 7 'colonna risultato
    drow = 8 ' riga risultato
    dcol = dcol1
    For r = 8 To 10 'LR
      For c = 2 To 5
        Cells(drow, dcol) = Cells(r, 1)
        dcol = dcol + 1
        Cells(drow, dcol) = Cells(7, c)
        dcol = dcol + 1
        Cells(drow, dcol) = Cells(r, c)
        dcol = dcol1
        drow = drow + 1
      Next
    
    Next
    End Sub

    ----------
    Win 10 - Excel 2010
    allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
  • OFFLINE
    plip50
    Post: 2
    Registrato il: 23/02/2016
    Città: FIUMICINO
    Età: 33
    Utente Junior
    EXCEL 2013
    00 23/02/2016 18:32
    Grazie mille.
    Ma sono possibili altri metodi usando funzioni Excel e senza scrivere codice ???
    Comunque grazie ancora.
  • OFFLINE
    (Canapone)
    Post: 2.085
    Registrato il: 27/09/2010
    Città: FIRENZE
    Età: 61
    Utente Veteran
    Excel 2010
    00 23/02/2016 19:13
    da range a vettori.

    Ciao,

    in A14


    =SE.ERRORE(INDICE($A$8:$A$10;INT((RIF.RIGA($A1)-1)/CONTA.VALORI($B$7:$E$7))+1);"")

    in B14

    =SE(A14;INDICE($B$7:$E$7;RESTO(RIF.RIGA(A1)-1;CONTA.VALORI($B$7:$E$7))+1);"")

    in C14

    =SE.ERRORE(INDICE($B$8:$E$10;CONFRONTA(A14;$A$8:$A$10;0);CONFRONTA(B14;$B$7:$E$7;0));"")

    da copiare in basso: il trucco sta nel tarare i conta.valori

    Si potrebbe anche sfruttare una tabella pivot: molto più semplicemente.

    Saluti