Giampiero Bianucci mi manda questa
funzione che migliora la procedura di ricerca di CERCA.VERT quando
si deve effettuare su un database di molte migliaia di righe. Come
vi sarà capitato, nel momento in cui si effettuano 10.000 o più
CERCA.VERT uno sotto l'altro, il risultato più probabile che si
ottiene è quello ... di poter andare a prendere il caffè al bar
dato che Excel impiega decine di minuti a calcolare! Questa
funzione di Giampiero permette invece di effettuare l'operazione in
molto meno tempo. La funzione necessita che la colonna entro
cui cercare sia ordinata in senso crescente. Il fatto di
avere la colonna ordinata permette di effettuare una ricerca in modo
molto più efficiente rispetto a una situazione in cui la colonna
non sia ordinata. Questa Funzione effettua infatti una
ricerca binaria mentre il tradizionale CERCA.VERT effettua una
ricerca sequenziale. Tanto per capire quanto sia
tremendamente più efficiente la procedura di Giampiero: su 10.000
celle, il tradizionale CERCA.VERT deve effettuare in media 5.000
confronti per trovare la cella corretta e restituire il valore (deve
andare insomma in media a metà lista prima di trovare il valore
corretto), la funzione di Giampiero deve effettuare log2(10.000)
= 13 confronti. Ringrazio moltissimo Giampiero per avermi
concesso di inserire il suo codice nella presente pagina!
|