Formula Excel: corrispondenza approssimativa con più criteri -

Sommario

Sommario

Per cercare e approssimare la corrispondenza in base a più di un criterio, è possibile utilizzare una formula di matrice basata su INDICE e CONFRONTA, con l'aiuto della funzione SE. Nell'esempio mostrato, la formula in G8 è:

(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))

L'obiettivo di questa formula è restituire la "taglia" quando viene dato un animale e un peso.

Nota: questa è una formula di matrice e deve essere inserita con Control + Maiusc + Invio

Spiegazione

In sostanza, questa è solo una formula INDICE / CONFRONTA. Il problema in questo caso è che dobbiamo "escludere" le voci estranee nella tabella, quindi ci rimangono solo le voci che corrispondono all'animale che stiamo cercando.

Questo viene fatto con una semplice funzione IF qui:

IF(B5:B10=G6,C5:C10)

Questo frammento verifica i valori in B5: B10 per vedere se corrispondono al valore in G6 (l'animale). In caso di corrispondenza, vengono restituiti i valori corrispondenti in C5: C11. In assenza di corrispondenza, viene restituito FALSE. Quando G6 contiene "cat", l'array risultante ha questo aspetto:

(FALSO; FALSO; FALSO; 5; 10; 15)

Questo entra nella funzione MATCH come array. Il valore di ricerca per la corrispondenza proviene da G7, che contiene il peso (9 libbre nell'esempio).

Nota che la corrispondenza è configurata per una corrispondenza approssimativa impostando match_type su 1 e ciò richiede che i valori in C5: C11 debbano essere ordinati.

CONFRONTA restituisce la posizione del peso nella matrice e questa viene passata alla funzione INDICE come numero di riga. Il lookup_array per INDEX sono le dimensioni in D5: D10, quindi INDEX restituisce una dimensione corrispondente alla posizione generata da MATCH (il numero 4 nell'esempio mostrato).

Articoli interessanti...