#N/D, valore non disponibile. Questo il messaggio che otteniamo quando il cerca.vert non riesce a trovare il valore che noi stiamo cercando.
Come evitare di vedere la scritta #N/D? Come personalizzare il messaggio di valore non trovato? Rispondere a queste domande è l’obbiettivo di questo capitolo.
Iniziamo con il ricordare che i motivi per cui compare #N/D possono essere solo 2: il nostro cerca vert non è scritto correttamente (sintassi e parametri errati oppure mancato uso di dollari in situazioni che richiedono di bloccare qualche riferimento) o il valore che stiamo cercando non è effettivamente presente nella prima colonna della matrice tabella.
Parliamo del secondo motivo: ipotizziamo in questo capitolo che la nostra funzione sia scritta bene e che, quindi, il messaggio #N/D ci venga restituito perché il valore che cerchiamo non può essere trovato.
Riusciamo a scrivere qualcosa di diverso rispetto alla scritta #N/D? Possiamo scrivere qualcosa tipo “informazione mancante” rispetto a #N/D?
Subito un esempio. Riprendiamo la tabella utilizzata nel capitolo 1 del tutorial. Nella colonna “Venditore” avevamo utilizzato un CERCA.VERT per associare ad ogni area della colonna C il rispettivo venditore posto nella colonna I.
Cancelliamo volutamente il “Centro” dalla cella H4. Ora il nostro cerca vert ci restituisce un messaggio di valore non trovato in corrispondenza dei clienti di area “Centro”.

Se questo fosse un file da girare ad un collega o ad un cliente/fornitore? Molto probabilmente non lasceremmo quel messaggio #N/D ma lo andremmo a sostituire con un testo più comprensibile.
Ci sono un paio di funzioni che ci aiutano in questo: le funzioni logiche SE.ERRORE e la più recente SE.NON.DISP.
Il punto di partenza è questo:

Il risultato finale dovrà essere questo:

1. La funzione SE.ERRORE
La funzione logica SE.ERRORE analizza il risultato di una cella o di una espressione e, nel caso questa ritorni un errore, consente di specificare che cosa visualizzare nella cella al posto dell’errore.
La funzione prevede quindi due parametri: la cella (o l’espressione) da valutare e il contenuto da scrivere nel caso di errore.
La sintassi della funzione è:
=SE.ERRORE(valore;valore_se_errore)
Nel nostro caso scriveremo
=SE.ERRORE(D3;”informazione mancante”)
oppure richiamiamo la funzione dalla tipologia Logiche

La funzione legge il contenuto di D3. Se D3 è testo/numero/data/cella-vuota la funzione restituisce il contenuto di D3. Se D3 è un errore la funzione restituisce la scritta “informazione mancante”.

La funzione SE.ERRORE è stata introdotta con Excel 2007. Nelle versioni precedenti lo stesso risultato poteva essere raggiunto annidando le funzioni VAL.ERRORE e SE:
=SE(VAL.ERRORE(D3);”informazione mancante”;D3)
Se la cella D3 è un errore allorea scrivi “informazione mancante” altrimenti restituisci D3.

Per segnalare in maniera più netta i valori mancanti, spesso si fa uso della formattazione condizionale. Nel nostro caso potremmo selezionare le celle da colorare, richiamare dalla scheda Home la Formattazione condizionale, posizionarci sulla prima voce “Regole evidenziazione celle” e scegliere “Uguale a…” o “Testo contenente…”.

Il risultato è il seguente:

Ora che abbiamo la funzione CERCA.VERT nella colonna D ed abbiamo applicato SE.ERRORE e formattazione condizionale sulla colonna E, proviamo a vedere come fare per ottenere il risultato in un’unica colonna. Dobbiamo annidare quindi cerca verticale e se.errore sulla stessa formula.
2. Annidare le funzioni CERCA.VERT e SE.ERRORE
Questi i passaggi necessari per inserire una funzione dentro l’altra:
A Doppio clic sul primo cercavert della colonna D, selezioniamo tutto ad esclusione dell’uguale e copiamo


B Doppio clic sul se.errore della colonna E, selezioniamo il riferimento D3 e sostituiamolo incollando la funzione copiata nel punto precedente

C verifichiamo quel che abbiamo scritto, facendoci aiutare come sempre anche dai bordi colorati delle celle coinvolte, e, se tutto a posto, confermiamo con l’INVIO
Ora che abbiamo annidato le due funzioni possiamo personalizzare ulteriormente il nostro risultato finale. Utilizziamo la concatenazione tra stringhe per aggiungere il testo “Il venditore è ” davanti al nome del singolo venditore.
Aggiungiamo “Il venditore è “& nel primo parametro del SE.ERRORE, scrivendo quindi “Il venditore è “&CERCA.VERT(C5;H$3:I$6;2;0).
La funzione completa è:
=SE.ERRORE(“Il venditore è “&CERCA.VERT(C5;H$3:I$6;2;0);”informazione mancante”)

Dopo aver annidato funzioni e concatenato del testo concludiamo citando una funzione che può essere utilizzata in alternativa al SE.ERRORE.
3. La funzione SE.NON.DISP.
La funzione SE.NON.DISP. è stata introdotta in Excel 2013, come ci dice la guida ufficiale di Office. Può essere considerata come un caso particolare della più ampia SE.ERRORE. Il SE.NON.DISP infatti va a valutare se una cella/espressione è un particolare tipo di errore, #N/D, proprio quello che abbiamo tentato di personalizzare in questo secondo capito del tutorial sul cerca verticale.
La sintassi della funzione è:
=SE.NON.DISP.(valore;valore_se_nd)
Noi possiamo scrivere
=SE.NON.DISP.(D3;”informazione mancante”)

Il risultato è esattamente lo stesso che abbiamo ottenuto sopra con la funzione SE.ERRORE o con SE e VAL.ERRORE annidati.
Possiamo poi personalizzare il risultato di questa funzione applicando la formattazione condizionale e la concatenazione utilizzate nei paragrafi precendenti sul SE.ERRORE.
Se ti è piaciuto questo capitolo del tutorial iscriviti, se ti va, alla newsletter! 🙂