Ciao psassi,
apprezzatissima la macro, ma cerchiamo di usare le formule il piu' possibile.
Molto elegante, comunque. Complimenti
2218, ti allego un file che ho creato partendo dalla tua richiesta.
Devi nascondere le colonne B, F, G e H: io le ho lasciate aperte per permetterti di capire i passaggi.
Il problema che potresti avere e' trovare due parole identiche. In condizioni normali questo manda in crisi tutte le funzioni di ricerca e riferimento.
Per questo la prima cosa da fare e' creare una colonna di appoggio in cui fondi il valore della riga in cui si trova la parola con la parola stessa (colonna B ).
Otterrai "asso5", "asso7", ecc. Queste saranno le VERE parole da cercare. Il risultato finale e' solo la parola che sta accanto (a sx) di queste.
Per semplicita' evidenzio anche le ricorrenze (cella G1) che capisco usando un semplice CONTA.SE. Puoi mettere queste celle con il font in bianco cosi' l'utente non le vede o le puoi nascondere.
Le ricorrenze mi servono per crare un elenco numerato (cella E8) e successive. Il limite e' che ipotizzo non piu' di 10 righe, ma se copi verso il basso ne ottieni quante ne vuoi.
Da F7 a I7 ci sono formule abbastanza semplici. In caso chiedi e ti sara' risposto.
La parte piu' interessante inizia in F8.
Qui cerco la parola trovata in precedenza su un range che creo usando SCARTO e imponendo a Excel di partire da B1 + il numero di riga in cui ho trovato la parola precedente. Quindi B6. Aggiungo come limite 20000 (assumo che il tuo db non sia piu' lungo... in caso lo fosse forse stai usando il programma sbagliato).
Quindi cerco la parola precedente nel range B6:B2000 e questo esclude la possibilita' di trovare la stessa parola nuovamente.
In G8 cerco la posizione della parola in generale con gli asterischi (con CONFRONTA) e aggiungo la riga della posizione della parola precedente. Ottengo un nuovo limite inferiore che usero' poi.
In H8 riporto la parola "vera" usando la colonna A. Quando Excel trova un errore lo riporta nelle righe in cui non esiste alcuna ricorrenza (vedi i vari N/D). Per questo in I8 evito di mostrare errori usando la funzione SE abbinata a VAL.ERRORE.
Nella realta' di solito condenso le formule in una o due al max, e evito che Excel faccia calcoli se so che c'e' un errore, ma per chiarezza l'ho evitato altrimenti dovevo usare troppi SE (e qualche MA

)
Ciao,
G.
Attachment Usare_Excel_come_db_ricerca.xls not found