IFERROR + XLOOKUP: creazione di formule Excel a prova di errore
Quando utilizzare l'argomento if_not_found di IFERROR, IFNA e XLOOKUP e quando nascondere gli errori è esattamente la mossa sbagliata. Modelli pratici per formule che falliscono clamorosamente solo quando dovrebbero.
#N/A sparsi in un report sembrano rotti, quindi il riflesso è quello di racchiudere tutto in IFERROR e andare avanti. A volte è giusto. Spesso seppellisce un problema reale (una ricerca interrotta, una divisione per zero, un errore di battitura in una chiave) sotto una cella vuota e ordinata.
Questa guida illustra i tre strumenti per la gestione degli errori di formula, la differenza tra loro e i modelli che nascondono gli errori previsto lasciando che quelli inaspettato rimangano visibili.
I tre strumenti
IFERROR rileva il tipo di errore ogni:
=IFERROR(A2/B2, 0)
Se la divisione produce #DIV/0!, #VALUE!, #REF! - qualsiasi cosa - ottieni 0. Questa ampiezza è anche il suo pericolo: uno #REF! da una colonna cancellata merita attenzione, non uno 0 silenzioso.
SENA cattura solo #N/A:
=IFNA(VLOOKUP(A2, Prices!A:B, 2, FALSE), "not listed")
Questo è quasi sempre ciò che desideri nelle ricerche: "valore non trovato" è una condizione prevista, mentre #VALUE! o #REF! dalla stessa formula segnala comunque un vero bug.
if_not_found integrato rende la parte di fallback della ricerca stessa:
=XLOOKUP(A2, Prices!A:A, Prices!B:B, "not listed")
È una soluzione ordinata rispetto al wrapping completo e gestisce solo i casi non trovati: gli altri errori restano visibili.
Regola pratica: gestire le aspettative, esporre gli imprevisti
Fai una domanda per formula: quale errore è normale in questo caso?
- Una ricerca che può legittimamente mancare → gestisce
#N/A(fallback IFNA o XLOOKUP). - Un rapporto il cui denominatore può legittimamente essere zero → testare esplicitamente il denominatore:
=IF(B2=0, "", A2/B2)
Testare la condizione è meglio che individuare l'errore: IF(B2=0,…) documenta perché il fallback esiste, mentre IFERROR attorno alla stessa divisione inghiottirebbe anche uno #VALUE! causato dal testo nella colonna B.
- Tutto il resto → lascia che sia errore. Un
#REF!visibile ti costa un minuto; uno invisibile ti costa un rapporto sbagliato.
Gli errori classici
Copre IFERROR su un'intera colonna. Si spedisce un report con 40 zeri, tre dei quali sono zeri reali e 37 dei quali sono un foglio rinominato che nessuno ha notato.
IFERROR(..., "") matematica di alimentazione. Una stringa vuota in una colonna numerica si trasforma in SUM leggermente sbagliato e produce #VALUE! in aritmetica: l'errore che hai nascosto ritorna due colonne dopo, più lontano dalla sua causa.
Rilevamento di errori che indicano dati sporchi. Se si verificano errori VALUE(A2) perché la colonna mescola testo e numeri, la correzione è pulizia della colonna e non rileva il sintomo.
Controllo di un foglio pieno di errori nascosti
Ereditare una cartella di lavoro in cui ogni formula è racchiusa in IFERROR? Due mosse:
- Conta ciò che viene catturato. In una colonna helper, ripetere la formula interna senza wrapper e contare gli errori con
=SUM(--ISERROR(...))immesso nell'intervallo. - Chiedi a un assistente di verificarlo. AI per Excel può scansionare le formule di un foglio, elencare quali celle stanno attualmente eliminando gli errori e di che tipo è ogni errore e distinguere "ricerca mancata, gestita correttamente" da "riferimento interrotto, nascosto silenziosamente" - quindi correggi quelli che approvi, con un backup automatico prima di qualsiasi modifica.
Questo tipo di controllo della formula è noioso a mano e veloce per uno strumento che legge la cartella di lavoro a livello di codice. Se preferisci descrivere l'obiettivo in una frase piuttosto che creare colonne di supporto, prova gratuitamente il componente aggiuntivo - e per il percorso in inglese semplice per scrivere queste formule in primo luogo, vedi Generazione di formule AI.
Domande frequenti
Qual è la differenza tra IFERROR e IFNA?
IFERROR rileva ogni tipo di errore; IFNA rileva solo #N/A (l'errore "non trovato"). Per quanto riguarda le ricerche, preferisci l'argomento if_not_found di IFNA o XLOOKUP in modo che errori strutturali come #REF! rimanere visibile.
Dovrei usare IFERROR ovunque?
No. Gestisci solo gli errori previsti (di solito ricerche mancate e denominatori zero) e lascia che vengano visualizzati errori imprevisti. Un errore visibile è un'informazione diagnostica; uno nascosto è una futura segnalazione errata.
Come posso trovare tutte le celle con errori in Excel?
Premi F5 → Speciale → Formule → controlla solo Errori. Excel seleziona ogni cella di errore nel foglio. Un assistente AI può andare oltre e classificarli in base al tipo di errore e alla causa.