Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 30 di 37

Discussione: Ricerca di un valore su più fogli



  1. #1
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Ricerca di un valore su più fogli

    Buongiono a tutti.
    Sono nuova del forum, a cui sono arrivata dopo infiniti tentativi di trovare qualche indicazione utile su internet e in particolare sui tutorial in YouTube.
    Preciso che sono una utilizzatrice poco più che basic di Excel e che quindi, nonostante tanti sforzi, fatico a capire se, tra le informazioni consultate, quanto cerco non c'è davvero o sono io che non lo so trovare.

    Avrei questa esigenza:
    Settimanalmente ricevo elenchi contenenti centinaia di nomi complessi (1 colonna con diverse centinaia di righe a settimana) che devo confrontare con un altro elenco (anche qui 1 colonna con circa 800 righe) per vedere se ci sono corrispondenze anche solo parziali.
    Detto così sembra facile, e, in effetti, io avevo fatto un VLOOUP, ma in realtà la cosa è un po' più complessa, almeno per me

    Cerco di essere chiara.
    Io ho il file "pippo.xls" che contiene un foglio, nominato "Matrice", in cui, nella colonna 1 c'è l'elenco dei circa 800 nomi che devo cercare negli elenchi che ricevo settimanalmente.
    Ogni settimana quando ricevo l'elenco da verificare lo copio in nuovo foglio del file pippo.xls (es.: week1, week2, week3), in colonna 1
    Quindi, nella colonna 2 del foglio "Matrice" (di fianco quindi ai nomi da cercare) applico la seguente formula: =CERCA.VERT("*"&A2&"*";'week 22'!$A$1:$A$5000;1;FALSO)
    Con questa formula, in effetti, in colonna 2 di fianco ad ogni riga della colonna 1, mi risulta se nel foglio della settimana corrispondente c'è un match anche solo parziale. Il numero totale di valori (e quindi di righe) da confrontare, non è uguale, ma cambia tutte le settimane (quello che ricevo settimanalmente).

    IL mio grande problema è però che, così facendo, se l'elenco settimanale contiene più di un risultato che corrisponde parzialmente o totalmente a ciascun nome dell'elenco "Matrice", io posso vedere solo il primo match nella casella a finaco al valore corrispondente nel foglio matrice.

    Ho fatto diversi tentativi ma proprio non ne vengo fuori e per me è fondamentale non solo sapere qual'è il valore della colonna 1 nel foglio Matrice che ha qualche corrispondenza nei diversi elenchi settimanali, ma anche vedere i singoli valori che corrispondono perchè su ciascuno di essi devo poi fare ulteriori indagini.
    Allego un file molto semplificato per essere più chiara. Come si vede, indipendentemente dal numero di "corrispondenze" valide negli elenchi settimanali, quando applico la formula questa mi restituisce unicamente il primo valore trovato e ignora tutti gli altri.

    C'è un modo per risolvere il problema? Vi sarei davvero tanto riconoscente se poteste aiutarmi.

    Grazie comunque dell'attenzione e buona giornata,

    alice
    Ultima modifica fatta da:Gerardo Zuccalà; 02/08/16 alle 14:54

  2. #2
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Ciao, benvenuto in forumexcel.it
    Essendo questa la tua prima volta che scrivi in questo forum ti consiglio di leggerti il “Regolamento” e a visitare la sezione “Annunci dello staff”,


    @ Indaco
    Tu scrivi:
    Io ho il file "pippo.xls" che contiene un foglio, nominato "Matrice",
    Ma io non vedo nessun nessun file nominato pippo.xls e nessun foglio nominato "Matrice"
    forse hai sbagliato file?
    Cordiali saluti e buona continuazione

  3. #3

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ciao a tutti,

    @Alice
    un problema simile è stato affrontato qualche giorno fa:
    http://www.forumexcel.it/forum/6-dom...ore-prefissato

    ma mentre in quella discussione si sapeva a priori quante righe aggiungere (una per ogni "risultato"... quindi 3 per ogni "elemento"), nel tuo caso non è possibile.

    In linea generale, per ottenere tutti i riscontri, si usa una combinazione tra la funzione INDICE, SE e PICCOLO (o comunque le loro varianti).
    Come detto prima, questo può essere fatto lasciando a priori un numero di righe sufficiente a contenere ogni riscontro che potrai trovare.
    Ad esempio, se sai che al massimo per i dati di un "week" potrai trovare 10 corrispondenze, lascerai 10 righe vuote per ognuno degli 800 elementi base che hai per confrontare (8000 righe in totale quindi).

    L'alternativa è ricorrere al VBA, che però, mi sembra aver capito tu non lo conosca.... quindi risulterà un pò complicato modificare il codice per eventuali modifiche.

    Fammi sapere.

    Ciao
    Tore

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  4. #4
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Comunque oltre a quello che ha detto Tore () trovo anche poco logico ciò che vorresti ottenere, perchè che senso ha sapere che esempio nel campo week22 in corrispondenza della riga "pipperdine" ci sia scritto "pipperdine"??? sarebbe più giusto sapere la somma di quante volte hai trovato "pipperdine"

    Sono ancora un po confuso e comunque per capire bene ciò che vorresti, sarebbe un ottima cosa che tu scrivessi il risultato a mano, almeno per una colonna Esempio la colonna Week 22 cosi il risultato sarà inequivocabile ed incontrovertibile
    Un Saluto

    ----------Post unito in automatico----------

    Alla luce di ciò che ha detto cromagno e quanto ho detto io nel post precedente, credo che tu voglia solo analizzare i dati , cioè quante volte un prodotto con il nome parziale venga trovato e quindi non estrarre i nomi perchè appunto se ci sono tanti nomi con lo stesso criterio non c'è lo sazio sufficiente per inserirli tutti in una cella

    Nel foglio controlled substances nella cella C2
    metti questa formula e trascinala a destra ed in basso

    =MATR.SOMMA.PRODOTTO(--(VAL.NUMERO(RICERCA($B2;INDIRETTO("'"&C$1&"'!$A$2:$A$1320")))))

    Per evitare gli zero personalizza il formato del numero con

    0;-0;""

    Fammi sapere
    ciao
    Ultima modifica fatta da:Gerardo Zuccalà; 02/08/16 alle 14:54

  5. #5
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    File Rimossi richiesta da utente in MP

  6. #6
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Grazie Tore, Grazie Gerardo,

    per la disponibilità e per le risposte.
    Mi spiace di non essere stata molto chiara nell'esporre le mie esigenze.
    Riallego il file corretto e semplificato.

    Il mio scopo, fondamentalmente è sapere se nell'elenco che ricevo settimanalmente, c'è il minimo rischio che ci possa essere anche solo unaparziale corrispondenza con un elenco in mio possesso.

    Allego un nuovo file di esempio, semplificato e maggiormente dettagliato.

    Il file allegato contiene due fogli:
    Foglio Matrice: contiene l'elenco dei valori "fissi" che userò per confrontare quelli che ricevo settimanalmente
    Foglio Week1: contiene l'elenco dei valori che ricevo settimanalmante e che devo verificare per la corripondenza totale o parziale con l'elenco in Matrice

    @Gerardo: purtroppo, non mi basta sapere quanti sono i valori corrispondenti, ma devo assolutamente sapere quali sono questi valori nell'elenco settimanle, in modo che li possa poi analizzare singolarmente.

    @Tore: non sono certa di aver capito bene, ma considera che sia l'elenco contro cui devo fare il confronto che quello da controllare contengono mediamente 800/900 valori, sarebbe quindi poco gestibile inserire per ciascuno 10/15 righe per potere visualizzare tutti i risultati.

    La cosa migliore forse sarebbe invertire la ricerca e cioè ottenere i risultati sul foglio con i valori da controllare invece che su quello con la "Matrice"

    In pratica dato un foglio con valori diciamo "Fissi" (Matrice) che rappresentano i valori da cercare, e, dato un secondo foglio con valori "Variabili" (Week 1) che sono quelli da controllare contro i Fissi, nel foglio con i valori variabili, per ciascun valore dovrei verificare se c'è una corrispondenza nel foglio con i valori fissi.
    In questo modo, avrei il risultato per ciascun valore variabile e non avrei problemi per eventuali risultati multipli.
    Forse sul file esempio si capisce meglio.

    Grazie ancora tanto per il supporto,

    alice
    File Allegati File Allegati

  7. #7
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Avevo indovinato io, il file che avevi messo era sbagliato ecco perchè io e tore stavamo impazzendo

    Comunque nel foglio matrice nella cella D2 metti questa formula e copia a destra e in basso

    =SE.ERRORE(INDICE(INDIRETTO("'"&$B$1&"'!A1:A150");AGGREGA(15;6;(RIF.RIGA($A$2:$A$150))/(VAL.NUMERO(RICERCA($A2;INDIRETTO("'"&$B$1&"'!A2:A150"))));COLONNE($D$2:D2)));"")


    Attenzione pero!!
    Se io cerco "pippo" mi trova tutti i nomi con dentro la stringa di testo "Pippo" e non "Ippopotamo" come hai scritto tu..

    fammi sapere

  8. I seguenti utenti hanno dato un "Like"


  9. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ciao Gerardo,
    la tua formula credo che vada bene, ma considerando la mole di dati (destinata ad aumentare), le formule rallenterebbero molto i calcoli.
    Si potrebbe settare il calcolo come "Manuale" ed aggiornare col tasto F9...comunque, aspetto qualche riscontro dal richiedente prima di cimentarmi col VBA

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  10. #9
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Si potrebbe settare il calcolo come "Manuale" ed aggiornare col tasto F9..
    Ciao Tore a tal proposito
    a volte mi trovo il mio excel 2013 che è Swiciato in "manuale" senza però averlo settato io, da cosa potrebbe dipendere? a volte questa cosa è molto noiosa perchè le formule non funzionano fino a quando mi ricordo che devo girare in "Automatico"

  11. #10
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Grazie Gerardo, funziona!

    L'unico problema è che, scioccamente, pensavo che fosse possibile avere un riscontro anche per valori che contenessero solo una parte del termine da cercare.
    Ad esempio
    pippo --> ippopotamo
    gatto -->gattile, gattatico

    Mi rendo conto invece che è impossibile, anche perchè non si può assegnare un criterio comune per tutti.
    Comunque dovrebbe andare bene anche così.

    Per una questione di "ordine" dei dati e di evitare rischi di confusione o errore, forse sarebbe stato meglio, se fosse stato possibile ottenere i risultati sul foglio da controllare anzicchè su Matrice, in modo da poterli vedere singolarmente nell'elenco. Ma va bene anche così.

    @ Tore:

    VBA è il mio sogno segreto, come sai ormai... e mi piacerebbe tanto, ma sono piuttosto impedita

    alice

  12. #11
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Per una questione di "ordine" dei dati e di evitare rischi di confusione o errore, forse sarebbe stato meglio, se fosse stato possibile ottenere i risultati sul foglio da controllare anzicchè su Matrice, in modo da poterli vedere singolarmente nell'elenco. Ma va bene anche così.
    ti consiglio di lasciarli cosi e basterà che nella cella B2 metti "week 1" o "week2" ecc. ecc.... e vedrai che istantaneamente avrai i risultati provenienti da altri fogli
    nell'immagine si capisce meglio


  13. #12
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Gerardo, grazie davvero di tutto.

    Purtroppo però mi sono accorta appena di un problemino...

    Se nella colonna del foglio week1 che devo controllare, ci sono due risultati uguali, ad esempio "gatto" è ripetuto nella riga 6 e 9 della colonna A del foglio week1, la formula che mi hai dato, mi restituisce gatto una sola volta.
    Il problema è che in realtà ai due "gatto" sono associati (su un altro file) codici diversi e io ho bisogno di controllarli entrambi. Quindi anche se i due "gatto" sembrano la stessa cosa sono due cose diverse ed io ho bisogno di vedere per entrambi al corrispodenza con "gatto" nella matrice.

    IL controllo finale infatti io poi lo farò in base ai codici diversi a cui i due "gatto" sono associati.

    Anche per questo motivo probabimelmente sarebbe meglio avere i risultati per ciascun valore contenuto nel foglio week1, anzicchè in Matrice.

    I risultati ottenuti in questo modo mi consentirebbero anche di conoscere l'esatta posizione del risultato ottenuto nella lista del foglio week1 e anche questa per me può essere una informazione utile.

    Non vorrei esagerare con le richieste e imploro la vostra pazienza, ma ci sarebbe un ulteriore livello di complicazione...

    Nei documenti "veri" nel foglio "Matrice" ci sono in realtà due colonne, la A e la B. I dati "salienti" da controllare in realtà sono sulla colonna B e la colonna A descrive la categoria corrispondente (per ogni valore, dice di cosa si trattra).
    Ad esempio:
    A B
    1 codice abc
    2 nome pippo
    3 colore rosso
    4 colore verde
    5 codice 1abcd
    6 colore giallo
    7 animale topo
    8 animale gatto
    Non so se si possa fare e se abbiate ancora la pazienza di aiutarmi... ma per me sarebbe davvero utile riuscire a collegare a ciascun risultato di corrispondenza che ottengo, anche la relativa categoria, cioè il valore nella cella a fianco

    Esempio:

    Risultato per Week1

    A (week 1:da controllare)


    B (risultato da Matrice)



    C (cella adiacente al risultato)

    1 abc abc codice
    2 ippopotamo pippo nome
    3 rosso
    4 pippo pippo nome
    5 gattile gatto animale
    6 toponomastica topo animale


    Troppo? Me ne rendo conto.

    Posso solo dire che per me non si tratta tanto di velocizzare il processo, quanto di essere certa di non commettere errori e tralasciare qualcosa, vista la mole di dati da gestire.

    Grazie mille e buon proseguimento di serata,

    alice

  14. #13
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125

    Re: esigenze particolari di VLOOKUP

    Ma hai cambiato le carte in tavola?? mi vuoi fare impazzire?
    Non usi più la prima soluzione?? adesso vuoi un'altro metodo??

    Mi puoi allegare un un file Pulito con 3+1 Fogli, (es. 1 matrice + week1 Week2 e Week3) con il risultato atteso scritto a mano cosi non mi è chiaro e la tua richiesta è inequivocabile ed incntrovertibile
    Grazie

  15. I seguenti utenti hanno dato un "Like"


  16. #14

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ma hai cambiato le carte in tavola?? mi vuoi fare impazzire?
    Non usi più la prima soluzione?? adesso vuoi un'altro metodo??

    Mi puoi allegare un un file Pulito con 3+1 Fogli, (es. 1 matrice + week1 Week2 e Week3) con il risultato atteso scritto a mano cosi non mi è chiaro e la tua richiesta è inequivocabile ed incntrovertibile
    Grazie
    Mi associo a quanto detto da Gerardo (per fortuna che non ho ancora iniziato a scrivere nulla in VBA ).
    Alice, per poter scrivere una formula o un codice, bisogna sapere esattamente che dati dobbiamo trattare e dove si trovano, altrimenti scriveremmo cose che nel tuo file originale non potranno mai funzionare.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  17. #15
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Avete ragione, chiedo scusa...
    Di alcune cose mi sono resa conto solo provando la soluzione di Gerardo.

    Adesso metto bene giù un file preciso preciso con tutto quello che ho e che vorrei ottenere. Appena ho la certezza che sia a posto lo giro.

    Grazie,

    alice

  18. #16
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Carissimi,

    ho creato un file excel con le spiegazioni dei dati che possiedo e di cosa vorrei ottenere.
    Mi auguro che sia sufficientemente chiaro e completo e di non avere omesso nulla.

    Per evitare errori da parte mia ho cercato di rappresentare la situazione più completa possibile, aggiungendo anche opzioni ulteriori per i risultati.
    Ovviamente, lo scopo è quello di ottenere un confronto efficace e sicuro anche senza necessariamente tenere conto delle opzioni aggiuntive illustrate nel file.

    Davvero non so come ringraziarvi per la pazienza e l'aiuto.

    Buona serata,

    alice
    File Allegati File Allegati

  19. #17

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ciao Alice,
    è chiaro quello che vuoi fare, ma anche in questo esempio non tornano 2 cose:


    1. non hai considerato la possibilità di trovare un doppio riscontro (o anche più di 2), quindi non si sa come vorresti gestire quest'eventualità
    2. nel foglio "week1" hai considerato il riscontro (nel Match 2) di "micio" con la parola "mico". Questo implica un'esponenziale controllo delle parole. Mentre prima hai detto che potrebbe andare bene anche se la parola è parzialmente uguale... ma comunque intera, esempio: "amico" può considerarsi uguale a "mico".

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  20. #18

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Comunque....

    in attesa di spiegazioni, ti posto un codice che fa più o meno quello che intendevi (nel file allegato si trova nel modulo 2, nel modulo 1 stavo iniziando a scrivere quello che cerca corrispondenze più generali.... ma non so quanto convenga):

    Codice: 
    Sub Confronta_find()
    Dim Wks1 As Worksheet, Wks2 As Worksheet, uRiga1 As Long, uRiga2 As Long
    Dim Testo As String, i As Long, j As Long, Matr() As String, Max_Row As Long
    Dim x As Long, y As Long, Trova As Range
    
    
    Set Wks1 = Worksheets("Matrice")
    Set Wks2 = Worksheets("week1")
    uRiga1 = Wks1.Range("A" & Rows.Count).End(xlUp).Row
    uRiga2 = Wks2.Range("A" & Rows.Count).End(xlUp).Row
    Wks2.Range("C2:E" & uRiga2).ClearContents
    
    
    With Wks1.Range("B2:C" & uRiga1)
        For i = 2 To uRiga2
            Set Trova = .Find(Wks2.Range("B" & i).Value, , xlValues)
            If Not Trova Is Nothing Then
                x = Trova.Row
                y = Trova.Column
                Wks2.Cells(i, Trova.Column + 1).Value = Trova.Value
                Testo = .Range("A" & Trova.Row).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & Trova.Row).Value
            End If
        Next i
    End With
    
    
    End Sub
    L'ho provato nel foglio "week1" (il foglio "week1 (foglio iniziale)" è quello dove hai scritto i risultati manualmente).

    P.S.
    nel codice ci sono variabili dichiarate e non usate e alcune righe che si possono eliminare...ma mi servivano per fare delle prove.
    File Allegati File Allegati

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  21. #19
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao Alice,
    è chiaro quello che vuoi fare, ma anche in questo esempio non tornano 2 cose:


    1. non hai considerato la possibilità di trovare un doppio riscontro (o anche più di 2), quindi non si sa come vorresti gestire quest'eventualità
    2. nel foglio "week1" hai considerato il riscontro (nel Match 2) di "micio" con la parola "mico". Questo implica un'esponenziale controllo delle parole. Mentre prima hai detto che potrebbe andare bene anche se la parola è parzialmente uguale... ma comunque intera, esempio: "amico" può considerarsi uguale a "mico".
    Buongiorno Tore.

    Per quanto riguarda micio/mico si tratta di un errore di typing, intendevo micio in entrambi i casi. Scusa mi è sfuggito!

    Per quanto riguarda i doppi o tripli riscontri, quello che posso dirti è che io ho necessità di vederli tutti. Ad esempio se nel foglio week1 (cioè quello da controllare) "micio" comparisse 20 volte, io avrei bisogno di vedere tutti e 20 i risultati di corrispiondenza
    E se anche ci fosse la doppia corrispondeza micio e gatto, anche quella vorrei vederla tutte le volte che capita.
    E' per questo motivo che mi sono resa conto che il foglio su cui creare i risultati dovrebbe essere week1, week2,... e non Matrice: in questo modo per ogni singolo valore dell'elenco che devo verificare ho, nelle celle a fianco, il riscontro esatto (negativo, singolo, multiplo, che sia).

    E' questo che intendeva la domanda che mi hai posto?

    Grazie di lavoraci su,

    alice

  22. #20

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da indaco Visualizza Messaggio
    Buongiorno Tore.

    Per quanto riguarda micio/mico si tratta di un errore di typing, intendevo micio in entrambi i casi. Scusa mi è sfuggito!

    Per quanto riguarda i doppi o tripli riscontri, quello che posso dirti è che io ho necessità di vederli tutti. Ad esempio se nel foglio week1 (cioè quello da controllare) "micio" comparisse 20 volte, io avrei bisogno di vedere tutti e 20 i risultati di corrispiondenza
    E se anche ci fosse la doppia corrispondeza micio e gatto, anche quella vorrei vederla tutte le volte che capita.
    E' per questo motivo che mi sono resa conto che il foglio su cui creare i risultati dovrebbe essere week1, week2,... e non Matrice: in questo modo per ogni singolo valore dell'elenco che devo verificare ho, nelle celle a fianco, il riscontro esatto (negativo, singolo, multiplo, che sia).

    E' questo che intendeva la domanda che mi hai posto?

    Grazie di lavoraci su,

    alice
    Ok...
    hai visto il file allegato prima?
    dammi qualche riscontro, almeno posso capire se siamo sulla strada giusta...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  23. #21

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6771
    Versione Office
    2013
    Likes ricevuti
    716
    Likes dati
    164

    Re: esigenze particolari di VLOOKUP

    Ciao Tore

    Solo un paio di chiarimenti:

    1) Perché dichiari un array Matr() e Max_Row e poi non le utilizzi nel codice?
    2) Perché inizializzi x = Trova.Row e y = Trova.Column quando poi nel codice scrivi

    Codice: 
    Wks2.Cells(i, Trova.Column + 1).Value = Trova.Value
                Testo = .Range("A" & Trova.Row).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & Trova.Row).Value
    e non

    Codice: 
    Wks2.Cells(i, y + 1).Value = Trova.Value
                Testo = .Range("A" & x).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & x).Value
    Grazie

    Alfredo

  24. #22
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Ho visto ora la seconda parte con il codice e il file. Grazie!

    Anche se devo capire bene come funziona... :(

    Adesso ho una riunione, ci guardo meglio più tardi.

    Grazie grazie!

    alice

  25. #23

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Ciao Tore

    Solo un paio di chiarimenti:

    1) Perché dichiari un array Matr() e Max_Row e poi non le utilizzi nel codice?
    2) Perché inizializzi x = Trova.Row e y = Trova.Column quando poi nel codice scrivi

    Codice: 
    Wks2.Cells(i, Trova.Column + 1).Value = Trova.Value
                Testo = .Range("A" & Trova.Row).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & Trova.Row).Value
    e non

    Codice: 
    Wks2.Cells(i, y + 1).Value = Trova.Value
                Testo = .Range("A" & x).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & x).Value
    Grazie

    Alfredo
    Ciao Alfredo,
    ho aggiunto dopo il "P.S." nel post #18
    P.S.
    nel codice ci sono variabili dichiarate e non usate e alcune righe che si possono eliminare...ma mi servivano per fare delle prove.
    La dichiarazione della matrice, riguardava il codice nel "Modulo 1" (da completare)... per velocizzare ho ricopiato le stesse variabili dichiarate nel "modulo 1"

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  26. #24

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6771
    Versione Office
    2013
    Likes ricevuti
    716
    Likes dati
    164

    Re: esigenze particolari di VLOOKUP

    Perdonami Tore ma non lo avevo proprio visto il tuo P.S.

    Un caro saluto.

    Alfredo

  27. #25

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Perdonami Tore ma non lo avevo proprio visto il tuo P.S.

    Un caro saluto.

    Alfredo
    Ciao Alfredo,
    le martellate in testa ( ) erano per me, non per te...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  28. #26
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ok...
    hai visto il file allegato prima?
    dammi qualche riscontro, almeno posso capire se siamo sulla strada giusta...

    Strada giusta?
    Per quello che mi riguarda, siamo sull'Enterprise e tu hai attivato il Teletrasporto!!!

    E' stupendo!
    Non capisco esattamente tutto, non so se hai ancora qualcosa da mattere a posto, non so come posso trasferire il tutto ad altri fogli/file, non so cosa sia l'altra Macro "Confronta_Matr", ma quello che riesco a fare in week1 è favoloso!
    L'ho provato con i miei dati "veri" e funziona.

    Grazie grazie grazie.

    C'è qualcosa in particolare che posso provare o verificare per darti un riscontro meno "emotivo" e più tecnico?

    alice

  29. #27

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ciao,
    la macro "Confronta_Matr" (da completare) avrebbe dovuto cercare ogni riscontro somigliante...

    Ad esempio, supponendo di confrontare la parola letto, tu nella formula cercavi:
    "*"&"letto"&"*"

    con quella macro, l'intenzione era di aggiungere un asterisco di volta in volta in una posizione successiva, esempio:
    *l*etto*
    *le*tto*
    *let*to*
    *lett*o*
    *letto*

    in questo modo si trovano sicuramente molte più corrispondenze, ma il tempo di calcolo si allunga enormemente e probabilmente molti riscontri trovati non avranno nulla a che fare con quello che in realtà stavi cercando; per questo ho detto:
    Citazione Originariamente Scritto da cromagno
    ... ma non so quanto convenga


    Se ti va bene cosi, devo solo specificare che la variabile "Wks2" non si riferisce sempre e solo al foglio "week1" ma al foglio attivo.
    Inoltre, per evitare di mettere pulsanti, si può associare la macro ad una combinazione di tasti.

    Ritorno tra un pò....

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  30. #28

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ho modificato in questo modo:

    Codice: 
    Sub Confronta_find()
    Dim Wks1 As Worksheet, Wks2 As Worksheet, uRiga1 As Long, uRiga2 As Long
    Dim Testo As String, i As Long, Trova As Range
    
    
    Set Wks1 = Worksheets("Matrice")
    Set Wks2 = ActiveSheet
    If Wks1.Name = Wks2.Name Then Exit Sub
    Application.ScreenUpdating = False
    uRiga1 = Wks1.Range("A" & Rows.Count).End(xlUp).Row
    uRiga2 = Wks2.Range("A" & Rows.Count).End(xlUp).Row
    Wks2.Range("C2:E" & uRiga2).ClearContents
    
    
    With Wks1.Range("B2:C" & uRiga1)
        For i = 2 To uRiga2
            Set Trova = .Find(Wks2.Range("B" & i).Value, , xlValues)
            If Not Trova Is Nothing Then
                Wks2.Cells(i, Trova.Column + 1).Value = Trova.Value
                Testo = .Range("A" & Trova.Row).Value
                Wks2.Range("E" & i).Value = Wks1.Range("A" & Trova.Row).Value
            End If
        Next i
    End With
    Application.ScreenUpdating = True
    msgbox "Confronto completato!"
    End Sub
    All'apertura del file apparirà un messaggio che ti ricorda come avviare il codice (al momento, con la combinazione di tasti CTRL+a).
    Quindi,nell'editor VBA, troverai questo nel modulo di classe di "Qluesta_cartella_di_lavoro":

    Codice: 
    Private Sub Workbook_Open()
    MsgBox "Per avviare il codice, posizionarsi in un foglio week " & _
    "e premere la combinazione di tasti CTRL + a.", vbInformation
    End Sub
    Per modificare la combinazione di tasti, vai alla scheda "SVILUPPO" (se non ce l'hai la devi attivare dalle "opzioni di Excel") e clicca sull'icona "Macro",
    seleziona la macro che ti interessa e clicca il pulsante "Opzioni...".
    File Allegati File Allegati

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  31. #29
    L'avatar di indaco
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    milano
    Messaggi
    48
    Versione Office
    2010
    Likes ricevuti
    1

    Re: esigenze particolari di VLOOKUP

    Tore,

    mi sembra che non funzioni la ricerca dei valori simili.
    Infatti Pippone, gattone, non me li trova. Mi sembrava che prima però funzionasse.

    Ho fatto qualcosa di sbagliato?

    alice

  32. #30

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: esigenze particolari di VLOOKUP

    Ciao,
    no, "pippone" non lo poteva trovare neanche prima perchè tu stai cercando come base la parola "pippone" e vorresti come corrispondenza la parola "pippo"....
    ma "pippone" non si trova all'interno di "pippo", il contrario si ("pippo" fa parte della parola "pippone").
    Non so se mi sono spiegato....

    In pratica per fare quello che chiedi, si dovrebbe fare una "doppia ricerca":
    • le parole del foglio "week" che "stanno dentro" le parole del foglio "Matrice"
    • le parole del foglio "Matrice" che "stanno dentro" le parole del foglio "week"

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

Discussioni Simili

  1. Risposte: 6
    Ultimo Messaggio: 28/01/17, 21:58
  2. Risposte: 9
    Ultimo Messaggio: 30/12/16, 19:41
  3. Risposte: 5
    Ultimo Messaggio: 01/12/16, 12:36
  4. Ricerca su piu' fogli con VBA
    Di supermagix1 nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 10/04/16, 16:12
  5. Ricerca su più fogli
    Di nick0573 nel forum Domande su Excel in generale
    Risposte: 38
    Ultimo Messaggio: 21/01/16, 07:52

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
  •