| | Post: 1 | Registrato il: 23/02/2016
| Città: FIUMICINO | Età: 33 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
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 !!! |
|
| | Post: 3.010 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
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 |
| | Post: 1 | Registrato il: 23/02/2016
| Città: FIUMICINO | Età: 33 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
23/02/2016 17:23 | |
Allego il file con l'esempio.
Grazie !! |
| | Post: 3.011 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
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 |
| | Post: 2 | Registrato il: 23/02/2016
| Città: FIUMICINO | Età: 33 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
23/02/2016 18:32 | |
Grazie mille.
Ma sono possibili altri metodi usando funzioni Excel e senza scrivere codice ???
Comunque grazie ancora. |
| | Post: 2.085 | Registrato il: 27/09/2010
| Città: FIRENZE | Età: 61 | Utente Veteran | Excel 2010 | | OFFLINE | |
|
23/02/2016 19:13 | |
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
|
|
|