È facile gestire appuntamenti, piani e budget con Microsoft 365

Come correggere un errore #N/D nella funzione CERCA.VERT

Questo argomento descrive i motivi VLOOKUP più comuni per un risultato errato sulla funzione e fornisce suggerimenti per l'uso di index e match .

Suggerimento: Fare inoltre riferimento alla scheda di riferimento rapido: suggerimenti per la risoluzione dei problemi di VLOOKUP che presenta i motivi comuni per #NA problemi in un file PDF conveniente. È possibile condividere il file PDF con altri utenti o stamparlo per riferimento.

Problema: il valore di ricerca non è presente nella prima colonna nell'argomento matrice_tabella

Un vincolo di VLOOKUP è che può cercare solo i valori nella colonna più a sinistra della matrice di tabella. Se il valore di ricerca non è presente nella prima colonna della matrice, verrà visualizzato l'errore #N/A.

Nella tabella seguente, si vuole recuperare il numero di unità di cavoli vendute.

Errore #NA in CERCA.VERT: il valore di ricerca non è presente nella prima colonna della matrice di tabella

I risultati dell'errore #N/A perché il valore di ricerca "Kale" viene visualizzato nella seconda colonna (produce) dell'argomento Table_array a2: C10. In questo caso, Excel la Cerca nella colonna A, non nella colonna B.

Soluzione: è possibile provare a risolvere il problema modificando la funzione CERCA.VERT in modo che faccia riferimento alla colonna corretta. Se non è possibile, provare a spostare le colonne. Può anche essere molto impraticabile, se sono presenti fogli di calcolo di grandi dimensioni o complessi in cui i valori delle celle sono i risultati di altri calcoli, o forse esistono altri motivi logici per cui non è possibile spostare le colonne intorno. La soluzione consiste nell'usare una combinazione delle funzioni INDICE e CONFRONTA per cercare un valore in una colonna indipendentemente dalla relativa posizione nella tabella di ricerca. Vedere la sezione successiva.

Considerare l'uso di INDEX/MATCH invece

Le opzioni Indice e corrispondenza sono valide per molti casi in cui VLOOKUP non soddisfa le proprie esigenze. Il vantaggio principale di INDEX/MATCH è che puoi cercare un valore in una colonna in qualsiasi posizione della tabella di ricerca. INDEX restituisce un valore da una tabella/intervallo specificata, in base alla relativa posizione. MATCH restituisce la posizione relativa di un valore in una tabella/intervallo. Usa indice e confronta insieme in una formula per cercare un valore in una tabella/matrice specificando la posizione relativa del valore nella tabella/matrice.

Esistono diversi vantaggi dell'uso di INDEX/MATCH invece di VLOOKUP:

  • Con INDEX e MATCH, il valore restituito non deve essere nella stessa colonna della colonna di ricerca. Questa operazione è diversa da VLOOKUP, in cui il valore restituito deve essere compreso nell'intervallo specificato. Perché è importante? Con CERCA.VERT, occorre conoscere il numero di colonna che contiene il valore restituito. Anche se non può sembrare difficile, può essere scomodo quando si ha una tabella di grandi dimensioni e contare il numero di colonne. Inoltre, se si aggiunge/rimuove una colonna nella tabella, è necessario ricontare e aggiornare l'argomento col_index_num . Con le funzioni INDICE e CONFRONTA non è richiesto alcun conteggio perché la colonna di ricerca è differente dalla colonna che contiene il valore restituito.

  • Con INDEX e MATCH puoi specificare una riga o una colonna in una matrice oppure specificare entrambe. Questo significa che è possibile cercare valori in verticale e orizzontale.

  • È possibile usare le funzioni INDICE e CONFRONTA per cercare valori in qualsiasi colonna. A differenza di VLOOKUP, in cui è possibile cercare solo un valore nella prima colonna di una tabella, l'indice e la corrispondenza funzionano se il valore di ricerca è nella prima colonna, l'ultimo o in un punto qualsiasi.

  • INDEX e MATCH offrono la flessibilità di creare un riferimento dinamico alla colonna che contiene il valore restituito. Ciò significa che è possibile aggiungere colonne alla tabella senza interrompere l'indice e corrispondere. D'altra parte, VLOOKUP si interrompe se è necessario aggiungere una colonna alla tabella, poiché fa riferimento statico alla tabella.

  • INDEX e MATCH offre maggiore flessibilità con le corrispondenze. INDEX e MATCH possono trovare una corrispondenza esatta o un valore maggiore o minore del valore di ricerca. VLOOKUP cercherà solo una corrispondenza più vicina a un valore (per impostazione predefinita) o a un valore esatto. VLOOKUP presuppone anche per impostazione predefinita che la prima colonna della matrice di tabella sia ordinata in ordine alfabetico e supponiamo che la tabella non sia configurata in questo modo, VLOOKUP restituirà la prima corrispondenza più vicina nella tabella, che potrebbe non corrispondere ai dati che si stanno cercando.

Sintassi

Per creare la sintassi per INDEX/MATCH, devi usare l'argomento Array/Reference della funzione INDEX e annidare la sintassi della corrispondenza all'interno. Questo è il modulo seguente:

=INDICE(matrice o riferimento, CONFRONTA(valore,matrice,[corrisp])

Usiamo INDEX/MATCH per sostituire VLOOKUP dall'esempio precedente. La sintassi sarà simile alla seguente:

=INDICE(C2:C10,CONFRONTA(B13,B2:B10,0))

In poche parole, ciò significa che:

= INDEX (restituisce un valore da C2: C10, che CORRISPONDErà (Kale, che è da qualche parte nella matrice B2: B10, in cui il valore restituito è il primo valore corrispondente a Kale))

Le funzioni INDICE e CONFRONTA possono essere usate in sostituzione di CERCA.VERT

La formula cerca il primo valore in C2:C10 che corrisponde a Cavolo (in B7) e restituisce il valore in C7 (100), cioè il primo valore che corrisponde a Cavolo.

Problema: non viene trovata la corrispondenza esatta

Quando l'argomento range_lookup è falso e VLOOKUP non riesce a trovare una corrispondenza esatta nei dati, restituisce l'errore #N/a.

Soluzione: se si è certi che i dati rilevanti sono presenti nel foglio di calcolo e VLOOKUP non lo recupera, occorre tempo per verificare che le celle a cui si fa riferimento non abbiano spazi nascosti o caratteri non stampabili. Assicurati inoltre che le celle seguano il tipo di dati corretto. Ad esempio, le celle con numeri devono essere formattate come numeri e non cometesto.

Puoi anche usare la funzione Pulisci o Annulla per pulire i dati nelle celle.

Problema: il valore di ricerca è minore del valore più piccolo nella matrice

Se l'argomento range_lookup è impostato su true e il valore di ricerca è minore del valore più piccolo nella matrice, verrà visualizzato l'errore #N/a. TRUE cerca una corrispondenza approssimativa nella matrice e restituisce il più vicino valore minore del valore di ricerca.

Nell'esempio seguente, il valore di ricerca è 100, ma nell'intervallo B2:C10 non sono presenti valori inferiori a 100, da cui l'errore.

Errore N/D in CERCA.VERT quando il valore di ricerca è minore del valore più piccolo nella matrice

Soluzione:

  • Correggere il valore di ricerca in base alle esigenze.

  • Se non è possibile modificare il valore di ricerca e occorre maggiore flessibilità con i valori corrispondenti, valutare l'uso di INDEX/MATCH invece di VLOOKUP, vedere la sezione precedente in questo articolo. Con le funzioni INDICE/CONFRONTA è possibile cercare valori maggiori, minori o uguali al valore di ricerca. Per altre informazioni sull'uso di INDICE/CONFRONTA invece di CERCA.VERT, vedere la sezione precedente in questo argomento.

Problema: la colonna di ricerca non è ordinata in ordine crescente

Se l'argomento range_lookup è impostato su true e una delle colonne di ricerca non è ordinata nell'ordine crescente (a-Z), verrà visualizzato l'errore #N/a.

Soluzione:

  • Modificare la funzione CERCA.VERT in modo da cercare una corrispondenza esatta. A tale scopo, impostare l'argomento intervallo su FALSE. Nessun ordinamento è necessario per FALSE.

  • Usare la funzione INDICE/CONFRONTA per cercare un valore in una tabella non ordinata.

Problema: il valore è un numero a virgola mobile elevato

Se le celle contengono valori temporali o numeri decimali grandi, Excel restituisce l'errore #N/D a causa della precisione della virgola mobile. I numeri a virgola mobile sono quelli che seguono il separatore decimale. Excel memorizza i valori temporali come numeri a virgola mobile. Excel non può archiviare numeri con punti mobili molto grandi, quindi per il corretto funzionamento della funzione, i numeri a virgola mobile dovranno essere arrotondati a 5 posizioni decimali.

Soluzione: abbreviare i numeri arrotondandoli fino a cinque cifre decimali, con la funzione ARROTONDA.

Domande su funzioni specifiche?

Pubblicare una domanda nel forum della community di Excel

Suggerimenti per migliorare Excel

Si hanno suggerimenti su come migliorare la prossima versione di Excel? In questo caso, guardare gli argomenti in Excel User Voice.

Vedere anche

Serve aiuto?

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×