Menu

Errore #N/D in Excel: CERCA.VERT e CERCA.X non trovano

#N/D significa che una ricerca non ha trovato il valore cercato. Controlla errori di battitura, spazi in più e un intervallo di tabella che si è spostato copiando la formula, poi usa SE.NON.DISP. per mostrare un messaggio per i valori che mancano davvero.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

#N/D (in inglese #N/A; la tabella mostra i nomi inglesi degli errori) significa "non disponibile": una ricerca come CERCA.VERT, CERCA.X o CONFRONTA non ha trovato il valore cercato. Qui sotto =CERCA.VERT(E2;A2:B6;2;FALSO) restituisce #N/D perché Kiwi non è nell'elenco. Cambia E2 in Pear e restituisce 1.5. Cerca vert in Excel inglese si chiama VLOOKUP, ed è così che lo mostra la tabella: =VLOOKUP(E2,A2:B6,2,FALSE). Puoi scrivere le formule anche in italiano, con il punto e virgola.

Cercare un prodotto che non c'è
F2
ABCDEF
1ProductPriceLook forPrice
2Apple1.2Kiwi#N/A
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.1
#N/A Il valore cercato non è nell’intervallo di ricerca.In Excel in italiano: =CERCA.VERT(E2;A2:B6;2;FALSO)

Quando il valore manca davvero, #N/D è la risposta giusta, e SE.NON.DISP. (più avanti) lo trasforma in un messaggio. I casi da correggere sono quelli in cui il valore c'è e la ricerca fallisce lo stesso. Excel in altre lingue mostra l'errore con un nome suo, come #NV in tedesco, #Н/Д in russo e #YOK in turco; è sempre lo stesso errore.

#N/D dopo aver copiato una ricerca verso il basso

La causa più comune nei fogli reali: la formula funziona nella prima riga, e alcune righe sotto mostrano #N/D anche se i prodotti sono nell'elenco.

Intervallo di tabella senza $
F4
ABCDEF
1ProductPriceOrderPrice
2Apple1.2Apple1.2
3Pear1.5Plum0.8
4Plum0.8Pear#N/A
5Bread2.4Milk1.1
6Milk1.1Apple#N/A
#N/A Il valore cercato non è nell’intervallo di ricerca.In Excel in italiano: =CERCA.VERT(E4;A4:B8;2;FALSO)

Fai clic su F4: il suo intervallo di tabella è A4:B8, due righe più in basso di quello di F2. Copiare la formula verso il basso ha spostato l'intervallo con lei, quindi Pear (riga 3) e Apple (riga 2) ne sono usciti. F3 e F5 funzionano solo perché Plum e Milk sono ancora dentro i loro intervalli. Fai clic su F2 e cambia l'intervallo in $A$2:$B$6: tutta la colonna segue e compaiono tutti i prezzi. I segni $ bloccano l'intervallo, vedi i riferimenti assoluti.

#N/D a causa di spazi in più

"Pear " con uno spazio finale e "Pear" sono valori diversi per Excel. Gli spazi arrivano da dati scritti a mano, copiati da pagine web o esportati da altri sistemi, e nella cella sono invisibili.

Uno spazio finale nella tabella
E2
ABCDEF
1ProductPriceLook forPriceLength of A2
2Pear 1.5Pear#N/A5
3Apple1.2
4Plum0.8
#N/A Il valore cercato non è nell’intervallo di ricerca.In Excel in italiano: =CERCA.VERT(D2;A2:B4;2;FALSO)

E2 restituisce #N/D. F2 mostra la causa: Pear ha 4 lettere, ma A2 è lunga 5 caratteri. Elimina lo spazio in A2 e la ricerca funziona. Tre modi per risolverlo una volta per tutte:

  • Ripulisci la colonna: metti =ANNULLA.SPAZI(A2) in una colonna di appoggio, copiala verso il basso, poi copiala e usa Home > Incolla > Valori sopra l'originale.
  • Ripulisci il valore cercato quando gli spazi sono in ciò che scrivi: =CERCA.VERT(ANNULLA.SPAZI(D2);A2:B4;2;FALSO).
  • Ripulisci l'intera colonna di ricerca dentro la formula (Excel 2021 o Microsoft 365): =CERCA.X(D2;ANNULLA.SPAZI(A2:A4);B2:B4).

Il testo incollato dalle pagine web può contenere uno spazio unificatore, che ANNULLA.SPAZI non elimina. La pagina su ANNULLA.SPAZI mostra come sostituirlo con SOSTITUISCI(A2;CODICE.CARATT(160);" ").

#N/D quando il valore non è nella prima colonna

CERCA.VERT cerca solo nella prima colonna del suo intervallo e restituisce una colonna alla sua destra. Cercare un valore di qualsiasi altra colonna restituisce #N/D, anche quando è nella tabella.

Cercare in base al codice
F2
ABCDEFG
1ProductCodePriceCodeVLOOKUPXLOOKUP
2AppleA-171.2P-22#N/APear
3PearP-221.5
4PlumP-310.8
5BreadB-052.4
6MilkM-401.1
#N/A Il valore cercato non è nell’intervallo di ricerca.In Excel in italiano: =CERCA.VERT(E2;A2:C6;1;FALSO)

I codici sono nella colonna B, quindi CERCA.VERT su A2:C6 cerca P-22 tra i nomi dei prodotti e non lo trova. Non può nemmeno restituire il nome del prodotto, che sta prima del codice. CERCA.X prende separatamente la colonna di ricerca e la colonna da restituire e trova Pear. In Excel 2019 e precedenti, =INDICE(A2:A6;CONFRONTA(E2;B2:B6;0)) fa lo stesso.

#N/D per i numeri memorizzati come testo

Un numero d'ordine scritto come testo ('1001, o importato da un CSV) non corrisponde mai al numero 1001, e viceversa. Entrambe le celle mostrano 1001, quindi questo caso è difficile da vedere. In Excel:

A2:B6 holds order numbers stored as text, E2 holds the number 1001
=VLOOKUP(E2,A2:B6,2,FALSE)          #N/A
=VLOOKUP(E2&"",A2:B6,2,FALSE)       found: E2&"" turns the number into text

A2:B6 holds real numbers, E2 holds "1001" as text
=VLOOKUP(E2,A2:B6,2,FALSE)          #N/A
=VLOOKUP(--E2,A2:B6,2,FALSE)        found: -- turns the text into a number

In Excel italiano le due correzioni sono =CERCA.VERT(E2&"";A2:B6;2;FALSO) e =CERCA.VERT(--E2;A2:B6;2;FALSO). =VAL.TESTO(A2) ti dice quale dei due lati è testo, e un piccolo triangolo verde nell'angolo di una cella segnala un numero memorizzato come testo. Per convertire un'intera colonna, vedi da testo a numero.

SE.NON.DISP. o SE.ERRORE: mostrare un messaggio quando non si trova nulla

Quando un valore può mancare legittimamente, mostra qualcosa di più utile di #N/D. Usa SE.NON.DISP. (in inglese IFNA), non SE.ERRORE:

SE.NON.DISP. e SE.ERRORE attorno a una ricerca sbagliata
F2
ABCDEFG
1ProductPriceLook forIFNAIFERROR
2Apple1.2Pear#REF!Not found
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.1
#REF! La formula fa riferimento a una cella che non esiste.In Excel in italiano: =SE.NON.DISP.(CERCA.VERT(E2;A2:B6;3;FALSO);"Not found")

Entrambe le formule chiedono la colonna 3 di un intervallo di due colonne, un errore. SE.NON.DISP. lascia passare il #RIF!, quindi vedi il problema. SE.ERRORE lo nasconde e dice "Not found" per Pear, che è nell'elenco. Cambia entrambi i 3 in 2: ora ciascuna mostra 1.5, e con E2 impostata su Kiwi ciascuna mostra "Not found". CERCA.X ha il messaggio incorporato: =CERCA.X(E2;A2:A6;B2:B6;"Not found"). Altro sulla differenza in SE.ERRORE.

Correggere una ricerca rotta dagli spazi

Trovare il prezzo nonostante gli spazi
F2
ABCDEF
1ProductPriceLook forPrice
2Apple 1.2Plum
3Pear 1.5
4Plum 0.8
5Bread 2.4
6Milk 1.1
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: Ogni prodotto dell'elenco è stato importato con uno spazio alla fine, quindi =VLOOKUP(E2,A2:B6,2,FALSE) restituisce #N/A. Scrivi in F2 una formula che restituisca comunque il prezzo del prodotto in E2.

=CERCA.X(E2;ANNULLA.SPAZI(A2:A6);B2:B6) ripulisce l'elenco dentro la formula. Qui funziona anche =CERCA.VERT(E2&" ";A2:B6;2;FALSO), ma solo finché ogni prodotto ha esattamente uno spazio finale; ripulire la colonna con ANNULLA.SPAZI è la correzione che dura.

Domande frequenti

Cosa significa #N/D in Excel?

N/D sta per "non disponibile". Significa che una funzione di ricerca (CERCA.VERT, CERCA.ORIZZ, CERCA.X, CONFRONTA, CONFRONTA.X) non ha trovato il valore che le è stato dato. Anche =NON.DISP() lo restituisce di proposito, per esempio perché un grafico salti un punto invece di disegnarlo come 0.

Perché CERCA.VERT restituisce #N/D quando il valore esiste?

I due valori non sono esattamente uguali. Motivi comuni: uno spazio finale in uno dei due, un numero memorizzato come testo da una parte e come numero dall'altra, oppure un intervallo di tabella senza $ che è scivolato verso il basso copiando la formula, così la riga con il valore non è più al suo interno.

Perché CERCA.VERT restituisce #N/D per alcune righe e non per altre?

L'intervallo della tabella non è stato bloccato prima di copiare la formula verso il basso, quindi in ogni riga parte una riga più in basso: A2:B6 nella prima riga diventa A4:B8 due righe dopo, e i valori sopra l'intervallo non vengono più trovati. Bloccalo con $: =CERCA.VERT(E2;$A$2:$B$6;2;FALSO).

Perché CERCA.X restituisce #N/D?

Il valore non è nella matrice di ricerca, oppure ne differisce per uno spazio o perché è testo invece di un numero. CERCA.X cerca una corrispondenza esatta per impostazione predefinita, quindi non accetta nulla di simile. Il suo quarto argomento sostituisce l'errore: =CERCA.X(E2;A2:A6;B2:B6;"Not found").

Perché CONFRONTA restituisce #N/D?

Con il tipo di corrispondenza 0 il valore non è nell'intervallo, esattamente come con CERCA.VERT. Con il tipo 1 o omesso, l'intervallo deve essere in ordine crescente e il valore non deve essere più piccolo del primo elemento; usa =CONFRONTA(E2;A2:A6;0) per una corrispondenza esatta.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA