Formula di Excel: valore di ricerca tra due numeri -

Sommario

Formula generica

=LOOKUP(B5,minimums,results)

Sommario

Per cercare valori tra due valori e restituire un risultato corrispondente, è possibile utilizzare la funzione CERCA e una tabella ordinata. Nell'esempio mostrato, la formula in C5 è:

=LOOKUP(B5,mins,results)

dove "min" è l'intervallo denominato E5: E9 e "risultati" è l'intervallo denominato G5: G9.

Spiegazione

La funzione CERCA esegue una ricerca approssimativa della corrispondenza in un intervallo e restituisce il valore corrispondente in un altro.

Sebbene la tabella in questo esempio includa sia i valori massimi che quelli minimi, è necessario utilizzare solo i valori minimi. Questo perché quando CERCA non riesce a trovare una corrispondenza, corrisponderà al valore più piccolo successivo. LOOKUP è configurato in questo modo:

  • I valori di ricerca provengono dalla colonna B.
  • Il vettore di ricerca viene inserito come intervallo denominato "min" (E5: E9)
  • Il vettore del risultato viene inserito come intervallo denominato "risultati" (G5: G9)

LOOKUP si comporta in questo modo:

  • Se LOOKUP rileva una corrispondenza esatta nel vettore di ricerca, viene restituito il valore corrispondente nel vettore risultato.
  • Se non viene trovata alcuna corrispondenza esatta, CERCA attraverserà il vettore di ricerca finché non viene trovato un valore più grande, quindi "torna indietro" alla riga precedente e restituisce un risultato.
  • Se il valore di ricerca è maggiore del valore più grande nel vettore di ricerca, CERCA restituirà un risultato associato all'ultimo valore nel vettore di ricerca.

Nota: i valori nel vettore di ricerca devono essere ordinati in ordine crescente.

Letteralmente tra

Sebbene l'esempio precedente funzioni correttamente e individua in modo efficace un valore "compreso tra" un minimo e un massimo nella tabella di ricerca, utilizza in realtà solo i valori minimi. Con un intervallo denominato "maxs" per i valori massimi, puoi scrivere una versione letterale della formula come questa:

=LOOKUP(2,1/((B5>=mins)*(B5<=maxs)),results)

Questa versione restituisce il valore associato nel vettore risultato quando il valore in B5 è letteralmente compreso tra il valore minimo e massimo in una data riga. In caso di duplicati, questa formula restituirà l'ultima corrispondenza. La spiegazione della logica è qui.

Articoli interessanti...