1 Introduzione all'uso delle espressioni logiche e aritmetiche sui Fogli Elettronici di Gianluigi Roveda Agosto 2009 2 Copyright (c) 2009 Gianluigi Roveda è garantito il permesso di copiare, distribuire e/o modificare questo documento Versione seguendo 1.1 Foundation; o con i termini ogni le della versione Sezioni Licenza successiva Non per Documentazione pubblicata Modificabili dalla Libera Free “introduzione”, GNU, Software “operazioni aritmetiche”, “riferimenti a celle”, “relazioni d'ordine” e “funzioni”, nessun testo di copertina e nessun testo di di retro copertina. Una copia della licenza è acclusa nella sezione intitolata "Licenza per Documentazione Libera GNU". 3 Indice generale Licenza per Documentazione Libera GNU.......................................................................................................4 0. preambolo ...............................................................................................................................................4 1. applicabilità e definizioni ........................................................................................................................4 2. copie letterali ..........................................................................................................................................4 3. copiare in notevoli quantità .....................................................................................................................5 4. modifiche ................................................................................................................................................5 5. unione di documenti ...............................................................................................................................6 6. raccolte di documenti ..............................................................................................................................6 7. raccogliere insieme a lavori indipendenti ................................................................................................6 8. traduzioni ................................................................................................................................................6 9. termini ....................................................................................................................................................6 10. revisioni future di questa licenza ..........................................................................................................6 Introduzione......................................................................................................................................................7 Operazioni Aritmetiche.....................................................................................................................................7 Riferimenti a celle............................................................................................................................................9 Riferimenti assoluti e relativi ......................................................................................................................9 Relazioni d'ordine ..........................................................................................................................................11 Funzioni..........................................................................................................................................................11 Funzioni matematiche................................................................................................................................12 Funzioni logiche ......................................................................................................................................13 Funzione se...........................................................................................................................................13 Bibliografia.....................................................................................................................................................15 4 Licenza per Documentazione Libera GNU Versione 1.1, Marzo 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Chiunque può copiare e distribuire copie letterali di questo documento di licenza, ma non ne è permessa la modifica. 0. PREAMBOLO Lo scopo di questa licenza è di rendere un manuale, un testo o altri documenti scritti "liberi" nel senso di assicurare a tutti la libertà effettiva di copiarli e redistribuirli, con o senza modifiche, a fini di lucro o no. In secondo luogo questa licenza prevede per autori ed editori il modo per ottenere il giusto riconoscimento del proprio lavoro, preservandoli dall'essere considerati responsabili per modifiche apportate da altri. Questa licenza è un "copyleft": ciò vuol dire che i lavori che derivano dal documento originale devono essere ugualmente liberi. È il complemento alla Licenza Pubblica Generale GNU, che è una licenza di tipo "copyleft" pensata per il software libero. Abbiamo progettato questa licenza al fine di applicarla alla documentazione del software libero, perché il software libero ha bisogno di documentazione libera: un programma libero dovrebbe accompagnarsi a manuali che forniscano la stessa libertà del software. Ma questa licenza non è limitata alla documentazione del software; può essere utilizzata per ogni testo che tratti un qualsiasi argomento e al di là dell'avvenuta pubblicazione cartacea. Raccomandiamo principalmente questa licenza per opere che abbiano fini didattici o per manuali di consultazione. 1. APPLICABILITÀ E DEFINIZIONI Questa licenza si applica a qualsiasi manuale o altra opera che contenga una nota messa dal detentore del copyright che dica che si può distribuire nei termini di questa licenza. Con "Documento", in seguito ci si riferisce a qualsiasi manuale o opera. Ogni fruitore è un destinatario della licenza e viene indicato con "voi". Una "versione modificata" di un documento è ogni opera contenente il documento stesso o parte di esso, sia riprodotto alla lettera che con modifiche, oppure traduzioni in un'altra lingua. Una "sezione secondaria" è un'appendice cui si fa riferimento o una premessa del documento e riguarda esclusivamente il rapporto dell'editore o dell'autore del documento con l'argomento generale del documento stesso (o argomenti affini) e non contiene nulla che possa essere compreso nell'argomento principale. (Per esempio, se il documento è in parte un manuale di matematica, una sezione secondaria non può contenere spiegazioni di matematica). Il rapporto con l'argomento può essere un tema collegato storicamente con il soggetto principale o con soggetti affini, o essere costituito da argomentazioni legali, commerciali, filosofiche, etiche o politiche pertinenti. Le "sezioni non modificabili" sono alcune sezioni secondarie i cui titoli sono esplicitamente dichiarati essere sezioni non modificabili, nella nota che indica che il documento è realizzato sotto questa licenza. I "testi copertina" sono dei brevi brani di testo che sono elencati nella nota che indica che il documento è realizzato sotto questa licenza. Una copia "trasparente" del documento indica una copia leggibile da un calcolatore, codificata in un formato le cui specifiche sono disponibili pubblicamente, i cui contenuti possono essere visti e modificati direttamente, ora e in futuro, con generici editor di testi o (per immagini composte da pixel) con generici editor di immagini o (per i disegni) con qualche editor di disegni ampiamente diffuso, e la copia deve essere adatta al trattamento per la formattazione o per la conversione in una varietà di formati atti alla successiva formattazione. Una copia fatta in un altro formato di file trasparente il cui markup è stato progettato per intralciare o scoraggiare modifiche future da parte dei lettori non è trasparente. Una copia che non è trasparente è "opaca". Esempi di formati adatti per copie trasparenti sono l'ASCII puro senza markup, il formato di input per Texinfo, il formato di input per LaTex, SGML o XML accoppiati ad una DTD pubblica e disponibile, e semplice HTML conforme agli standard e progettato per essere modificato manualmente. Formati opachi sono PostScript, PDF, formati proprietari che possono essere letti e modificati solo con word processor proprietari, SGML o XML per cui non è in genere disponibile la DTD o gli strumenti per il trattamento, e HTML generato automaticamente da qualche word processor per il solo output. La "pagina del titolo" di un libro stampato indica la pagina del titolo stessa, più qualche pagina seguente per quanto necessario a contenere in modo leggibile, il materiale che la licenza prevede che compaia nella pagina del titolo. Per opere in formati in cui non sia contemplata esplicitamente la pagina del titolo, con "pagina del titolo" si intende il testo prossimo al titolo dell'opera, precedente l'inizio del corpo del testo. 2. COPIE LETTERALI Si può copiare e distribuire il documento con l'ausilio di qualsiasi mezzo, per fini di lucro e non, fornendo per tutte le copie questa licenza, le note sul copyright e l'avviso che questa licenza si applica al documento, e che non si aggiungono altre condizioni al di fuori di quelle della licenza stessa. Non si possono usare misure tecniche per impedire o controllare la lettura o la produzione di copie successive alle copie che si producono o distribuiscono. Però si possono ricavare compensi per le copie fornite. Se si distribuiscono un numero sufficiente di copie si devono seguire anche le condizioni della sezione 3. Si possono anche prestare copie e con le stesse condizioni sopra menzionate possono essere utilizzate in pubblico. 5 3. COPIARE IN NOTEVOLI QUANTITÀ Se si pubblicano a mezzo stampa più di 100 copie del documento, e la nota della licenza indica che esistono uno o più testi copertina, si devono includere nelle copie, in modo chiaro e leggibile, tutti i testi copertina indicati: il testo della prima di copertina in prima di copertina e il testo di quarta di copertina in quarta di copertina. Ambedue devono identificare l'editore che pubblica il documento. La prima di copertina deve presentare il titolo completo con tutte le parole che lo compongono egualmente visibili ed evidenti. Si può aggiungere altro materiale alle copertine. Il copiare con modifiche limitate alle sole copertine, purché si preservino il titolo e le altre condizioni viste in precedenza, è considerato alla stregua di copiare alla lettera. Se il testo richiesto per le copertine è troppo voluminoso per essere riprodotto in modo leggibile, se ne può mettere una prima parte per quanto ragionevolmente può stare in copertina, e continuare nelle pagine immediatamente seguenti. Se si pubblicano o distribuiscono copie opache del documento in numero superiore a 100, si deve anche includere una copia trasparente leggibile da un calcolatore per ogni copia o menzionare per ogni copia opaca un indirizzo di una rete di calcolatori pubblicamente accessibile in cui vi sia una copia trasparente completa del documento, spogliato di materiale aggiuntivo, e a cui si possa accedere anonimamente e gratuitamente per scaricare il documento usando i protocolli standard e pubblici generalmente usati. Se si adotta l'ultima opzione, si deve prestare la giusta attenzione, nel momento in cui si inizia la distribuzione in quantità elevata di copie opache, ad assicurarsi che la copia trasparente rimanga accessibile all'indirizzo stabilito fino ad almeno un anno di distanza dall'ultima distribuzione (direttamente o attraverso rivenditori) di quell'edizione al pubblico. È caldamente consigliato, benchè non obbligatorio, contattare l'autore del documento prima di distribuirne un numero considerevole di copie, per metterlo in grado di fornire una versione aggiornata del documento. 4. MODIFICHE Si possono copiare e distribuire versioni modificate del documento rispettando le condizioni delle precedenti sezioni 2 e 3, purché la versione modificata sia realizzata seguendo scrupolosamente questa stessa licenza, con la versione modificata che svolga il ruolo del "documento", così da estendere la licenza sulla distribuzione e la modifica a chiunque ne possieda una copia. Inoltre nelle versioni modificate si deve: • A. Usare nella pagina del titolo (e nelle copertine se ce ne sono) un titolo diverso da quello del documento, e da quelli di versioni precedenti (che devono essere elencati nella sezione storia del documento ove presenti). Si può usare lo stesso titolo di una versione precedente se l'editore di quella versione originale ne ha dato il permesso. • B. Elencare nella pagina del titolo, come autori, una o più persone o gruppi responsabili in qualità di autori delle modifiche nella versione modificata, insieme ad almeno cinque fra i principali autori del documento (tutti gli autori principali se sono meno di cinque). • C. Dichiarare nella pagina del titolo il nome dell'editore della versione modificata in qualità di editore. • D. Conservare tutte le note sul copyright del documento originale. • E. Aggiungere un'appropriata licenza per le modifiche di seguito alle altre licenze sui copyright. • F. Includere immediatamente dopo la nota di copyright, un avviso di licenza che dia pubblicamente il permesso di usare la versione modificata nei termini di questa licenza, nella forma mostrata nell'addendum alla fine di questo testo. • G. Preservare in questo avviso di licenza l'intera lista di sezioni non modificabili e testi copertina richieste come previsto dalla licenza del documento. • H. Includere una copia non modificata di questa licenza. • I. Conservare la sezione intitolata "Storia", e il suo titolo, e aggiungere a questa un elemento che riporti al minimo il titolo, l'anno, i nuovi autori, e gli editori della versione modificata come figurano nella pagina del titolo. Se non ci sono sezioni intitolate "Storia" nel documento, createne una che riporti il titolo, gli autori, gli editori del documento come figurano nella pagina del titolo, quindi aggiungete un elemento che descriva la versione modificata come detto in precedenza. • J. Conservare l'indirizzo in rete riportato nel documento, se c'è, al fine del pubblico accesso ad una copia trasparente, e possibilmente l'indirizzo in rete per le precedenti versioni su cui ci si è basati. Questi possono essere collocati nella sezione "Storia". Si può omettere un indirizzo di rete per un'opera pubblicata almeno quattro anni prima del documento stesso, o se l'originario editore della versione cui ci si riferisce ne dà il permesso. • K. In ogni sezione di "Ringraziamenti" o "Dediche", si conservino il titolo, il senso, il tono della sezione stessa. • L. Si conservino inalterate le sezioni non modificabili del documento, nei propri testi e nei propri titoli. I numeri della sezione o equivalenti non sono considerati parte del titolo della sezione. • M. Si cancelli ogni sezione intitolata "Riconoscimenti". Solo questa sezione può non essere inclusa nella versione modificata. • N. Non si modifichi il titolo di sezioni esistenti come "miglioria" o per creare confusione con i titoli di sezioni non modificabili. Se la versione modificata comprende nuove sezioni di primaria importanza o appendici che ricadono in "sezioni secondarie", e non contengono materiale copiato dal documento, si ha facoltà di rendere non modificabili quante sezioni si voglia. Per fare ciò si aggiunga il loro titolo alla lista delle sezioni immutabili nella nota di copyright della versione modificata. Questi titoli devono essere diversi dai titoli di ogni altra sezione. Si può aggiungere una sezione intitolata "Riconoscimenti", a patto che non contenga altro che le approvazioni alla versione modificata prodotte da vari soggetti--per esempio, affermazioni di revisione o che il testo è stato approvato da una organizzazione come la definizione normativa di uno standard. Si può aggiungere un brano fino a cinque parole come Testo Copertina, e un brano fino a 25 parole come Testo di Retro Copertina, alla fine dell'elenco dei Testi Copertina nella versione modificata. Solamente un brano del Testo Copertina e uno del Testo di Retro Copertina possono essere aggiunti (anche con adattamenti) da ciascuna persona o organizzazione. Se il documento include già un testo 6 copertina per la stessa copertina, precedentemente aggiunto o adattato da voi o dalla stessa organizzazione nel nome della quale si agisce, non se ne può aggiungere un altro, ma si può rimpiazzare il vecchio ottenendo l'esplicita autorizzazione dall'editore precedente che aveva aggiunto il testo copertina. L'autore/i e l'editore/i del "documento" non ottengono da questa licenza il permesso di usare i propri nomi per pubblicizzare la versione modificata o rivendicare l'approvazione di ogni versione modificata. 5. UNIONE DI DOCUMENTI Si può unire il documento con altri realizzati sotto questa licenza, seguendo i termini definiti nella precedente sezione 4 per le versioni modificate, a patto che si includa l'insieme di tutte le Sezioni Invarianti di tutti i documenti originali, senza modifiche, e si elenchino tutte come Sezioni Invarianti della sintesi di documenti nella licenza della stessa. Nella sintesi è necessaria una sola copia di questa licenza, e multiple sezioni invarianti possono essere rimpiazzate da una singola copia se identiche. Se ci sono multiple Sezioni Invarianti con lo stesso nome ma contenuti differenti, si renda unico il titolo di ciascuna sezione aggiungendovi alla fine e fra parentesi, il nome dell'autore o editore della sezione, se noti, o altrimenti un numero distintivo. Si facciano gli stessi aggiustamenti ai titoli delle sezioni nell'elenco delle Sezioni Invarianti nella nota di copiright della sintesi. Nella sintesi si devono unire le varie sezioni intitolate "storia" nei vari documenti originali di partenza per formare una unica sezione intitolata "storia"; allo stesso modo si unisca ogni sezione intitolata "Ringraziamenti", e ogni sezione intitolata "Dediche". Si devono eliminare tutte le sezioni intitolate "Riconoscimenti". 6. RACCOLTE DI DOCUMENTI Si può produrre una raccolta che consista del documento e di altri realizzati sotto questa licenza; e rimpiazzare le singole copie di questa licenza nei vari documenti con una sola inclusa nella raccolta, solamente se si seguono le regole fissate da questa licenza per le copie alla lettera come se si applicassero a ciascun documento. Si può estrarre un singolo documento da una raccolta e distribuirlo individualmente sotto questa licenza, solo se si inserisce una copia di questa licenza nel documento estratto e se si seguono tutte le altre regole fissate da questa licenza per le copie alla lettera del documento. 7. RACCOGLIERE INSIEME A LAVORI INDIPENDENTI Una raccolta del documento o sue derivazioni con altri documenti o lavori separati o indipendenti, all'interno di o a formare un archivio o un supporto per la distribuzione, non è una "versione modificata" del documento nella sua interezza, se non ci sono copiright per l'intera raccolta. Ciascuna raccolta si chiama allora "aggregato" e questa licenza non si applica agli altri lavori contenuti in essa che ne sono parte, per il solo fatto di essere raccolti insieme, qualora non siano però loro stessi lavori derivati dal documento. Se le esigenze del Testo Copertina della sezione 3 sono applicabili a queste copie del documento allora, se il documento è inferiore ad un quarto dell'intero aggregato i Testi Copertina del documento possono essere piazzati in copertine che delimitano solo il documento all'interno dell'aggregato. Altrimenti devono apparire nella copertina dell'intero aggregato. 8. TRADUZIONI La traduzione è considerata un tipo di modifica, e di conseguenza si possono distribuire traduzioni del documento seguendo i termini della sezione 4. Rimpiazzare sezioni non modificabili con traduzioni richiede un particolare permesso da parte dei detentori del diritto d'autore, ma si possono includere traduzioni di una o più sezioni non modificabili in aggiunta alle versioni originali di queste sezioni immutabili. Si può fornire una traduzione della presente licenza a patto che si includa anche l'originale versione inglese di questa licenza. In caso di discordanza fra la traduzione e l'originale inglese di questa licenza la versione originale inglese prevale sempre. 9. TERMINI Non si può applicare un'altra licenza al documento, copiarlo, modificarlo, o distribuirlo al di fuori dei termini espressamente previsti da questa licenza. Ogni altro tentativo di applicare un'altra licenza al documento, copiarlo, modificarlo, o distribuirlo è deprecato e pone fine automaticamente ai diritti previsti da questa licenza. Comunque, per quanti abbiano ricevuto copie o abbiano diritti coperti da questa licenza, essi non ne cessano se si rimane perfettamente coerenti con quanto previsto dalla stessa. 10. REVISIONI FUTURE DI QUESTA LICENZA La Free Software Foundation può pubblicare nuove, rivedute versioni della Licenza per Documentazione Libera GNU volta per volta. Qualche nuova versione potrebbe essere simile nello spirito alla versione attuale ma differire in dettagli per affrontare nuovi problemi e concetti. Si veda http://www.gnu.org/copyleft. Ad ogni versione della licenza viene dato un numero che distingue la versione stessa. Se il documento specifica che si riferisce ad una versione particolare della licenza contraddistinta dal numero o "ogni versione successiva", si ha la possibilità di seguire termini e condizioni sia della versione specificata che di ogni versione successiva pubblicata (non come bozza) dalla Free Software Foundation. Se il documento non specifica un numero di versione particolare di questa licenza, si può scegliere ogni versione pubblicata (non come bozza) dalla Free Software Foundation. 7 Introduzione I fogli elettronici permettono di effettuare diverse operazioni su uno o più serie di dati numerici (e anche non numerici). In questo breve documento tratterò l'argomento in modo non esaustivo, ma cercherò di rendere il lettore in grado di usare le espressioni logico-aritmetiche dei fogli elettronici e di approfondire ulteriormente l'argomento in modo autonomo. Per quanto riguarda gli esempi che presenterò si tenga conto che i fogli elettronici di riferimento sono Excel (di MS-Office) e Calc (di Open Office) per la realizzazione di questo testo. Le versioni successive di questo lavoro, finché saranno presentate in modo autonomo, saranno distribuite con licenza GPL, ma in futuro si pensa di renderle parte di una nuova versione di “Un'introduzione all'Informatica aldilà della Patente Europea” [GR06], aumentando ancora il numero di esempi e rivedendo ulteriormente il testo. Questo documento nasce difatti dall'esigenza di approfondire l'argomento delle funzioni di EXCEL rispetto alla trattazione del testo appena nominato. Inizierò trattando le operazioni aritmetiche (addizione, sottrazione, moltiplicazione e divisione) con l'uso delle parentesi, le operazioni logiche (et e vel, nei loro nomi latini) e continuerò trattando l'uso delle funzioni più semplici fino a giungere a una delle funzioni che, per esperienza, vedo creare diverse difficoltà agli studenti. Operazioni Aritmetiche In una cella di un foglio elettronico possiamo porre numeri, testi ma anche operazioni. Queste operazioni possono usare come operatori valori (come numeri), testi e espressioni di calcolo, come ad esempio “=5+3” (attenzione, davanti all'espressione va sempre posto il simbolo “=” sia per quanto riguarda Calc che Excel). Se si scrive tale operazione in una cella di un foglio elettronico (invito caldamente il lettore a farlo) si potrà notare una cosa un po' strana dopo aver premuto il tasto invio: sulla cella appare il numero 8 (il risultato della somma scritta) ma nella barra che sovrasta la tabella, se si seleziona la nostra cella, apparirà ancora l'espressione aritmetica (“=5+3”), si veda l'illustrazione 1. Questo vuol dire che Excel non stà mostrando nella cella un valore memorizzato, ma il risultato di una espressione, è l'espressione che è memorizzata ! 8 Illustrazione 1: Immagine di come Calc tratta le espressioni aritmetiche I fogli elettronici hanno, in genere, a loro disposizione le quattro operazioni aritmetiche fondamentali, sicuramente Excel e Calc le hanno tutte e quattro e sfruttano la medesima notazione: • l'addizione, che come abbiamo già visto utilizza il simbolo “+”, esempio: “=8+1”; • la moltiplicazione, che utilizza il simbolo “*”, esempio: “=9*3”; • la sottrazione, che utilizza il simbolo “-”, esempio: “=11-9”; • la divisione, che utilizza il simbolo “/”, esempio: “=10/2”. Si ricorda che la divisione per 0 non è definita, quindi richiederla genera un segnale d'errore (“#DIV/0!”)1. Continuo a consigliare il lettore di provare ogni singolo esempio che presento per comprendere quello di cui sto parlando e per meglio comprendere il discorso appena fatto presento il seguente esempio: “= 18/0”. Le operazioni possono essere combinate nell'aritmetica appresa durante le lezioni di matematica alle elementari, vediamo alcuni esempi di espressioni: • “ = 6+4+2”; • “ = 7 +3 * 2 ”; • “ = 8 /3 +1”; • “ = 9 -1 /2”; • “ = 1+19 – 3 * 2 / 5” L'ordine con cui sono svolti i calcoli è lo stesso previsto in aritmetica, prima vengono svolte le moltiplicazione e le divisioni, poi le addizioni e le sottrazioni. Ad esempio i passi svolti per la valutazione della seconda sono: 1. la moltiplicazione tra 3 e 2: “=7+6”; 1 In matematica non si definisce la divisione per 0 ma si definisce il limite di una espressione il cui divisore tende a 0. Nei fogli di calcolo non si richiede di valutare un limite, quindi la divisione per 0 non è ammessa e viene vista come un errore se richiesta. 9 2. l'addizione tra 7 e 6: “=13” Se si desidera moltiplicare per 2 la somma tra 7 e 3, ovvero se voglio cambiare l'ordine delle operazioni, devo usare, come in algebra, le parentesi: “ = ( 7 + 3 ) * 2 ”. In Excel non vi sono tre tipi di parentesi come in algebra (tonde, quadre e graffe), ma solo tonde, quindi l'espressione “7 { 3 + 2 [ 5 + 12 ( 9 + 3 ) + 10 ( 8 + 1 ) ] }” in Excel diventa: “= 7 * ( 3 + 2 * ( 5 + 12 * ( 9 + 3 ) + 10 * ( 8 + 1 ) ) )” Riferimenti a celle Nelle celle si può fare in modo che il valore di una cella dipenda da quello di una o più altre celle. Partiamo dalla cosa più semplice, fare in modo che in una cella appaia lo stesso valore di un'altra: se pongo in una cella, ad esempio A1, un valore come 5 e scrivo in B1 quanto segue “=A1” otterrò che in B1 appare lo stesso valore di A1, ovvero 5. Qualsiasi modifica effettui su A1 si ripercuote su B1. Quindi se cambio in 15 il valore di A1 otterrò che automaticamente in B1 appare 15. Possiamo fare in modo di coinvolgere i riferimenti a celle in calcoli matematici, come quelli visti nella sezione precedente, ad esempio ponendo in B1 l'espressione “= 2* ( A1 + 5 ) - 3”. Così se in A1 pongo 1 otterrò in B1 la visualizzazione di 9 e se successivamente sostituisco 1 con 2 otterrò in B1 il valore 11. Una cella può dipendere, per il suo valore, anche da più di un'altra cella, vediamo alcune espressioni d'esempio: 1. “ = A1 + A2 ”; 2. “ = 2 * A1 + A2 ”; 3. “ = A1 * ( A2 + 2 ) ”; 4. “ = A1 + 3 * ( A2 + 5 ) ”. Riferimenti assoluti e relativi Si consideri di porre nella colonna A i valori 10, 20, 30, 40, 50, 60, 70 e 80 e in B1 l'espressione “=A1/10”. Chiaramente in B1 apparirà il valore 1. Ma come posso fare in modo che nelle celle sottostanti a B1 sia effettuato lo stesso calcolo per A2, A3, A4, A5, A6, A7 e A8 ? Selezionando la cella B1 e tenendo premuto sul tasto sinistro sopra l'angolo inferiore destro della cella (vedi figura) si può duplicare la formula in B1 per le celle sottostanti spostando il cursore verso il basso sino all'altezza di B8. La formula in ogni riga viene modificata automaticamente incrementando il numero di riga nel nome della cella, così in B2 non si trova la formula “=A1/10” bensì la formula “=A2/10”. 10 Illustrazione 2: parte di una tabella di Excel in cui è selezionata una cella in cui è memorizzata una formula Quindi il dupplicare per trascinamento una formula verso il basso comporta una copia modificata in modo che tutti i nomi delle celle presenti vengono modificati incrementando il valore che ne indica la riga. Similmente accadrebbe trascinando in senso orizzontale, si avrebbe l'incremento del valore (lettera) che indica la colonna . Ad esempio se in B1 pongo “=A1+1” la formula in B1 diventa in C1, per trascinamento, “=B1+1”. Se continuo il trascinamento in D1 ho che in questa cella viene posta la formula “=C1+1”. Allo stesso modo se trascino la formula in B1 lungo la colonna avrò in B2 l'espressione “=A2+1” e in B3 l'espressione “=A3+1”. Consideriamo di porre la valutazione del primo quadrimestre degli studenti di una classe di un liceo nella colonna A e del secondo nella colonna B. In C voglio porre la differenza dei due voti. In C1 pongo l'espressione “=A1-B1”. Per trascinamento riporto la formula in tutte le celle di C, così in C2 vi sarà “=A2B2”, in C3 “=A3-B3” e via discorrendo. Ipotizziamo ora di voler calcolare il calore prodotto dallo scioglimento di diverse quantità di una sostanza in stato solido. Nella colonna A pongo le diverse quantità, in B1 pongo la formula per il calcolo del calore. Il calore ricercato è dato dalla massa fusa per una costante che si differenzia da sostanza a sostanza, il calore latente di fusione. Ad esempio il calore latente di fusione dell'acqua è 335 kJ/kg e del mercurio è 11 kJ/kg. Se considero delle masse d'acqua dovrò moltiplicare, in B1, A1 per 335, quindi trascino la formula per tutte le celle della colonna B così da calcolare il calore generato dalla fusione del ghiaccio per tutte le masse elencate nella colonna A. Ma se poi rivolessi fare il calcolo per il tutte le masse nel caso del mercurio ? Dovrei riscrivere la formula in B1 e ritrascinarla sulle celle sottostanti. Non sarebbe meglio porre il valore del calore latente nella cella C1 e scrivere sin dall'inizio la formula in B1 come “=A1*C1” per poi trascinarla su tutte le celle sottostanti ? Peccato che la formula non si duplichi come “=A2*C1”, “=A3*C1”, “=A4*C1” e via discorrendo, anche il numero 1 di C1 viene incrementato ottenendo: “=A2*C2”, “=A3*C3”, “=A4*C4”, ecc. In C2, C3, C4, ecc nessuno a messo nulla di conseguenza tutte le formule daranno risultati errati. Come posso bloccare l'incremento del numero 1 di C1 ? Mettendo il simbolo “$” davanti al numero 1, ovvero non scrivendo semplicemente C1 ma C$1. Quindi ponendo in B1 l'espressione “=A1*C$1” ottengo nelle celle sottostanti, per trascinamento: “=A2*C$1”, “=A3*C$1”, “=A4*C$1”, “=A5*C$1”, ecc. Adesso per cambiare sostanza basterà cambiare il valore del calore latente in C1 e tutti i calcoli del calore necessario per trasformare le diverse masse da stato solido a liquido verranno rifatti automaticamente. La stessa cosa la posso fare duplicando lungo una riga, ovvero se le masse le scrivo tutte sulla riga 1, 11 in A3 pongo il valore del calore latente e in A2 l'espressione “=A1*$A3” che trascino per tutta la riga ottengo sulla riga 2 , a partire da B2: “=B2*$A3”, “=C2*$A3”, “=D2*$A3”, ecc. Se non avessi posto il simbolo “$” davanti alla A avrei ottenuto: “=B2*B3”, “=C2*C3”, “=D2*D3”, ecc. Nulla vieta di bloccare l'incremento sia dell'indice di riga che dell'indice di colonna del riferimento a una cella (es. $A$1) se lo si ritiene necessario. I riferimenti alle celle che non fanno uso della notazione con il simbolo “$” sono detti relativi, mentre quelli che ne fanno uso sono detti assoluti proprio a causa del loro diverso comportamento durante la duplicazione per trascinamento. Relazioni d'ordine Le relazioni d'ordine sono per EXCEL operatori che mettono in relazione valori principalmente numerici con valori di verità, VERO o FALSO. Sono tipiche relazioni d'ordine l'uguaglianza, il minore, il maggiore, il minore o uguale e il maggiore o uguale. Esempi di espressioni legali che usano relazioni d'ordine sono: “=(A2=A3)”, “=(A2=5)”, “=A2>5” e “=4>6”. Si noti che la parte delle espressioni vera e propria è stata messa tra parentesi dopo il primo uguale, questo per differenziare lo scopo del simbolo nelle sue due occorrenze: la prima occorrenza ha il significato di assegnazione alla cella dell'espressione che segue, la seconda di relazione d'ordine. Si noti, inoltre, che l'ultimo esempio non è corretto in matematica, inquanto 4 è minore di 6, ma è corretto in EXCEL, questa è una operazione che dà come risultato il valore FALSO. Spesso gli operatori d'ordine funzionano anche con valori non numerici, come dei testi, ad esempio “=(“mambo”<”valzer”)”. In questo caso la risposta viene data a partire dall'ordinamento alfanumerico, quindi mambo viene prima di valzer e l'espressione dà come risultato VERO. Funzioni Oltre a operazioni aritmetiche si possono avere espressioni date da funzioni di vario tipo (matematiche, statistiche, logiche, sulle date, ecc). Qui vedremo alcune funzioni matematiche e logiche dando particolare spazio alla funzione se. Le funzioni di Excel associano, come per la definizione in matematica, a uno o più valori, un nuovo valore. I primi valori sono detti parametri. I parametri possono essere uno o più valori dati come numeri, stringhe o celle. Nel caso delle celle si può avere o un singolo riferimento a una cella o un a un elenco riferimenti a celle o a un intervallo di riferimenti a celle. Consideriamo ad esempio la funzione di CALC denominata concatena, tramite questa funzione, come dice il nome, posso concatenare due o più testi insieme, ad esempio se scrivo in una cella “=concatena(“ciao”;”mondo”)” si visualizzerà la scritta “ciaomondo”. Non sono necessariamente due il numero di elementi che compongono l'elenco dei parametri, difatti posso benissimo scrivere nella cella 12 “=concatena(“ciao”,” ”,”mondo”)” così da ottenere “ciao mondo” con lo spazio del secondo parametro tra le due parole. Si noti che gli elementi dell'elenco sono separati da un punto e virgola. Nulla vieta di concatenare dei testi scritti in celle, ipotizziamo ad esempio di riempire la colonna A con i seguenti testi nell'ordine: “mela”, “pera”, “arancia”, ”mandarino”, “limone”, “cedro”, ”clementino”, “banana”, “ananas” e “mango”. Se scrivo “=concatena(A1;A2)” visualizzerò “melapera” e se scrivo “=concatena(A1;A2;A3)” visualizzerò “melaperaarancia”. Un altro esempio l'abbiamo con la funzione “somma”. Suppongo di mettere nella colonna A i seguenti valori: 10, 20, 30, 40, 50 e 60. Per sommare i primi due elementi della lista scriverò “=somma(A1;A2)”. Se voglio sommarli tutti dovrò scrivere “=somma(A1;A2;A3;A4;A5;A6)”. Ho dovuto elencare tutti i singoli elementi della lista dei parametri anche se si tratta di celle consecutive lungo una stessa colonna (nulla sarebbe cambiato nell'averli scritti lungo una stessa riga), cosa indiscutibilmente scomoda. Esiste una scorciatoia. Nel caso di celle adiacenti può bastare scrivere i riferimenti alla prima e all'ultima cella dell'elenco. Ad esempio nel nostro caso basta scrivere A1 e A6 separati non più da un punto e virgola ma da due punti, ovvero “=somma(A1:A6)”. Nel caso dell'elenco posso anche sommare direttamente dei valori, quindi “=somma(4;5;3)” è una espressione legale (che mi dà la somma dei tre numeri 4, 5 e 3). Posso anche scrivere espressioni che presentano valori e riferimenti a celle “=somma(4;A3;80;A4)”. Inoltre se volessi sommare B1 e B5 con l'intervallo che va da A1 ad A6 potrei farlo semplicemente combinando l'uso dei due separatori “:” e “;”: “=somma(B1;B5;A1:A6)”. Quindi dò come parametro un elenco di celle e d' intervalli di celle. Quindi per elencare i parametri uno ad uno dovrò usare come separatore il punto e virgola, mentre per dare un' intervallo dovrò usare i due punti. Funzioni matematiche In questo paragrafo considererò alcune funzioni matematiche: casuale, casuale.tra, arrotonda, prodotto e media. La prima funzione non richiede alcun parametro, la seconda e la terza ne richiede due, la quarta uno e la quinta e la sesta richiedono due o più parametri. Queste non sono tutte le funzioni catalogate come matematiche, ma sono dei buoni rappresentanti delle diverse tipologie di funzioni di questa categoria presenti nei fogli elettronici. La funzione casuale restituisce un valore razionale casuale tra 0 e 1, ovvero se scrivo in una cella “=casuale()” otterrò un numero reale come 0,5. La funzione casuale.tra richiede due parametri, due valori numerici interi (il primo minore del secondo, e restituisce un numero intero compreso tra i due parametri, ad esempio “=casuale.tra(2;5)” restituisce un intero tra 2 e 5 come 4. La funzione arrotonda richiede due parametri, il valore che si vuole arrotondare e il numero di cifre a cui si vuole arrotondare, ad esempio da “=arrotonda(5,235;2)” otterrò 5.24. 13 La funzione prodotto è simile alla funzione somma vista precedentemente, solo che invece di sommare elenchi o intervalli di valori (espressi esplicitamente o tramite il riferimento alle celle che li contengono) se ne effettua il prodotto, quindi scrivere “=prodotto(A1;A2;A3;A4)” vuol dire richiedere il prodotto A1 x A2 x A3 x A4. Ovviamente avrei potuto scrivere anche “=prodotto(A1:A4)”. La funzione media effettua la media dell'elenco dei parametri, che dovranno essere o numeri o celle contenenti numeri. La funzione è molto simile a somma e prodotto, ad esempio posso scrivere espressioni come “=media(A1;A2;A3;A4)” e “=media(A1:A4)”. Funzioni logiche In questo paragrafo considererò le principali funzioni logiche: E, O e NON. Si tratta, in forma di funzione, delle tre principali operazioni di logica matematica et, vel e non. Queste prendono per parametri espressioni date da relazioni tra valori, come quelle d'ordine viste precedentemente, o dei valori logici. I valori logici sono VERO e FALSO. In questa sede non si daranno spiegazioni di logica matematica, per tale argomento si rimanda ai testi specifici come il testo di Lolli “Introduzione alla logica formale”. La funzione E prende due parametri e restituisce VERO se entrambi i parametri hanno valore VERO, altrimenti FALSO. Si tratta dell'operatore et in forma di funzione. Esempi di espressioni legali che usano questa funzione sono: “=E(A1=B1;A3>B3)”, “=E(A1=B1;VERO)”, “=E(VERO;VERO)”. La funzione O prende anch'essa due parametri e restituisce VERO se almeno uno dei due parametri è VERO, FALSO altrimenti. Si tratta dell'operatore vel in forma di funzione. Esempi di espressioni legali che usano questa funzione sono: “=O(A1<B1;A3>B3)”, “=O(A1=B1;VERO)”, “=O(FALSO;VERO)”. La funzione NON prende un solo parametro e restituisce VERO se questo parametro è FALSO e FALSO in caso contrario. Si tratta dell'operatore unario not in forma di funzione. Esempi di espressioni legali che usano questa funzione sono: “=NON(A1<B1)”, “=NON(VERO)”. Funzione se La funzione SE, non restituisce per forza valore VERO o FALSO, come nel caso delle altre funzioni viste precedentemente. Questa funzione presenta tre parametri e dagli ultimi due dipende il tipo di valore che restituisce. Il primo dei tre parametri è un'espressione logica che se valutata dà come valore VERO o FALSO. Se l'espressione viene valutata come VERO verrà visualizzato come risultato l'espressione che appare come secondo parametro, altrimenti verrà visualizzato come risultato l'espressione che appare come terzo parametro. Se considero, ad esempio, la funzione “ =se(5>9;”ciao”;”bye”) ” essendo il primo parametro, la condizione, falsa viene preso in considerazione il terzo parametro che è il testo “bye”. Essendo questo un valore e non un'espressione viene semplicemente stampato. Vediamo cosa succede se come secondo e terzo parametro ho delle espressioni con il seguente esempio: “=se(5<9;5+9;9-5)”. La condizione 14 qui è vera, quindi viene preso in considerazione il secondo parametro “5+9” che valutato dà 14, questo è il risultato che viene visualizzato. Nei tre parametri posso rintracciare anche riferimenti a celle, funzioni e relazioni d'ordine. Vediamo ad esempio alcuni casi con condizioni più complesse: • “=se(A1+A2>5;”SI”;”NO”)”, se la somma dei valori contenuti in A1 e A2 è maggiore di 5 stampa la scritta “SI”, altrimenti “NO”; • “=se(media(A1:A5)>=6;”promosso”;”bocciato”)”, se la media dei valori contenuti nelle celle da A1 ad A5 è maggiore o uguale a 6 viene stampato il testo “promosso”, altrimenti il testo “bocciato”; • “=se(somma(A1:A4)=somma(B1:B4);”uguali”;”diversi”)”, se la somma dei valori contenuti nelle celle da A1 a A4 è pari alla somma dei valori contenuti nelle celle da B1 a B4 viene stampato il testo “uguali”, altrimenti “diversi”; Anche gli altri due parametri possono essere più complessi presentando espressioni composte da riferimenti a celle e funzioni, come le seguenti: • “=se(A1>5;A1+C2;A3-A7)” • “=se(A1>4;media(B1:B5);media(C1:C5))” • “=se(A1>4;media(B1:B5)+7;media(C1:C5)+somma(A1:A8))” Inoltre nell'espressione del primo parametro, la condizione, spesso si fa uso degli operatori logici. Ad esempio se un dispositivo non deve rimanere in un intervallo di temperatura tra i 10°C e i 20°C potrei realizzare la seguente funzione per segnalare se il valore rilevato da un apposito sensore, scritto in A1, è accettabile o meno: “=se(E(A1>10;A1<20) ;”stato normale”;”allarme”)”. Ovvero sfrutto la funzione E per congiungere due condizioni. Vediamo altri esempi: • “=se(O(A1<6;A2<6);somma(A1:A6)+1;somma(A1:A6))”, se A1 o A2 è minore di 6 restituisco la somma dei valori contenuti nelle celle da A1 ad A6 con 1, altrimenti la somma da A1 ad A6; • “=se(O(A1>5;E(media(B1:B6)>5);media(C1:C6)>5));”buongiorno”;”buonanotte”)”, in questo caso abbiamo realizzato una condizione più complessa delle precedenti, in italiano equivale a dire che A1 è maggiore di 5 oppure la media dei valori da B1 a B6 e la media dei valori da C1 a C6 sono entrambe maggiori di 5. 15 Bibliografia [GR06] M. Gaspari, G. Roveda, Un'introduzione all'Informatica aldilà della Patente Europea, Pitagora Editrice Bologna, Bologna, 2006 [OO09] Sito di Open Office http://it.openoffice.org/ , Agosto 2009 [BAN01] C. Banfield, Excel 2002 for dummies espresso, Apogeo, Milano, 2001