2012-03-05 15:21:17 +0000 2012-03-05 15:21:17 +0000
21
21

Sostituire rapidamente #N/A con 0 quando vlookup

Uso molto vlookup in excel.

Il problema è con il valore #N/A quando il valore di ricerca non viene trovato.

In questo caso, spesso lo sostituiamo con 0 usando

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

che ripetono vlookup(cosa,intervallo,colonna,falso) due volte e mi fanno sembrare la formula brutta & fittizia.

Avete altri lavori in giro per questo problema?

Risposte (3)

32
32
32
2012-03-05 15:46:58 +0000

Quale versione di Excel? In Excel 2007 o successivo è possibile utilizzare la funzione IFERROR come questa

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

5
5
5
2016-04-28 13:54:54 +0000

Si può anche usare IFNA se si vogliono rilevare solo gli errori #N/A.

=IFNA(Formula,0)
``` &001 


Questo visualizzerà `0` invece dell'errore #N/A.
1
1
1
2014-06-27 04:29:18 +0000

Questo è in realtà piuttosto potente, e ho setacciato il web per un po’ di tempo per ottenere una risposta a questa domanda. Nel mio caso, però, non voglio sostituire l’#N/A con un 0, ma voglio usare informazioni alternative. Nel mio caso, se l’VLOOKUP non trova nulla, voglio che utilizzi il contenuto di un'altra cella. (Sto usando Excel 2010, ma questo non dovrebbe avere importanza) Supponiamo che la mia formula nella cella E3 su Sheet1, e che i dati che voglio estrarre siano da qualche parte su Sheet2. Se non ci sono dati da trovare su Sheet2, allora voglio che la mia cella usi i dati di Sheet1.

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

_Al risponditore originale, GRAZIE. Mi hai reso la vita un po’ più facile stasera. Spero che anche la mia dilagante espansione sulla tua risposta aiuti qualcuno!