Formula Excel: CERCA.VERT con numeri e testo -

Formula generica

=VLOOKUP(val&"",table,col,0)

Sommario

Per utilizzare la funzione CERCA.VERT per recuperare informazioni da una tabella in cui i valori chiave sono numeri archiviati come testo, è possibile utilizzare una formula che concatena una stringa vuota ("") al valore di ricerca numerica, convertendola in testo. Nell'esempio mostrato, la formula in H3 è:

=VLOOKUP(id&"",planets,2,0) // returns "Earth"

dove id (H2) e pianeti (B3: B11) sono denominati intervalli.

Nota: l'esempio è una soluzione al problema dei numeri e del testo non corrispondenti, che causano un errore # N / D. Se non è presente alcuna mancata corrispondenza, la soluzione alternativa non è necessaria ed è possibile utilizzare una normale formula CERCA.

Spiegazione

Un errore comune di CERCA.VERT è una mancata corrispondenza tra numeri e testo. In genere, la colonna di ricerca nella tabella contiene valori numerici che sembrano numeri, ma in realtà sono numeri memorizzati come testo. Quando un numero autentico viene passato in CERCA.VERT come primo argomento, la formula restituisce un errore # N / D, anche se sembra esserci una corrispondenza. La schermata seguente mostra un esempio di questo problema:

I numeri nella colonna B sono effettivamente testo, quindi il valore di ricerca numerica, 3, non riesce, anche se sembra che CERCA.VERT dovrebbe corrispondere a B5 e restituire "Terra". Puoi inserire un numero come valore di testo facendo precedere il numero da una virgoletta singola (').

La soluzione migliore è assicurarsi che i valori di ricerca nella tabella siano effettivamente numeri. Tuttavia, se non si ha il controllo sulla tabella, è possibile modificare la formula CERCA.VERT per forzare il valore di ricerca in modo che corrisponda al tipo nella tabella. Nell'esempio mostrato, forziamo il valore di ricerca numerica in testo concatenando una stringa vuota:

=VLOOKUP(id,planets,2,0) // original =VLOOKUP(id&"",planets,2,0) // revised

E la formula rivista si prende cura dell'errore:

Puoi anche fare la stessa cosa con una formula più lunga che utilizza la funzione TESTO per convertire il numero in testo:

=VLOOKUP(TEXT(id,"@"),planets,2,0)

Sia i numeri che il testo

Se non puoi essere certo di quando avrai numeri e quando avrai testo, puoi soddisfare entrambe le opzioni avvolgendo CERCA.VERT nella funzione SE.ERRORE e utilizzando una formula che gestisce entrambi i casi:

=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&"",planets,3,0))

Qui, proviamo prima una normale formula CERCA.VERT che presuppone che sia il valore di ricerca che la prima colonna nelle tabelle siano numeri. Se questo genera un errore, riproviamo con la formula rivista. Se anche quella formula fallisce, CERCA.VERT restituirà un errore # N / D come sempre.

Articoli interessanti...