Risultati da 1 a 20 di 20

Discussione: Confronto Celle



  1. #1
    L'avatar di Zinga81
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    San Benedetto del Tron
    Età
    36
    Messaggi
    3
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    3

    Confronto Celle

    Ciao,
    sono nuovo nel forum e vorrei chiedervi una mano.
    Io ho un file con:

    Colonna A (Articolo) (n. 300.000 righe)
    Pinza
    Cacciavite
    Trapano
    Chiodo
    Spilla

    Colonna B (p.iva) (n. 300.000 righe)
    00123456789
    00123456788
    00123456888
    00123458888

    Colonna C (Cod. Fornitore) (n. 400 righe)
    1
    122
    264
    269

    Colonna D (p.iva) (n. 400 righe)
    00123456789
    00123456788
    00123456888
    00123458888

    Colonna E
    Risultato cioè Colonna C.


    In pratica ho un elenco di 300.000 articoli. Ad ogni articolo (Colonna A) corrisponde la partita Iva del fornitore (Colonna B). Ovviamente a più articoli può essere associata la stessa P.Iva.
    Ho poi (Colonna C) il codice interno che ho assegnato ai fornitori e relativa partita Iva (colonna D)

    Adesso vorrei riportare nella colonna E il valore presente nella colonna C quando una cella della colonna D è ugale alla colonna B. Questo per ogni riga.

    Osservando il file in allegato è più facile da capire.
    Ho evidenziato la colonna C perchè è quello che vorrei ottenere.


    Grazie
    File Allegati File Allegati

  2. #2
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1672
    Versione Office
    2010 PC
    Likes ricevuti
    894
    Likes dati
    184
    ciao
    si può fare in vari modi, trattandosi di 300000 records non so quale è il più ergonomico, prova in E2:
    =INDICE($C$2:$C$5;CONFRONTA(B2;$D$2:$D$5;0))
    e trascini in basso


    edit
    scusa ma non avevo fatto caso che era nella sezione macro e VBa
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Zinga81 Visualizza Messaggio
    Ciao,
    sono nuovo nel forum e vorrei chiedervi una mano.
    Io ho un file con:

    Colonna A (Articolo) (n. 300.000 righe)
    Pinza
    Cacciavite
    Trapano
    Chiodo
    Spilla

    Colonna B (p.iva) (n. 300.000 righe)
    00123456789
    00123456788
    00123456888
    00123458888

    Colonna C (Cod. Fornitore) (n. 400 righe)
    1
    122
    264
    269

    Colonna D (p.iva) (n. 400 righe)
    00123456789
    00123456788
    00123456888
    00123458888

    Colonna E
    Risultato cioè Colonna C.


    In pratica ho un elenco di 300.000 articoli. Ad ogni articolo (Colonna A) corrisponde la partita Iva del fornitore (Colonna B). Ovviamente a più articoli può essere associata la stessa P.Iva.
    Ho poi (Colonna C) il codice interno che ho assegnato ai fornitori e relativa partita Iva (colonna D)

    Adesso vorrei riportare nella colonna E il valore presente nella colonna C quando una cella della colonna D è ugale alla colonna B. Questo per ogni riga.

    Osservando il file in allegato è più facile da capire.
    Ho evidenziato la colonna C perchè è quello che vorrei ottenere.


    Grazie
    se non ho capito male questo è il risultato (identico a quanto scritto da te in giallo)

    Codice: 
    sub TrovaValori()
    
    Dim uriga, uriga1, uriga2 As LongDim i, e As Integer
    
    
    uriga = Range("B" & Rows.Count).End(xlUp).Row
    uriga1 = Range("D" & Rows.Count).End(xlUp).Row
    uriga2 = Range("E" & Rows.Count).End(xlUp).Row + 1
    
    
    For i = 2 To uriga1
        For e = 2 To uriga
            If Range("D" & i).Value = Range("B" & e).Value Then
               Range("E" & uriga2).Value = Range("C" & i).Value
               uriga2 = uriga2 + 1
               
            End If
        Next
    Next
    
    
    
    
    End Sub
    
    fammi sapere - ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  5. I seguenti utenti hanno dato un "Like"


  6. #4
    L'avatar di Zinga81
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    San Benedetto del Tron
    Età
    36
    Messaggi
    3
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    3
    Tranquillo,
    è che pensavo servisse per forza una macro.
    Cmq funziona. Ho risolto.
    Grazie davvero tanto.
    Grazie anche a Baloon_50

  7. #5
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Zinga81 Visualizza Messaggio
    Tranquillo,
    è che pensavo servisse per forza una macro.
    Cmq funziona. Ho risolto.
    Grazie davvero tanto.
    Scusa Zinga non so a chi ti riferisci ma volevo aggiungere che se usi il mio VBA devi aggiungere un bottone per richiamare la macro (mi sono dimenticato di metterlo)

    riciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  8. I seguenti utenti hanno dato un "Like"


  9. #6

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Post

    Puoi usare questo:
    Codice: 
    Sub CodInterno()
    Dim iRow As Long
    Dim i As Long
    
    
    iRow = 2
    
    
    Do Until Foglio1.Cells(iRow, 1) = ""
        i = 2
        Do Until Foglio1.Cells(i, 4) = Foglio1.Cells(iRow, 2)
            i = i + 1
        Loop
        Foglio1.Cells(iRow, 5) = Foglio1.Cells(i, 3)
        iRow = iRow + 1
    Loop
    End Sub
    Magari c'è di meglio



    Scusate ragazzi, non ho fatto il refresh e solo ora mi rendo conto che avete già risposto.
    P.S. Siete troppo veloci, ci togliete ogni gusto a noi Junior:22:_

  10. #7
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3221
    Versione Office
    Excel2010
    Likes ricevuti
    626
    Likes dati
    155
    Salve a tutti
    @Zinga81
    dici di aver risolto, suppongo, con la formula di ninai (senz'altro validissima). E' così?
    Ma non mi sembra il modo migliore per affrontare il problema. Copiare per 300mila righe la formula non è uno scherzo. E poi penso che il programma si appesantisca troppo rallentando i processi.
    A mio parere è molto più indicata la macro di Baloon (un saluto) ma, credo, anch'essa mostrerebbe, per le famose 300mila righe, un serio rallentamento.

    @Baloon_50
    Non sarebbe meglio lavorare con le matrici e/o con le collection?

    Ciao,
    Mario

    PS Mentre scrivevo è apparso il suggerimento di Rubik (valido anch'esso ma non tiene conto di eventuali righe vuote) ed anche a lui pongo la medesima domanda.

  11. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Salve a tutti
    @Zinga81
    dici di aver risolto, suppongo, con la formula di ninai (senz'altro validissima). E' così?
    Ma non mi sembra il modo migliore per affrontare il problema. Copiare per 300mila righe la formula non è uno scherzo. E poi penso che il programma si appesantisca troppo rallentando i processi.
    A mio parere è molto più indicata la macro di Baloon (un saluto) ma, credo, anch'essa mostrerebbe, per le famose 300mila righe, un serio rallentamento.

    @Baloon_50
    Non sarebbe meglio lavorare con le matrici e/o con le collection?

    Ciao,
    Mario

    PS Mentre scrivevo è apparso il suggerimento di Rubik (valido anch'esso ma non tiene conto di eventuali righe vuote) ed anche a lui pongo la medesima domanda.
    Rubik :Tutte le risposte ben vengano come sai le soluzioni possono essere tante (il mio non è assolutamente vangelo)
    Mario : sicuramente hai ragione ma la mia è deformazione professionale. Come ho accennato sul mio profilo ho programmato per 20 anni in cobol e certe magagne non esistevano infatti se guardi i miei VBA al 90% seguono una logica lineare. Comunque non ci sono problemi come ho detto a Rubik le soluzioni sono tante e anzi mi fa piacere che qualcuno mi apra gli occhi. :261:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  12. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7149
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio

    ....
    Scusate ragazzi, non ho fatto il refresh e solo ora mi rendo conto che avete già risposto.
    P.S. Siete troppo veloci, ci togliete ogni gusto a noi Junior:22:_
    Qui bisogna essere veloci - oltre che bravi :167:
    Pensa ... io mi sono solo allontanato un attimo dal computer ... e sono già piovute diverse soluzioni!!! :90: :288:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  13. #10
    L'avatar di Zinga81
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    San Benedetto del Tron
    Età
    36
    Messaggi
    3
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    3
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Rubik :Tutte le risposte ben vengano come sai le soluzioni possono essere tante (il mio non è assolutamente vangelo)
    Mario : sicuramente hai ragione ma la mia è deformazione professionale. Come ho accennato sul mio profilo ho programmato per 20 anni in cobol e certe magagne non esistevano infatti se guardi i miei VBA al 90% seguono una logica lineare. Comunque non ci sono problemi come ho detto a Rubik le soluzioni sono tante e anzi mi fa piacere che qualcuno mi apra gli occhi. :261:
    Ho detto di aver risolto perchè la soluzione di ninai mi ha restituito il risultato voluto.
    Come hai fatto notare non è stato molto rapida perchè trascinare la formula per 300.00 riga non è un attimo ma funziona.
    Domani applicherò anche la tua soluzione in modo che in furuò utilizzerò la soluzione più rapida e funzionale.

    Grazie a tutti

  14. #11
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3221
    Versione Office
    Excel2010
    Likes ricevuti
    626
    Likes dati
    155
    Ragazzi senza ressa, uno alla volta :188::188::188:
    Il mio intervento era basato esclusivamente sulla velocità di esecuzione. Se date uno sguardo a questa discussione modifica macro evidenziare numieri ripetuti vedrete che da una esecuzione che durava minuti si è passati a pochissimi secondi. Ecco. Intendevo appunto questo.

    Ciao a tutti,
    Mario

  15. #12
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1672
    Versione Office
    2010 PC
    Likes ricevuti
    894
    Likes dati
    184
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Qui bisogna essere veloci - oltre che bravi :167:
    Pensa ... io mi sono solo allontanato un attimo dal computer ... e sono già piovute diverse soluzioni!!! :90: :288:
    Ges quì non ti devi distrarre , che ci tolgono il "lavoro" da sotto :258::258:
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  16. #13
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1672
    Versione Office
    2010 PC
    Likes ricevuti
    894
    Likes dati
    184
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ma non mi sembra il modo migliore per affrontare il problema. Copiare per 300mila righe la formula non è uno scherzo. E poi penso che il programma si appesantisca troppo rallentando i processi.
    Per questi tipi di problemi, generalmente il VBA è il miglior approccio ma nel caso specifico, basta un doppio click (in basso a destra della cella) per copiare in basso e il processo non dovrebbe essere lento, giusto qualche secondo (sono pochi i codici).
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  17. #14

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7149
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    Ges quì non ti devi distrarre , che ci tolgono il "lavoro" da sotto :258::258:
    Forte questa!!!! :258::288:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  18. #15
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    Ges quì non ti devi distrarre , che ci tolgono il "lavoro" da sotto :258::258:
    Io fossi in voi farei una cosa del genere



    :243: :242:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  19. #16
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1672
    Versione Office
    2010 PC
    Likes ricevuti
    894
    Likes dati
    184


    l'importante che non sia così :258:
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  20. #17

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979
    Se si potesse integrare il forum in un App per smartphone (tipo TapaTalk), sarebbe più facile seguire il forum anche fuori casa.
    (magari qualche moderatore/amministratore mi accontenta:97:)

  21. #18

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7149
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Se si potesse integrare il forum in un App per smartphone (tipo TapaTalk), sarebbe più facile seguire il forum anche fuori casa.
    (magari qualche moderatore/amministratore mi accontenta:97:)
    Non c'è la versione per smartphone ma molti di noi seguono il forum dal cellulare, io per esempio ora sto scrivendo dal mio iPhone 6 Plus! :90:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  22. #19

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7149
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Io fossi in voi farei una cosa del genere



    :243: :242:
    Le casse in questo caso non servono ... :67:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  23. #20
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Le casse in questo caso non servono ... :67:
    dipende... in certi casi mentre si lavora una musichetta in sottofondo aiuta la concentrazione :285:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

Discussioni Simili

  1. [Risolto] Confronto dati di due celle parallele
    Di Cristina1 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 06/02/17, 22:41
  2. [Risolto] Confronto tra due DB
    Di sergiogranero nel forum Domande su Microsoft Access
    Risposte: 16
    Ultimo Messaggio: 03/11/16, 15:25
  3. Confronto tra 2 colonne
    Di _adi_ nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 21/09/16, 12:55
  4. Compilazione automatica di celle dopo confronto valori
    Di max.lotti nel forum Domande su Excel in generale
    Risposte: 7
    Ultimo Messaggio: 04/06/16, 16:38
  5. copia celle dopo un confronto con quelle adiacenti
    Di alex nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 09/11/15, 13:19

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •