CERCAVERT su due colonne
Hai un problema con Excel? 
CERCAVERT su due colonne
di Fabio (utente non iscritto) data: 18/11/2015 23:11:21
Buonasera,
ho la necessità di unire nella colonna C due colonne (Colonna A e Colonna B) superiori a 35000 righe cadauna per poi poter fare una ricerca con il CercaVert.
Il problema è che Excel 2003 ha come massimo 65536 righe.
E possibile utilizzare il cercavert sulle due colonne separate?
Grazie
di Mister_x (utente non iscritto) data: 19/11/2015 00:01:10
ciao
con questo non si capisce se vuoi trovare la posizione ,per intenderci la riga o riportare il valore o chi per esso accanto a questa ricerca su due colonne
comunque prendiamo in considerazioone sia il primo che il secondo , su un normalissimo databese in colonna A B C
pippo pippo 10
pluto pluto 15
paperino paperino 20
qui qui 25
quo quo 30
qua qua 35
ammettiamo di rilevare la posizionje di A= qui e B=qui Ps puo' essere anche RossiMario BianchiCarlo
in Rossi e in B Mario ecc
per la posizione di riga
CONFRONTA("quiqui";A1:A6&B1:B6) matriciale ctrl+maiusc+invio qui avrai che la riga e' la 4
se invece vogliamo riportare il valore di col C in base ad A&B
INDICE(A1:C6;CONFRONTA("quiqui";A1:A6&B1:B6);3) matriciale ti verra riportato 25
con questo se ai problemi posta un tuo file con quello che vuoi fare e ottenere dopo la tua ricerca
ciao
di Fabio (utente non iscritto) data: 19/11/2015 09:56:19
Ciao e grazie per la tempestiva risposta.
la mia necessità è quella di trovare i valori corrispondenti (tua seconda ipotesi)
Comunque nel pomeriggio creo un file da allegare così riesco a spiegare meglio il problema.
ciao
di Fabio (utente non iscritto) data: 19/11/2015 15:54:55
rieccomi....
allego il file cercando di spiegare il più semplicemente e sinteticamente possibile cosa mi serve (sperando di riuscirci).
1 - da un primo file txt estraggo dei codici (prodotto/garanzia A) che copio nelle colonne A e B del foglio1
2 - da un secondo file txt estraggo dei codici (prodotto/garanzia B) che copio nelle colonne A e B del foglio2
3 - copio le colonne A e B (del Foglio1 e del Foglio2) nelle colonne C e D del Foglio3
4 - ordino i dati (Foglio3 - colonne C e D) in base alla colonna C
5 - calcolo il numero delle garanzie presenti in ogni prodotto (colonna A Foglio3)
6 - creo un codice univoco Prodotto-Garanzia (colonna B Foglio3)
7 - in colonna F del Foglio3 copio i codici prodotto estratti fa un terzo file txt
8 - nelle colonne da G a T estraggo le garanzie in base al codice prodotto della colonna F.
In pratica traspongo, in orrizzontale, tutte le garanzie per ogni codice prodotto che trovo nel terzo file txt (probabilmente c'è un modo più semplice, ma questo è quello che so fare).
Tutto mi funziona perfettamente fino a quando l'unione dei dati (righe Foglio1 e Foglio2) non superano le fatidiche 65536 righe.
Infatti quando la macro cerca di copiare i dati del foglio1 + foglio2 va in errore non avendo abbastanza righe.
Eccò perchè pensavo di gestire la ricerca delle garanzie (con il cercavert) lavorando su più colonne
Problema che, naturalmente, non ho su versioni di Excel più recenti, ma purtroppo devo usare la versione 2003 perchè è quella che utilizzano anche altri utenti.
Per cercare di essere comprensibile ho cercato di spiegare passo passo quello che faccio.
Grazie e buona giornata.
di Mister_x (utente non iscritto) data: 19/11/2015 22:41:02
ciao
guardando i tuoi dati e pensando a dei file txt con dei record superiori a 33000 non penso che se adottiamo una sub() possimo risolvere il problema , la cosa utile e' dire a chi utilizza ancora il 2003 di passare al 2007 o ad openoffice il quale a superato questo limite del 65556
comunque non dire mai , se questa notte tanto che dormo mi prilla qualche idea ti faccio sapere
ciao
di Mister_x (utente non iscritto) data: 20/11/2015 10:17:54
ciao
quello che mi e' passato per la mente e utilizzare il VBA
ti posto un esempio di esecuzione per questo lavoro inserito nel tuo file
PS ho aggiunto un foglio per farti capire cosa ho fatto
primo ho copiato dal foglio1 tutta la colonna A e sono andato in foglio4 incollato in colonna A questi dati
messi dal piu' piccolo al piu' grande e eliminati i doppi
foglio2 copiato sempre la colonna A e foglio4 colonna a incollati questi sotto ai dati rimasti di foglio1
rifatto sempre la procedura dati dal piu'piccolo al piu' grande ed eliminati i doppi
PS si intende che per il 2003 bisogna costruire sub() per fare questo lavoro
finito questo ho fatto eseguire alla sub() inserita in foglio4 il restante lavoro
questo e' quello che mi e' ritornato utile fare per il 2003
quindi diciamo che il tutto si puo fare tramite VBA senza sorta di problemi
ciao
di Fabio (utente non iscritto) data: 20/11/2015 12:17:44
mi sembra un'ottima soluzione.
Oggi ci lavoro e se ho bisogno ti disturbo ancora.
Grazie e buona giornata
Vuoi Approfondire?