CERCAVERT su due colonne



  • 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