Gestione errori con la funzione VAL.ERR e la funzione SE (Excel)

Send Us a Sign! (Contact Us!)
Word PDF Epub Text
XML OpenOffice XPS MHT

Uso della Funzione SE

Può capitare una situazione del genere: vogliamo preparare a priori un foglio di lavoro con tutte le formule ancor prima di compilarlo. Nella colonna Tot mettiamo le formule come visibile nella tabella sottostante.

Ma otteniamo una serie di 0 (zero) che potrebbero non essere graditi. Questo perché nelle colonne indicate dalla formula non ci sono valori.

[tweet]

Solo mettendo dei valori nelle colonne indicate dalle formule verranno, al posto degli 0 (zero) i giusti valori come è mostrato in questa seconda tabella:

Questo problema è di facile soluzione. E' sufficiente che includiamo la formula o la funzione di Excel nella funzione Se.

In pratica in queste formule diciamo:

  • Se il valore nella cella B2 è diverso da nulla esegui il calcolo, altrimenti lascia la cella vuota.
  • L'esempio è visibile in questo esempio:

    Nascondere l'errore #N/D e #DIV/0! con la funzione VAL.ERR e la funzione SE

    Molte volte può succedere che le nostre formule restituiscano il messaggio #N/D (valore non disponibile) oppure la ancora più terribile #DIV/0! (Divisione per 0 - zero)

    Vediamo un esempio:

    In questa tabella abbiamo un elenco che contiene i dati di alcune persone suddivisi in Cognome, Nome, e Partita IVA.

    Dato un cognome nella quinta colonna, nella sesta colonna vogliamo il relativo Nome. Per cercare il nome sappiamo che dobbiamo usare il famoso CERCA.VERT.

    Se il cognome indicato nella quinta colonna è presente nell'elenco e se la formula è scritta correttamente nella sesta colonna avremo il giusto nome corrispondente.

    Ma può succedere anche che il cognome indicato nella quinta colonna non sia presente nella tabella in esame. In questo caso avremo in risposta della funzione un antiestetico #N/D (valore non disponibile) come è ben visibile nella seconda riga della sesta colonna.

    Nella prima coppia di righe usiamo la funzione così come ci viene fornita da Excel:

    =CERCA.VERT(E13;$A$13:$C$18;2;0)
    =CERCA.VERT(E14;$A$13:$C$18;2;0)

    ed otteniamo:

  • il risultato aspettato nel primo caso perchè riesce a trovare nella tabella indicata il cognome indicato nella formula,
  • ma un antiestetico #N/D nel secondo caso perchè non trova il cognome indicato nella formula
  • Nella seconda coppia di righe usiamo una funzione poco nota: VAL.ERRORE

    La sintassi è VAL.ERRORE(val) dove con (val) indichiamo la cella che contiene il valore da valutare.

    Questa funzione restituisce il valore logico Vero o Falso a seconda dell'esito e, se opportunamente abbinata alla funzione SE e alla formula che intendiamo usare, rende il nostro lavoro più gradevole.

    In questo caso con questa formula diciamo ad Excel:

    - se il CERCA.VERT ci restituisce un errore non scrivere nulla, altrimenti esegui il CERCA.VERT:

    =SE(VAL.ERRORE(CERCA.VERT(E16;$A$13:$C$18;3;0));"";CERCA.VERT(E16;$A$13:$C$18;3;0))
    =SE(VAL.ERRORE(CERCA.VERT(E17;$A$13:$C$18;3;0));"";CERCA.VERT(E17;$A$13:$C$18;3;0))

    Un altro esempio:

  • In A11 abbiamo 5;
  • in B11 abbiamo 1;
  • in F11 vogliamo eseguire una divisione: =A11/B11;
  • Il risultato sarebbe ovviamente 5: 5/1=5

    Ma se in B11 avessimo 0 (zero) oppure la cella vuota (5/0) il risultato della divisione sarebbe #DIV/0!

    Anche in questo caso possiamo usare la funzione VAL.ERRORE

    =SE(VAL.ERRORE(A11/B11);"";A11/B11)

    Scrivere facilmente formule complesse

    Per questa funzione avremmo finito. Ma occorre spendere ancora alcune parole per alcuni chiarimenti.

    Punto primo

    Innanzitutto possiamo inserire una funzione di Excel senza scrivere un solo carattere.

    La cosa è possibile cliccando sul pulsante Inserisci funzione che sta vicino alla barra delle formule e che fa apparire questa finestra dalla quale scegliamo la funzione desiderata. Scelta la funzione vien fuori la finestra di dialogo relativa alla funzione scelta.

    In questa finestra basta posizionare il cursore nelle varie caselle di testo e fare clic sulla cella o sulle celle interessate Nelle caselle i riferimenti alle celle si scrivono da soli. E' ovvio che qualche volta dobbiamo scrivere, come in questo caso, qualche piccola cosa. Se non siamo sicuri di ciò che dobbiamo fare in questa finestra, in basso, sulla sinistra c'è sempre un rinvio alla "Guida relativa a questa funzione" che a parer mio è molto esaustiva.

    Punto secondo

    Le due formule appena presentate, a prima vista ci possono disorientare. Infatti se le dovessimo scrivere direttamente da tastiera non sarebbe difficile commettere errori di digitazione o, addirittura di forma.

    Infatti in queste formule usiamo ben tre funzioni del foglio di Excel:

  • la funzione SE
  • la funzione VAL.ERRORE
  • la funzione CERCA.VERTICALE
  • Quando mi trovo in queste situazioni, non so se tutti lo condividono, per facilitarmi nelle operazioni, io preferisco lavorare in questo modo.

    In una cella vuota scrivo la formula che mi interessa (per esempio, in questo caso, nella cella J2):

    =CERCA.VERT(E2;$A$2:$C$7;2;0)

    in un'altra cella scrivo l'altra funzione (in questo caso nella K2)

    =VAL.ERRORE(J2)

    nell'altra la funzione finale (nella L2 in questo caso)

    =SE(K2;"";J2)

    A questo punto parto dalla formula finale per creare la formula complessa. In questa  ultima formula sostituisco i riferimenti alle celle con le formule in esse contenute.

    Ma andiamo in ordine.

  • in J2 abbiamo la formula: =CERCA.VERT(E2;A2:C7;2;0) che ci può dare sia il valore aspettato che un #N/D
  • in K2 abbiamo la formula: =VAL.ERRORE(J2) che ci può dare sia vero (errore presente) che falso (nessun errore)
  • in L2 la formula finale è: =SE(K2;"";J2) che ci può dare o una cella vuota se in k2 c'è Vero o il risultato della funzione stessa se in K2 c'è Falso
  • opero le sostituzioni nella formula finale =SE(K2;"";J2) che, a scanso di equivoci, provvedo a copiare in un'altra cella:
  • al posto di K2 copio VAL.ERRORE(J2)
    =SE(VAL.ERRORE(J2);"";J2)
  • al posto di J2 copio: CERCA.VERT(E2;A2:C7;2;0):
  •  

    =SE(VAL.ERRORE(CERCA.VERT(E2;A2:C7;2;0));"";CERCA.VERT(E2;A2:C7;2;0))

    La formula è completa per essere trascritta nella giusta locazione e tutte le formule temporanee possono essere eliminate.

    SOURCE

    LINK

    LANGUAGE
    ITALIAN

    2 thoughts on “Gestione errori con la funzione VAL.ERR e la funzione SE (Excel)”

    Comments are closed.