Condividi:        

Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne!

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne!

Postdi martina_locatelli » 14/11/12 16:15

ciao a tutti..
Grosso problema con Excel: aiuto!!!

Io ho un file composto da 150 righe e 13 colonne. la prima colonna contiene l'elenco dei nomi, le restanti 12 contengono i dati relativi a tre diverse variabili riportati per 4 anni diversi (3*4=12).

___|var1_2008 | var1_2009 | var1_2010 | var1_2011 | var2_2008 | var2_2009 | ...... var2_2011
a
b
c

Io, partendo da questo file, dovrei arrivare ad avere 600 righe e una solo colonna per ogni variabile:
_______ | var1 | var2 | var3 | var4
a 2008
a 2009
a 2010
a 2011
b 2008
b 2009
b 2010
...


è possibile in qualche modo farlo senza dover copiare uno a uno (o 4 a 4 nel mio caso) i dati? non so usare le macro ma se è l'unico modo per farlo e voi avete la pazienza di spiegarmelo posso farcela!! :)
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Sponsor
 

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi ricky53 » 14/11/12 16:29

Ciao,
prima di tutto benvenuta nel nostro forum.

Per così poche righe e poche colonne vale la pena di complicarsi la vita?
Quante volte dovrai fare questa operazione? Una Tantum?

Comunque con le formule la vedo difficile ma ...

Io sono per il codice .. questa sera vedo se riesco a proporti qualcosa.

La prima riga contiene le intestazioni di colonna ?
I dati iniziano da riga "2"?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 16:57

ciao.. grazie per la risposta e il benvenuto!! :)
Purtroppo non è solo x così poche righe perchè ho un altro database di circa 10000 celle da sistemare in questo modo.. E devo finire il lavoro il prima possibile perchè è per una tesi di laurea da consegnare a breve..
La prima riga è di intestazione sì, i dati cominciano dalla seconda..
(se hai bisogno di altre info o di vedere i database, scrivimi pure: cerco di risp subito!!) :)
Grazie mille!!!
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi ricky53 » 14/11/12 17:58

Ciao,
il quesito e la struttura dei dati mi sembra ben esposta e chiara.
A parte la "var4" che non dovrebbe esistere visto che prima avevi scritto
relativi a tre diverse variabili riportati per 4 anni diversi (3*4=12).
.

Per sicurezza un file di esempio è sempre gradito.

Ciao.


P.S.: laurea in quale facoltà?
Le variabili a quale argomento sono relative?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 18:05

laurea in ingegneria gestionale.. il primo database è relativo a dati sociali, mentre nel secondo sono presenti variabili economico-finanziarie!! i dati sono parecchi..
sì, la variabile 4 non esite, sorry! ;)
se ti serve il database per avere un riferimento, te lo mando in privato..
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi ricky53 » 14/11/12 18:52

Ciao,
meglio evitare i MP perchè non consentiremmo agli altri utenti di partecipare.

Puoi fare un ridotto, cambiando i dati, ma che siamo comunque significativi per le condizioni da verificare ed inserirlo nel forum.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 19:16

OK.. posso inserire un file excel nella discussione? come?
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi ricky53 » 14/11/12 19:22

Ciao,
leggi QUI
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi Flash30005 » 14/11/12 20:16

Ciao Martina e benvenuta nel Forum anche da parte mia

Con una macro che puoi avviare con qualsiasi comando (io ho inserito una forma ma puoi usare tasti scelta rapida, es: Ctrl+m)
ottieni un risultato in un battito di ciglia ;)

Inserisci in un modulo questa macro
Codice: Seleziona tutto
Sub TraslaTabella()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Set Ws1 = Worksheets("Foglio1")   '<<<<< modifica qui il nome del foglio origine se diverso
Set Ws2 = Worksheets("Foglio2")   '<<<<< modifica qui il nome del foglio destinazione se diverso
Ws2.Cells.ClearContents
    UC = Ws1.Range("IV1").End(xlToLeft).Column
    UR = Ws1.Range("A" & Rows.Count).End(xlUp).Row
    For RR = 2 To UR
        For CC = 2 To UC
            Sq2 = Ws1.Cells(RR, 1)
            Ris = Ws1.Cells(RR, CC)
            UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
            Ws2.Range("A" & UR2).Value = Sq2
            Ws2.Range("B" & UR2).Value = Ris
        Next CC
    Next RR
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Se i fogli hanno nome diverso modifica come indicato nella macro

Invio anche il file-test per maggior chiarezza
Download File-test

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 21:07

Grazie.. Però le variabili dovrebbero essere messe su 4 colonne diverse.. ti faccio un esempio:
------------------------variabile1-------variabile2-------variabile3-------variabile4
impresa1 2008
impresa1 2009
impresa1 2010
impresa1 2011
impresa2 2008
impresa2 2009
impresa2 2010
impresa2 2011

ecco un file d'esempio: https://rapidshare.com/files/3595853611/ESEMPIO.xlsx
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi wallace&gromit » 14/11/12 21:56

ciao, si può risolvere anche con questa "formuletta":
Codice: Seleziona tutto
=INDIRETTO(INDIRIZZO(CONFRONTA(SINISTRA($A2;LUNGHEZZA($A2)-5);Foglio1!$A$1:$A$150;0);RESTO((RIF.RIGA()+2);4)+2+RESTO(RIF.COLONNA()+2;4)*4;;;"Foglio1"))
inserita in B2 del foglio2

con la condizione che i dati siano strutturati così:
in foglio1 da A2 in giù c'è un testo, da B2 via ci sono i valori
la tabella trasposta si trova in foglio2, dove a partire da A2 in giù figura lo stesso testo del riferimento originale (A2 nel foglio1) con l'aggiunta di uno spazio e l'anno in 4 cifre.
Provare per credere!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 22:14

mmmm.. ho provato ma non sembra funzionare :(
riusciresti a usare il file che ho postato x fare una prova?
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi Flash30005 » 14/11/12 22:15

Non riesco a collegare ciò che descrivi nei post con il file da te inviato dove co sono anni consecutivi in colonna B che nel foglio originale non sono riportati :?:

hai dimenticato di dire qualcosa?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 22:22

si hai ragione.. praticamente ogni variabile è riporata 4 volte (x i 4 anni):
___|var1_2008 | var1_2009 | var1_2010 | var1_2011 | var2_2008 | var2_2009 | ...... var2_2011
a
b
c

ti metto il nuovo file più chiaro: https://rapidshare.com/files/4085356174/ESEMPIO.xlsx
Ultima modifica di martina_locatelli su 14/11/12 22:27, modificato 1 volte in totale.
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi Flash30005 » 14/11/12 22:25

Quindi questa testata
TRAINING DONNE NUM.INFORTUNI INVESTIMENTI m$
nei dati origine è ripetuta 4 volte?
occupando 16 colonne?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 22:28

esattamente: https://rapidshare.com/files/4085356174/ESEMPIO.xlsx
training2008 training2009 training2010 training2011 donne2008 donne2009 donne1010 donne2011 invest2008 invest2009 invest2010 invest2011
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi Flash30005 » 14/11/12 22:39

Questa è la macro modificata
Codice: Seleziona tutto
Sub TraslaTabella()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Set Ws1 = Worksheets("DATI ORIGINALI")
Set Ws2 = Worksheets("RISULTATO")
Ws2.Range("A2:F65536").ClearContents
    UC = Ws1.Range("IV1").End(xlToLeft).Column
    UR = Ws1.Range("A" & Rows.Count).End(xlUp).Row
    For RR = 2 To UR
        For CC = 1 To UC - 1 Step 4
            Sq2 = Ws1.Cells(RR, 1)
            Ris1 = Ws1.Cells(RR, CC + 1)
            Ris2 = Ws1.Cells(RR, CC + 2)
            Ris3 = Ws1.Cells(RR, CC + 3)
            Ris4 = Ws1.Cells(RR, CC + 4)
            UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
            Ws2.Range("A" & UR2).Value = Sq2
            Ws2.Range("C" & UR2).Value = Ris1
            Ws2.Range("D" & UR2).Value = Ris2
            Ws2.Range("E" & UR2).Value = Ris3
            Ws2.Range("F" & UR2).Value = Ris4
        Next CC
    Next RR
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Ho lasciato la colonna B per l'anno in quanto non ho trovato questo valore in nessun foglio
download file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi wallace&gromit » 14/11/12 22:41

ecco invece la mia formula adattata,
Codice: Seleziona tutto
=INDIRETTO(INDIRIZZO(CONFRONTA($A2;'DATI ORIGINALI'!$A$1:$A$150;0);RESTO((RIF.RIGA()+2);4)+2+RESTO(RIF.COLONNA()+1;4)*4;;;"DATI ORIGINALI"))

però la colonna num_infortuni nell'originale non c'è, nel mio risultato nella terza colonna figurano i valori di investimenti
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi Flash30005 » 14/11/12 22:42

Ho inviato la macro prima di ricevere il tuo file

correggo e invio di nuovo
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne

Postdi martina_locatelli » 14/11/12 22:50

perfetto, grazie! spero di riuscire ad inserire la macro.. (prima excel mi dava problemi con l'attivazione)
ti farò sapere se funziona.. grazie ancora!!
martina_locatelli
Utente Junior
 
Post: 12
Iscritto il: 14/11/12 16:00

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne!":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti