sintassi:
valore in caso di errore (facoltativo);
tolleranza (facoltativo);
- 0 corrispondenza esatta (impostazione predefinita)
- 1 corrispondenza esatta o immediatamente più grande
- -1 corrispondenza esatta o immediatamente più piccola
- 2 corrispondenza con uso dei caratteri jolly (* ?)
per le ricerche non esatte Fuzzy Lookup con valori simili ma non precisi
in cui i caratteri jolly * ? non bastano
(vedi Power Query - procedure - Fuzzy Lookup)
metodo ricerca (facoltativo))
- 1 ricerca dal primo (impostazione predefinita)
- -1 ricerca dall'ultimo
binarie
si tratta di uno speciale algoritmo che trova la posizione di un valore di ricerca all'interno di un array ordinato confrontandolo con l'elemento centrale dell'array
una ricerca binaria è molto più veloce di una ricerca normale, ma funziona correttamente solo su intervalli ordinati
- 2 ricerca binaria ascendente
- -2 ricerca binaria discendente
esempio: trovo il nome nella tabella con città "Londra"
=CERCA.X("Londra",Tabella[città],Tabella[nome]) primo nome trovato
=CERCA.X("Londra",Tabella[città],Tabella[nome],"errore",0) se non esiste scrive "errore"
=CERCA.X("Londra",Tabella[città],Tabella[nome],"errore",0,-1) ultimo nome trovato (ricerca inziando dalla fine)
esempio: ricerca con uso carattere jolly *
di default la ricerca non accetta caratteri jolly ma cerca proprio quei caratteri senza convertirli in jolly
si usa la tolleranza 2 per utilizzare i caratteri jolly nelle ricerche
E2 =CERCA.X(D2 &"*",Dati[Nome],Dati[Età],"errore") da errore dato che la tolleranza é 0
E3 =CERCA.X(D3 &"*",Dati[Nome],Dati[Età],"errore",2) da 30 usa il carattre jolly *
esempio: cerchiamo la riga con IND.D e la colonna Colonne 2
=CERCA.X(H1,Tabella[#Headers],XLOOKUP(G2,Tabella[INDICE],Tabella[#Data]))
=XLOOKUP(H1,Tabella[#Headers],XLOOKUP(G2,Tabella[INDICE],Tabella[#Data]))
esempio: tabella con nomi e città, da trovare il lavoro in base a due valori in F1 e F2
F3=CERCA.X(1,(Tabella1[Nome]=F1)*(Tabella1[Città]=F2),Tabella1[Lavoro])
F3=XLOOKUP(1,(Tabella1[Nome]=F1)*(Tabella1[Città]=F2),Tabella1[Lavoro])
F4=CERCA.X(F1&F2,Tabella1[Nome]&Tabella1[Città],Tabella1[Lavoro])
F4=XLOOKUP(F1&F2,Tabella1[Nome]&Tabella1[Città],Tabella1[Lavoro])
esempio: cerco il lavoro del primo nome che inizia per "A"
CERCA.X(1,SINISTRA(Tabella1[Nome],1)="A",Tabella1[Lavoro])
XLOOKUP(1,LEFT(Tabella1[Nome],1)="A",Tabella1[Lavoro])
sintassi:
=CERCA.VERT(valore parametro di ricerca; intervallo valori; numero colonna valore da cercare; tolleranza[0 nessuna / 1 volere più vicino])
esempio: cerco "ciao" in A e trovo il valore corrispondente in D
=CERCA.VERT("ciao"; A:D; 4; 0)
esempio: cerco nella scheda Foglio2 "ciao" in A e trovo il valore corrispondente in D
=CERCA.VERT("ciao"; Foglio2!A:D; 4; 0)
esempio: cerco valori che hanno "abc" all'interno in A e trovo il valore corrispondente in D
=CERCA.VERT("*abc*"; A:D; 4; 0)
esempio: cerco valori come primo carattere hanno qualunque carattere e proseguono con "abc" all'interno in A e trovo il valore corrispondente in D
=CERCA.VERT("?abc"; A:D; 4; 0)
sintassi:
INDICE(colonna di ricerca; CONFRONTA(valore; intervallo; tolleranza))
esempio: cerco il valore corrispondente alla scritta sia nella colonna B rispetto alla colonna D
=INDICE(B:B; CONFRONTA("ciao"; D:D; 0))
=INDEX(B:B, MATCH("ciao", D:D, 0))
sintassi:
=CERCA(2;1/(Colonnaricerca:Colonnaricerca = valore da cercare); Colonna valore restituito : Colonna valore restituito)
esempio: cerco ciao nella colonna Y e restituisco l'ultimo valore trovato in corrispondenza nella colonna C
=CERCA(2;1/(Y:Y="ciao"); C:C)
esempio: trovo l'ultimo valore inserito nella colonna A
=CERCA(2;1/(1-VAL.VUOTO(A:A)); A:A)
esempio: trovo l'ultimo valore inserito nella colonna A che non da errore
=CERCA(2;1/(1-VAL.ERRORE(A:A)); A:A)
sintassi:
CERCA.ORIZZ(valore parametro di ricerca; intervallo valori; numero riga valore da cercare,tolleranza[0 nessuna / 1 valore più vicino])
sintassi:
INDICE(riga di ricerca; CONFRONTA(valore; intervallo; tolleranza))
esempio: cerco il valore corrispondente alla scritta della riga 1 rispetto alla riga 4
=INDICE(A1:Z1; CONFRONTA("ciao"; A4:Z4; 0))
=INDEX(A1:Z1, MATCH("ciao", A4:Z4, 0))
sintassi:
CERCA(valore parametro di ricerca;intervallo valori;intervallo posizione)
esempio: cerco 4,19 o il numero subito inferiore nella colonna A da 2 a 6 e restituisco il valore corrispondete nella colonna B
=CERCA(4,19; A2:A6; B2:B6)