Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Variabili e numeri

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

Variabili e numeri

Postdi marcoclive » 04/01/11 16:32

Ciao,
ho un file con 1 000 000 di linee e 5 colonne.

La colonna 1 ha 1 000 000 di codici che excel 2007 non riesce a gestire in tabella dinamica (almeno 12 cifre per codice)
Ho notato che se trasformo i codici in lettere a,b,c etc, excel arriva a inserire i dati in tabella (cioé, diminuendo le cifre di ogni codice, aumenta la sua semplicità di calcolo).

I codici non sono unici, spesso si ripetono ma non posso eliminarli

Come creare una macro che trasformi questi codici in lettere o numeri (partendo da "1" o da "A") in sequenza e che inserisca stessa modifica se stesso codice?

es:

codici colonna A
125gthhhn
157frggtjh
qdfbqd8552
sqFBGH622
125gthhhn (uguale alla prima riga)
dg85shsqd
etc...

Voglio cambiare "125gthhhn" con "A", "157frggtjh" con "B", etc...

Quindi:

Codici colonna A
A
B
C
D
E
A (è lo stesso codice della linea 1)
F
etc.


A cosa serve il file?
Avendo una colonna A con codici (sono gli utenti unici) apparsi su un sito, avendo la colonna B con il link visitato e la colonna C con la sequenza temporale (1 per la prima pagina visitata, 2 per la seconda pagina vista, ecc), riesco a sapere quale sia il percorso utilizzatore.
Come?
Li inserisco in tabella dinamica mettendo i codici utenti in linea, le tappe della colonna C in colonna e i link in valori. Dovrei trovare cosi' a quali pagine corrispondono tappa 1, 2 e 3
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Sponsor
 

Re: Variabili e numeri

Postdi ricky53 » 04/01/11 18:17

Ciao,
qualcosa, se non "molto", mi sfugge !!!

Per esempio con:
La colonna 1 ha 1 000 000 di codici che excel 2007 non riesce a gestire in tabella dinamica (almeno 12 cifre per codice)


Cosa intendenevi dire ???

Non vengono visualizzati bene i numeri ??

Prova e descrivere con semplicità ed in modo schematico la tua effettiva necessità specificando meglio anche la struttura dati
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 04/01/11 18:47

ricky53 ha scritto:Ciao,
qualcosa, se non "molto", mi sfugge !!!

Per esempio con:
La colonna 1 ha 1 000 000 di codici che excel 2007 non riesce a gestire in tabella dinamica (almeno 12 cifre per codice)


Cosa intendenevi dire ???

Non vengono visualizzati bene i numeri ??

Prova e descrivere con semplicità ed in modo schematico la tua effettiva necessità specificando meglio anche la struttura dati


Ciao, lascia stare questa mia riflessione...Era solo per far capire che non posso farlo manualmente.
L'esempio mi sembrava chiaro:

Ho una colonna (la A) con una serie di codici in ogni linea.
Voglio sostituire questi codici con un numero univoco (deve pero' essere lo stesso se lo stesso codice viene ripetuto in qualche riga + in basso).

Esempio:
colonna A riga 1: fdfsfgs45
colonna A riga 2: sgDSGsdv
colonna A riga 3: 4FDGTHAF
colonna A riga 4: QSDSvdb
colonna A riga 5: fdfsfgs45
colonna A riga 6: sdvSCV

voglio farle diventare cosi' :
colonna A riga 1: 1
colonna A riga 2: 2
colonna A riga 3: 3
colonna A riga 4: 4
colonna A riga 5: 1
colonna A riga 6: 5

Come vedrai, riga 1 e riga 5 hanno stesso codice, quindi dovranno avere stesso numero (non voglio eliminare i doppioni, altrimenti sarebbe facile)
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi ricky53 » 04/01/11 19:25

Ciao,
mi sfugge il motivo per cui vuoi fare questa sostituzione: forse solo per semplicità visiva???

Comunque tralasciando il perchè, la cosa è fattibile con una macro, prima vanno ordinati i dati e poi si può procedere con l'assegnazione del codice univoco: va bene un codice numerico progressivo partendo da 1, 2, 3 ... ???

I dati in quali colonne si trovano oltre la "A" ??? Questo per effettuare un corretto ordinamento.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 05/01/11 14:57

ricky53 ha scritto:Ciao,
mi sfugge il motivo per cui vuoi fare questa sostituzione: forse solo per semplicità visiva???
Comunque tralasciando il perchè, la cosa è fattibile con una macro, prima vanno ordinati i dati e poi si può procedere con l'assegnazione del codice univoco: va bene un codice numerico progressivo partendo da 1, 2, 3 ???
I dati in quali colonne si trovano oltre la "A" ??? Questo per effettuare un corretto ordinamento.


Non è per semplicità visiva.
ho 1.000.000 di linee sulla colonna A excel 2007 non riesce a gestire una tabella dinamica con cosi' tanti e lunghi codici.
Facendo una prova ho cambiato tutti i codici con un numero e excel è riuscito ad eseguire il calcolo.

Perfetto il codice numerico.
Mi basta cambiare solo la colonna A con il suo milione di linee.
Come inserire e quale macro mettere?

Grazie
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 15:34

Continuo a non capire il problema
ho 1.000.000 di linee sulla colonna A excel 2007 non riesce a gestire una tabella dinamica con cosi' tanti e lunghi codici.
Facendo una prova ho cambiato tutti i codici con un numero e excel è riuscito ad eseguire il calcolo.


Cosa intendi dire con la frase "tabella dinamica con ..." ???
Quale calcolo deve eseguire ???

Cerco di capire altrimenti non sono in grado di aiutarti !!
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 05/01/11 17:56

ricky53 ha scritto:Continuo a non capire il problema
ho 1.000.000 di linee sulla colonna A excel 2007 non riesce a gestire una tabella dinamica con cosi' tanti e lunghi codici.
Facendo una prova ho cambiato tutti i codici con un numero e excel è riuscito ad eseguire il calcolo.


Cosa intendi dire con la frase "tabella dinamica con ..." ???
Quale calcolo deve eseguire ???

Cerco di capire altrimenti non sono in grado di aiutarti !!


Mi sa che se te lo spiego facciamo + confusione... su excel 2007 c'è una tabella che sul mio excel francese si chiama "tableau croisé dinamique"...mi sembra che in italiano sia "tabella incrociata".

Avendo una colonna A con codici utenti (sono gli utenti unici) apparsi su un sito, avendo la colonna B con il link visitato e la colonna C con la sequenza temporale (1 per la prima pagina visitata, 2 per la seconda pagina vista, ecc), riesco a sapere quale sia il percorso utilizzatore.
Come?
Li inserisco in tabella incrociata mettendo i codici utenti in linea (la colonna A), le "tappe della colonna C" in colonna e i link della colonna B in valori(cioé incrociati).
Dovrei trovare cosi' a quali pagine corrispondono tappa 1, 2 e 3

Mi dirai: ma allora il gioco è fatto, perchè sostituire i codici lunghi di ogni riga della colonna A con la sequenza di numeri???

=> sono oblbigato a farlo perchè la potenza di calcolo di excel è limitata (in sql sarebbe velocissimo) e se trasformi i codici della colonna A in numeri, excel riesce a creare la tabella senza darmi errore con un layer che dice "le risorse richieste sono troppo importanti. L'operazione non puo' completarsi" (all'incirca dice questo)
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 18:18

Ciao,
ma quali operazioni fai su excel per ottenre quello che dici altrimenti come posso provare ???

Ultimo tentativo poi desisto ... ti scrivo il codice e poi ... gestisci tu il tutto per utilizzarlo.

Di più non potrei fare !!!
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 19:01

Ciao,
ecco il codice
Codice: Seleziona tutto
 Private Declare Function GetTickCount Lib "kernel32" () As Long

Public Inizio As Long, Msec As Long, Tempo As String
Public RR As Long, I As Long, J As Long

Sub Sostituisci_Codici()
    Inizio = GetTickCount

    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
   
    Sheets("Foglio2").Columns("A:B").ClearContents
   
    Sheets("Foglio1").Select
    Columns("A:A").Select
    Selection.Copy
    Sheets("Foglio2").Select
    [A1].Select
    ActiveSheet.Paste
   
    Sheets("Foglio2").[B1] = "Codifica Numerica"
    Columns("B:B").EntireColumn.AutoFit
   
    Columns("A:A").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
       
    J = 1
    RR = Range("A" & Rows.Count).End(xlUp).Row
    Cells(2, 2) = J
    For I = 3 To RR
        If Cells(I, 1) <> Cells(I - 1, 1) Then
            J = J + 1
        End If
        Cells(I, 2) = J
    Next I
    [A1].Select
   
    Msec = GetTickCount - Inizio
   
    Tempo = Format$(Msec \ 3600000, "00") & ":" & _
    Format$(((Msec - (Msec \ 3600000) * 3600000)) \ 60000, "00") & _
    ":" & Format$((Msec - (Msec \ 60000) * 60000) / 1000, "00.000")
   
    MsgBox "Codifica Numerica Effettuata - Tempo impiegato:  " & Tempo
       
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub



ATTENZIONE: la macro utilizza il "Foglio2" come foglio di APPOGGIO e cancella tutti i dati in esso presenti. Se questo foglio è utilizzato modifica la macro sostituendo “Foglio2”con un foglio "Nuovo"

e ... buone prove
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 05/01/11 22:06

ricky53 ha scritto:Ciao,
ma quali operazioni fai su excel per ottenre quello che dici altrimenti come posso provare ???

Ultimo tentativo poi desisto ... ti scrivo il codice e poi ... gestisci tu il tutto per utilizzarlo.

Di più non potrei fare !!!



ciao,
sinceramente non riesco a capire la tua domanda...
anche ignorando il fine delle mie operazioni, voglio semplicemente rinominare tutte le linee della colonna A con numeri cominciando da 1.
Se una linea ha uno stesso valore di un' altra presente nella stessa colonna, si deve mettere lo stesso numero.

Ho spiegato più volte il mio fine...voi forse non avete mai utilizzato una tabella con incroci con 1 milione di linee con dentro link.
Provate a mettere link a caso per un milione di linee nella colonna A.
Mettete più nomi di persone nella colonna B e in corrispondenza di ogni linea della colonna A.
Aprite una tabella a incroci, inserite nelle etichette di linea la colonna A con i link, in quella delle colonne i nomi e trasportate ancora i nomi in "valori"....vedrete che excel dirà che il suo calcolo è troppo complicato da eseguire e per riuscirti dovrete cambiare il contenuto delle caselle dei link con abbreviazioni...

Excel non ce la fa a incrociare i dati perchè troppo lunghi....quindi deve accorciarli sostituendoli con numeri
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi CANAPONE » 05/01/11 22:18

Ciao a tutti,

se usi

=CONFRONTA(A2;$A$2:$A$1000000;0)

da copiare e tirar giu', i numeri che ottieni potrebbero fare al caso tuo per sostituire i codici alfanumerici.

Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 22:24

Ciao,
ma l'hai provata la macro ???
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 05/01/11 22:43

ricky53 ha scritto:Ciao,
ma l'hai provata la macro ???

scusa, non l'avevo vista!!! :(
Mi speighi come e dove si mette? lol
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 23:02

Ciao,
1. apri l'editor del VB Alt+F11
2. in VBAProject, tasto destro, Inserisci, Modulo
3. copia la macro nel modulo
4. eseguila con "F5" restando nel VB o con Alt+F8 andando in un foglio di excel

e

nella GUIDA trovi molte informazioni ...
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi pietrol » 05/01/11 23:08

Ciao a tutti
scusate se intervengo, ma vorrei evidenziare che la soluzione di Canapone (ciao), oltre che possedere quella semplicità che solo le soluzioni geniali possono avere, è esattamente la soluzione che è stata richiesta e produce corrispondenze univoche tra numeri e codici uguali.

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Variabili e numeri

Postdi ricky53 » 05/01/11 23:47

Ciao,
vero Pietrol,
leggendo la risposta di marcoclive non avevo notato l'intervento di Canapone (un caro saluto) che come sempre offre ottime soluzioni.
Solo un dubbio: 1 milione di "confronta" mi fanno pensare un po' ... tempi di calcolo ???

Io in questi casi sono per il codice che non lascia formule ma valori e quanto ho proposto fa proprio quello che marco ha chiesto.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi Anthony47 » 06/01/11 03:52

Guardate che excel richiede mooolto piu' spazio per archiviare informazioni numeriche rispetto a informazioni "stringhe"; suggerisco di modificare le istruzioni come segue:
la formula: ="A"&CONFRONTA(A2;$A$2:$A$1000000;0)
nella macro:
da Cells(I, 2) = J a Cells(I, 2) = "A" & J

Ciao a tutti.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Variabili e numeri

Postdi marcoclive » 06/01/11 18:43

Provero' tutte le soluzioni grazie...

sapete come si chiama il parametro "confronta" su excel francese? Il mio collega non ce l'ha in italiano :(
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Re: Variabili e numeri

Postdi ricky53 » 06/01/11 18:52

Ciao,
prova 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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Variabili e numeri

Postdi marcoclive » 10/01/11 10:32

ricky53 ha scritto:Ciao,
prova qui


purtroppo la variabile "controlla" non la trova....che sfiga
marcoclive
Utente Junior
 
Post: 15
Iscritto il: 04/01/11 16:12

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Variabili e numeri":


Chi c’è in linea

Visitano il forum: alfrimpa e 20 ospiti