Sommario
Se si riscontrano molti errori #N/A nei fogli di lavoro e si desidera sapere se esiste un modo per visualizzare un testo personalizzato, la formula IFNA è la soluzione necessaria.
Quando una formula di Excel non è in grado di identificare o trovare qualcosa, lancia l'errore #N/A. Per catturare questo errore e sostituirlo con un messaggio di facile comprensione, è possibile utilizzare la funzione IFNA. In altre parole, #N/A è il modo in cui Excel dice che il valore che si sta cercando non è presente nel set di dati a cui si fa riferimento. IFNA è il modo in cui si intrappola e si gestisce questo errore.
Funzione IFNA in Excel
La funzione IFNA di Excel ha lo scopo di catturare e gestire gli errori #N/A. Se una formula dà come risultato #N/A, IFNA cattura l'errore e lo sostituisce con un valore personalizzato specificato dall'utente; altrimenti restituisce il risultato normale della formula.
Sintassi IFNA
La sintassi della funzione IFNA è la seguente:
IFNA(valore, valore_if_na)Dove:
Valore (obbligatorio) - la formula, il valore o il riferimento da controllare per un errore #N/A.
Valore_se_na (obbligatorio) - il valore da restituire se viene rilevato un errore #N/A.
Note d'uso
- La funzione IFNA gestisce solo #N/A senza sopprimere altri errori.
- Se il valore è un argomento formula dell'array , IFNA restituisce un array di risultati, uno per cella, come mostrato in questo esempio.
Disponibilità IFNA
La funzione IFNA è stata introdotta in Excel 2013 ed è disponibile in tutte le versioni successive, tra cui Excel 2016, Excel 2019, Excel 2021 e Microsoft 365.
Nelle versioni precedenti, è possibile catturare gli errori #N/A utilizzando le funzioni IF e ISNA insieme.
Come utilizzare la funzione IFNA in Excel
Per utilizzare efficacemente IFNA in Excel, seguite questo approccio generico:
- Nel primo argomento ( valore ), inserire una formula che risenta dell'errore #N/A.
- Nel secondo argomento ( valore_se_na ), digitare il testo che si desidera restituire invece della notazione di errore standard. Per restituire una cella vuota quando non viene trovato nulla, fornire una stringa vuota ('"").
Per tornare testo personalizzato , la formula generica è:
IFNA( formula (), " testo personalizzato ")Per restituire un cella vuota , la formula generica è:
IFNA( formula (), "")Vediamo come funziona con un semplice esempio. Nella tabella qui sotto, supponiamo di voler sapere come si colloca il punteggio di un dato studente tra gli altri. Poiché i dati sono ordinati in base al valore Punteggio Il grado corrisponderà alla posizione relativa dello studente nella tabella. Per ottenere la posizione, è possibile utilizzare la funzione MATCH nella sua forma più semplice:
=MATCH(E1, A2:A10, 0)
Poiché il valore di ricerca (Neal) non è disponibile nell'array di ricerca (A2:A10), si verifica un errore #N/A.
Incappando in questo errore, gli utenti inesperti potrebbero pensare che ci sia qualcosa di sbagliato nella formula e voi, in qualità di creatori della cartella di lavoro, riceverete molte domande. Per evitare questo problema, potete indicare esplicitamente che la formula è corretta, solo che non riesce a trovare il valore che le è stato chiesto di cercare. Quindi, annidate la formula MATCH nel primo argomento di IFNA e, nel secondo argomento, digitate il vostro parametro personalizzatonel nostro caso "Non trovato":
=IFNA(MATCH(E1, A2:A10, 0), "Non trovato")
Ora, invece della notazione di errore standard, il testo viene visualizzato in una cella, informando gli utenti che il valore di ricerca non è presente nel set di dati:
Come utilizzare IFNA con VLOOKUP
Il più delle volte l'errore #N/A si verifica nelle funzioni che cercano qualcosa, come VLOOKUP, HLOOKUP, LOOKUP e MATCH. Gli esempi seguenti coprono alcuni casi d'uso tipici.
Esempio 1. Formula IFNA VLOOKUP di base
Per intrappolare gli errori #N/A che si verificano quando VLOOKUP non è in grado di trovare una corrispondenza, controllate il suo risultato utilizzando IFNA e specificate il valore da visualizzare al posto dell'errore. La pratica comune è quella di avvolgere la funzione IFNA intorno alla formula VLOOKUP esistente utilizzando questa sintassi:
IFNA(VLOOKUP(), " il tuo testo ")Nella nostra tabella di esempio, supponiamo di voler recuperare il punteggio di un particolare studente (E1), utilizzando la classica formula VLOOKUP:
=VLOOKUP(E1, A2:B10, 2, FALSE)
Il problema è che Neal non ha sostenuto l'esame, quindi il suo nome non è presente nell'elenco e ovviamente VLOOKUP non riesce a trovare una corrispondenza.
Per nascondere l'errore, avvolgiamo VLOOKUP in IFNA in questo modo:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Non ha sostenuto l'esame")
Ora, il risultato non appare così intimidatorio per l'utente ed è molto più informativo:
Esempio 2. IFNA VLOOKUP per cercare su più fogli
La funzione IFNA è utile anche per l'esecuzione del cosiddetto sequenziale o incatenato L'idea è quella di annidare diverse formule IFNA(VLOOKUP(...)) una nell'altra in questo modo:
IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Non trovato"))Se un VLOOKUP primario non trova nulla, la funzione IFNA esegue il VLOOKUP successivo finché non viene trovato il valore desiderato. Se tutti i lookup falliscono, la formula restituisce il testo specificato.
Supponiamo di avere i punteggi di classi diverse elencati in fogli diversi (denominati Classe A , Classe B , e Classe C ). L'obiettivo è ottenere il punteggio di un particolare studente, il cui nome è inserito nella cella B1 del foglio di lavoro corrente. Per svolgere il compito, utilizzate questa formula:
=IFNA(VLOOKUP(B1, 'Classe A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Classe B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Classe C'!A2:B5, 2, FALSE), "Non trovato"))
La formula cerca in sequenza il nome specificato in tre diversi fogli nell'ordine in cui sono annidati i VLOOKUP e riporta la prima corrispondenza trovata:
Esempio 3. IFNA con MATCH INDICE
In modo simile, IFNA può catturare gli errori #N/A generati da altre funzioni di ricerca. A titolo di esempio, utilizziamola insieme alla formula INDEX MATCH:
=IFNA(INDICE(B2:B10, MATCH(E1, A2:A10, 0)), "Non trovato")
L'essenza della formula è la stessa di tutti gli esempi precedenti: INDEX MATCH esegue una ricerca e IFNA valuta il risultato e genera un errore #N/A se il valore di riferimento non viene trovato.
L'IFNA restituisce risultati multipli
Nel caso in cui la funzione interna (cioè la formula collocata nel campo valore ) restituisce più valori, l'IFNA verifica ogni valore restituito singolarmente e restituisce un array di risultati. Ad esempio:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Non trovato")
In Dynamic Array Excel (Microsoft 365 ed Excel 2021), una formula regolare nella cella più in alto (E2) riversa automaticamente tutti i risultati nelle celle vicine (in termini di Excel, si parla di intervallo di rifornimento).
Nelle versioni precedenti a quella dinamica (Excel 2019 e inferiori), è possibile ottenere un effetto simile utilizzando una formula di matrice a più celle, completata con la scorciatoia Ctrl + Maiusc + Invio.
Qual è la differenza tra IFNA e IFERROR?
A seconda della causa del problema, una formula di Excel può generare diversi errori come #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM e altri. La funzione IFERROR cattura tutti questi errori, mentre IFNA si limita solo a #N/A. Quale scegliere? Dipende dalla situazione.
Se si vuole sopprimere qualsiasi tipo di errore È particolarmente utile nei calcoli complessi, quando una formula include diverse funzioni che possono generare errori diversi.
Con funzioni di ricerca è meglio utilizzare IFNA, che visualizza un risultato personalizzato solo quando un valore di ricerca non viene trovato e non nasconde i problemi di fondo della formula stessa.
Per illustrare la differenza, riportiamo la nostra formula IFNA VLOOKUP di base e sbagliamo "accidentalmente" il nome della funzione (VLOKUP invece di VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Non ha sostenuto l'esame")
IFNA non sopprime questo errore, quindi si può chiaramente vedere che c'è qualcosa di sbagliato in uno dei nomi delle funzioni:
Vediamo ora cosa succede se si usa IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Non ha sostenuto l'esame")
Questo perché la funzione IFERROR intercetta l'errore #NAME? e restituisce invece il testo personalizzato. In questa situazione, non solo restituisce un'informazione sbagliata, ma oscura anche il problema con la formula.
Ecco come utilizzare la formula IFNA in Excel. Vi ringrazio per la lettura e vi aspetto sul nostro blog la prossima settimana!
Download disponibili
Esempi di formule IFNA in Excel (file .xlsx)