Il Club del Software Libero

Chiacchiere, notizie, trucchi per conoscere i programmi Open Source

2 modi per evitare l’errore “Divisione per zero”

Una ferrea regola matematica dice che non si può dividere un numero per zero. E qualsiasi foglio elettronico segnala questa circostanza come un errore. Ma non è detto che ci sia davvero un errore nei nostri calcoli: potrebbe semplicemente mancare il valore di un dato che dobbiamo ancora inserire, per esempio. Allora, perché preoccuparsi? Inserito il valore mancante, l’errore sparirà da solo. Però…

Evitare la divisione per zero

 

Ma che brutto!

Però sta proprio male, quel “#DIV/0!” in mezzo a una tabella pulita e ordinata, pronta all’uso. E visto che a noi piacciono le cose belle ed eleganti, oltre che funzionali, cerchiamo di farlo sparire.
In fondo, anche se non è una vera necessità, evitare la divisione per zero ci permette di studiare un po’ questo nostro LibreOffice Calc. E magari sarà anche divertente.

Apriamo quindi una nuova cartella di lavoro, e cominciamo a giocarci.

Facciamo finta di essere a scuola

E inventiamoci un problemino: Nonno Alfredo ha parecchi nipotini. Tutti gli anni, per Natale (lo so, siamo in Luglio, ma almeno fingiamo di stare al fresco!), il Nonno regala una bella mancia a ciascuno di loro, quando vanno a trovarlo per gli auguri.

Però a volte qualche nipote manca all’appello, e viene punito lasciandolo a becco asciutto. Quindi il numero di beneficiari delle mance cambia ogni anno. E visto che Alfredo vuole essere sicuro che ciascuno abbia la stessa cifra degli altri, e gli piace pasticciare con Calc, si è preparato un foglio elettronico più o meno così:

Evitare la divisione per zero: il calcolatore di mance

Il calcolatore di mance di Nonno Alfredo

 

Eccolo lì, il maledetto! Eppure è una formula semplicissima, ed è tutto giusto!

Verissimo, ma se non inseriamo il numero di nipoti, l’errore non se ne va. Mannaggia! Cosa possiamo fare?

Come sempre, le soluzioni possibili sono più di una; e tra le tante oggi ne ho scelte due.

Uno: proviamo con un SE

La funzione SE() può aiutarci a risolvere il problema. Basta fare un test sulla cella che deve contenere il numero di nipotini per eliminare la famigerata divisione per zero.

eliminare la divisione per zero: la funzione SE()

Risolviamo il problema con la funzione SE()

 

Questa piccola modifica sistema le cose egregiamente: adesso il valore della mancia individuale rimane zero finché non inseriamo il numero di nipoti tra cui dividere il capitale. Semplice e indolore: perfetto, insomma.

E potremmo benissimo fermarci qui, ma… non è l’unico modo.

DUE: un altro genere di SE

Col passare del tempo e delle versioni, la famiglia delle formule che iniziano con SE è decisamente aumentata, e ne esiste almeno un’altra che fa al caso nostro. Si tratta di SE.ERRORE().

eliminare la divisione per zero usando SE.ERRORE()

Seconda soluzione: la funzione SE.ERRORE()

 

Ed ecco una seconda soluzione altrettanto semplice ed efficace. In pratica, abbiamo detto a Calc di assegnare alla cella D9 il valore zero in tutti i casi in cui il risultato di D5/D7 dovesse generare un errore. Possiamo essere soddisfatti.

Ma non è la stessa cosa…

Possiamo? Apparentemente sì. Ma, se io dovessi usare una delle due formule, userei senz’altro la prima. Perché? Bene, vi sfido: ditemelo voi! Non è difficile scoprirlo: basta riflettere un attimo.

Stay Tuned!

 

4 Comments

Add a Comment
  1. Battagliese Giuseppe

    Ma scusa,inserire nel codice sorgente di calc,la prima procedura che spieghi e sicuramente la soluzione a vero bug.
    I programmatori perché non risolvono questo problema?

    1. Ciao, Giuseppe.
      In molti casi, specialmente se dobbiamo fare calcoli complessi, il segnale di errore di divisione per zero è molto utile per scoprire se abbiamo fatto errori nello scrivere le formule. Quindi ricorrere a “trucchi” come quelli che ho spiegato è utile e opportuno solo per calcoli molto semplici.

      1. Battagliese Giuseppe

        Un attimo,per quello che dici si potrebbe riportare sulla cella il valore dell’errore(color rosso,per far capire che è un errore) in una cella a scomparsa.

        1. Senza dubbio ci sono molte soluzioni possibili. Quello che cerco di fare nei miei post è proporne qualcuna, cercando di fare in modo che siano soluzioni semplici e alla portata di tutti. Chiunque abbia alternative da proporre è libero di farlo (i commenti ci sono anche per questo), a patto di rispettare lo stesso principio.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Il Club del Software Libero © 2016 - 2018 Frontier Theme