[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 707.   Concetti generali sui fogli elettronici

Il foglio elettronico è un insieme di celle accessibili attraverso delle coordinate, organizzate generalmente in forma bidimensionale. Le celle in questione sono delle variabili, rappresentate dalle coordinate relative.

Figura 707.1. Schema tipico di un foglio elettronico bidimensionale.

scheda

Solitamente, le coordinate sono composte dall'accoppiamento di una lettera a un numero (intero), come per esempio A1, B25 e F43, ricordando ciò che si fa normalmente nelle notazioni matematiche: a1, b25, f43. Visivamente, le celle di un foglio vengono disposte su una tabella, dove le colonne sono identificate da una o più lettere e le righe sono identificate da un numero intero. Secondo la consuetudine, nelle coordinate delle celle non si distingue tra lettere maiuscole o lettere minuscole.

La dimensione di una tabella di un foglio elettronico varia a seconda delle potenzialità elaborative disponibili. In linea di principio non ci sono limiti teorici, dal momento che si possono indicare colonne anche attraverso l'abbinamento di più lettere alfabetiche.

Si osservi che la numerazione alfabetica è diversa da quella che avviene solitamente attraverso cifre numeriche, in quanto manca un concetto equivalente allo «zero». Ciò rende difficile il calcolo del valore alfabetico corrispondente a un numero intero e viceversa.

707.1   Coordinate di celle e di zone

La rappresentazione delle celle in forma tabellare è la caratteristica fondamentale del foglio elettronico. Questa disposizione facilita l'identificazione di gruppi di celle, ovvero di zone, disposte su aree rettangolari, dove una cella singola equivale alla zona più piccola disponibile.

Mentre il riferimento a una cella singola avviene in modo abbastanza uniforme tra i fogli elettronici comuni, l'individuazione di una zona avviene attraverso forme di rappresentazione differenti. In generale rimane un elemento comune: si individua una zona indicando due celle opposte. Per esempio, osservando la figura 707.2, si vede che è stato circoscritto un gruppo di celle rettangolari; per individuare tutto il gruppo basterebbe fare riferimento alla zona che va da C3 a E6, oppure da E3 a C6, oppure da C6 a E3, oppure da E6 a C3. In pratica, di solito non ha importanza l'ordine in cui si indicano le due celle opposte.

Figura 707.2. Individuazione di una zona.

scheda

Per abbinare le celle opposte che descrivono una zona, si usa normalmente la simbologia seguente, dove xm e yn sono le coordinate della prima e della seconda cella:

xm:yn

In pratica, la zona che appare nella figura potrebbe essere rappresentata come C3:E6.

Alcuni tipi di foglio elettronico consentono di attribuire un nome a delle zone di celle, per potervi fare riferimento in modo più intelligibile all'interno delle espressioni.

707.2   Coordinate tridimensionali

Quando l'applicativo usato per la gestione dei fogli elettronici consente l'uso di più schede, come se fossero pagine di un libro, queste schede sono nominate e le coordinate possono tenere conto della scheda a cui si riferiscono:

nome_scheda!xm[:yn]
nome_scheda.xm[:yn]

Per esempio, «Acquisti.C3:D6» oppure «Acquisti!C3:D6», potrebbe identificare la zona C3:D6 della scheda «Acquisti». Nello stesso modo, «Vendite.F4» oppure «Vendite!F4», potrebbe identificare la cella F4 della scheda «Vendite».

Si osservi che se il nome della scheda a cui si fa riferimento contiene spazi o altri simboli che possono creare problemi di interpretazione, questo viene delimitato normalmente tra apici singoli:

'nome_scheda'!xm[:yn]
'nome_scheda'.xm[:yn]

707.3   Tipi di dati

Lo scopo del foglio elettronico è il calcolo automatico di espressioni contenute nelle celle. In generale, le celle possono essere vuote, possono contenere una costante oppure un'espressione da calcolare. Volendo fare una classificazione più dettagliata, si può distinguere tra:

Per le informazioni logiche (booleane) si utilizzano valori numerici che nel contesto sono interpretati come logici: lo zero vale come Falso, uno e probabilmente qualunque altro valore vale come Vero.

Nell'ambito dei fogli elettronici hanno una rilevanza particolare le indicazioni di date e di orari. Generalmente, questi tipi di valori sono gestiti attraverso l'attribuzione di un significato speciale ai numeri comuni. Di solito, un numero n intero positivo indica l'n-esimo giorno a partire da un certo riferimento, mentre un numero positivo, minore o uguale a uno, rappresenta una frazione di giorno, ovvero un'ora particolare.

707.4   Espressioni

Tutto ciò che si inserisce all'interno di una cella ha la forma di un'espressione; anche la costante è un'espressione. In particolare, le costanti vanno inserite secondo una forma prestabilita, per distinguere tra stringhe e numeri. Generalmente, i numeri si introducono nella forma cui si è abituati di solito, oppure vengono inseriti in un'espressione esplicita, mentre le stringhe possono richiedere un prefisso per poterle distinguere, oppure vanno inserite anche queste in un'espressione esplicita.

Tabella 707.3. Forme comuni di inserimento delle costanti.

Espressione Descrizione
numero
data
orario
valore_logico
Valore numerico secondo l'interpretazione predefinita; attribuendogli eventualmente un significato specifico.
stringa
Stringa predefinita.
'stringa
Stringa esplicita.
=espressione
Espressione.

Le espressioni vere e proprie si realizzano generalmente attraverso degli operatori e delle funzioni. La tabella 707.4 cerca di riassumere gli operatori comuni nei vari tipi di fogli elettronici.

Tabella 707.4. Elenco degli operatori comuni nei fogli elettronici.

Espressione Descrizione
+n
Nessun effetto.
-n
Inversione di segno.
m+n
Somma.
m-n
Sottrazione.
m*n
Moltiplicazione.
m/n
Divisione.
m&n
Concatenamento di stringhe.
(...)
Raggruppamento, precedenza.

Ciò che non si può fare con gli operatori normali, si ottiene generalmente attraverso delle funzioni, la cui notazione può variare a seconda dell'applicativo. Generalmente, una funzione è costituita da un nome seguito da dei parametri tra parentesi:

nome_funzione(parametro...)

La separazione dei parametri avviene generalmente attraverso l'uso di virgole o di punti e virgola, a seconda delle convenzioni locali: se i valori numerici prevedono la separazione della parte decimale con un punto, i parametri delle funzioni si separano con una virgola; se i valori numerici prevedono la separazione della parte decimale con una virgola, i parametri delle funzioni si separano con un punto e virgola.

Le funzioni dei fogli elettronici sono solitamente già stabilite. Purtroppo, la tradizione ha portato alla traduzione di questi nomi in base alla localizzazione. Come già accennato, dalla localizzazione può dipendere anche la scelta tra la virgola o il punto e virgola per separare i parametri delle funzioni, dal momento che si pone la scelta del simbolo usato per rappresentare la separazione tra parte intera e parte decimale di un numero. La tabella 707.5 elenca alcune funzioni tipiche nella tradizione dei fogli elettronici, secondo la notazione inglese e italiana; si osservi che alcuni applicativi usano sempre i nomi in inglese anche quando la localizzazione è fatta per un'altra lingua.

Tabella 707.5. Elenco di funzioni comuni nei fogli elettronici.

Espressione Descrizione
SUM(zona[;zona]...)
SOMMA(zona[;zona]...)
Sommatoria.
SQRT(n)
RADQ(n)
Radice quadrata.
ROUND(n;decimali)
ARROTONDA(n;decimali)
Arrotondamento.
IF(condizione;risultato_vero;risultato_falso)
SE(condizione;risultato_vero;risultato_falso)
Selezione condizionale.

Il caso della sommatoria è speciale, in quanto si usa generalmente passando come parametro una zona intera. In tale situazione, se non fosse disponibile una funzione del genere, capace di accettare una zona intera come argomento, sarebbe necessario scrivere un'espressione, eventualmente molto lunga, utilizzando sempre l'operatore +.

I parametri delle funzioni possono essere costituiti da costanti o da espressioni di vario genere, anche se questo poi si paga con una difficile leggibilità. In questo contesto, le costanti stringa sono rappresentate generalmente delimitandole tra apici doppi.

Anche se nelle celle di un foglio non dovesse essere stato previsto il tipo di dati logico, ci sono funzioni che prevedono tra i parametri dei valori logici. In questi casi, può trattarsi solo di espressioni che restituiscono un valore Vero o Falso. Queste espressioni si realizzano attraverso operatori di comparazione, assieme a operatori o funzioni logiche, che generalmente corrispondono a quanto elencato nella tabella 707.6.

Tabella 707.6. Elenco degli operatori di confronto, degli operatori logici e delle funzioni logiche, comuni nei fogli elettronici.

Espressione Descrizione
x=y
Uguale.
x<>y
Diverso.
x<y
Minore.
x>y
Maggiore.
x<=y
Minore o uguale.
x>=y
Maggiore o uguale.
AND(x;y[;z...])
E(x;y[;z...])
AND
OR(x;y[;z...])
O(x;y[;z...])
OR
NOT(x)
NON(x)
NOT

707.4.1   Date e orari

Esistono diversi modi per rappresentare il tempo nei fogli elettronici. In generale esistono due filoni fondamentali; nelle situazioni più comuni si utilizza un numero la cui parte intera rappresenta la quantità di giorni trascorsi a partire da un tempo di riferimento, mentre le frazioni dell'unità rappresentano le stesse frazioni di 24 ore; in altri casi, si usa un numero intero che esprime la quantità di secondi trascorsi da un tempo di riferimento. In generale, non ha importanza sapere quale sia il tempo di riferimento, tranne per il fatto che non si possono gestire date precedenti a quello. Al contrario, il modo in cui si annota effettivamente il tempo ha poi delle implicazioni operative significative, che vengono descritte più avanti.

Per gestire questi numeri, si utilizzano solitamente delle funzioni apposite, che generano il numero corretto per la rappresentazione del tempo desiderato. La tabella 707.7 riassume le funzioni più comuni a questo proposito.

Tabella 707.7. Elenco delle funzioni comuni per l'inserimento di valori legati al tempo.

Espressione Descrizione
DATE(anno;mese;giorno)
DATA(anno;mese;giorno)
Data.
TIME(ore;minuti;secondi)
ORARIO(ore;minuti;secondi)
Orario.

Quando il tempo è rappresentato da un numero che rappresenta una quantità di giorni e frazioni di giorno, è facile fare delle operazioni; per esempio si possono calcolare quanti giorni sono contenuti in un intervallo di date, perché basta fare una sottrazione e il valore intero che si ottiene è proprio ciò che si cerca (una quantità di giorni). Purtroppo, lo stesso tipo di operazione diventa più complicato quando il tempo è rappresentato in una quantità di secondi.

Generalmente, oltre alle funzioni che generano il valore corrispondente al tempo, ce ne sono altre per estrapolare alcune componenti: il giorno, il mese, l'anno, l'ora, i minuti e i secondi.

707.4.2   Rappresentazione dei dati

Esiste una distinzione importante tra la sostanza dei dati, il modo di memorizzarli e il modo di rappresentarli. Generalmente, il tipo di memorizzazione dei dati è anche il limite alla realtà che può essere rappresentata. A titolo di esempio, si può prendere in considerazione il problema già descritto della forma in cui vengono annotate le informazioni legate al tempo: il tempo, a livello umano, ha un significato che si traduce in qualche modo in un numero; poi, questo numero deve poter essere rappresentato secondo una forma comprensibile a livello umano.

All'inizio del capitolo è stato chiarito che normalmente i dati inseriti nelle celle sono numeri, stringhe o espressioni che si risolvono in questi due tipi di dati. Un numero può avere un significato diverso a seconda del contesto. I fogli elettronici più recenti sono in grado di interpretare questo contesto, cercando di rappresentare i valori nel modo ritenuto più appropriato; quando questo non basta, occorre intervenire chiarendo il significato che l'informazione deve avere.

Volendo fare un esempio più semplice di quanto riferito alla gestione del tempo, basta pensare ai valori percentuali: il numero 0,1 può trovarsi in un contesto per cui sia giusto rappresentarlo proprio così, oppure potrebbe rappresentare un valore percentuale, ovvero il 10 %.

Riquadro 707.8. Esempio: significati comuni del valore 10 000,5.

il numero 10 000,5

il 1 000 050 %

10 000,50 € (o qualunque altra valuta si preferisca)

il giorno 18 maggio 1927

le ore 12:00

le ore 12:00 del giorno 18 maggio 1927

il valore logico Vero

707.5   Riferimenti relativi e riferimenti assoluti

Una delle caratteristiche fondamentali di un foglio elettronico è la possibilità di copiare o spostare intere zone in punti diversi da quelli originali, inoltre deve essere possibile l'inserimento e l'eliminazione di righe e colonne.

In questa prospettiva, quando si scrivono delle espressioni che fanno riferimento a delle celle, o a delle zone, questi riferimenti sono generalmente relativi. Si osservi la figura 707.9, in cui si vede la zona A1:B3 che si desidera copiare in D2:E4.

Figura 707.9. Si vuole copiare la zona A1:B3 in D2:E4.

scheda

Si intuisce che la cella B3 debba contenere un'espressione per il calcolo del totale, per esempio SOMMA(B1:B2); evidentemente ci si aspetta che la copia della zona A1:B3 in D2:E4 avvenga in modo «logico», ovvero che l'espressione in E4 sia modificata correttamente in SOMMA(E2:E3).

In modo analogo, ci si aspetta un comportamento «logico» se si desidera inserire un riga nuova tra la prima e la seconda. In tal modo, la terza riga diventerebbe la quarta, per cui l'espressione che prima si trova in B3 andrebbe a finire in B4. A questo punto, sarebbe auspicabile che l'espressione fosse aggiornata in modo coerente, diventando SOMMA(B1:B3).

Quando si scrive una coordinata e si vuole evitare che questa venga modificata durante la copia delle celle, si deve aggiungere l'indicazione di quale parte della coordinata non può essere modificata. Generalmente si aggiunge il simbolo $ davanti alla lettera della colonna, davanti al numero della riga, o davanti a entrambi. Per esempio, $A3 è un riferimento alla cella A3, in cui l'indicazione della colonna non può essere alterata in fase di copia; nello stesso modo, A$3 è un riferimento alla cella A3, in cui la riga non può essere modificata. Ovviamente, per impedire qualunque cambiamento si indica semplicemente $A$3.

Si osservi che, di norma, lo spostamento di una zona, così come l'aggiunta o l'eliminazione di righe o di colonne, comporta l'adattamento corrispondente dei riferimenti, anche se sono stati indicati come assoluti.

707.6   Titoli, protezione delle celle e aree nascoste

Il foglio elettronico si presta particolarmente per la realizzazione di modelli già pronti, in cui può bastare l'inserimento di alcuni dati in celle prestabilite, per ottenere il completamento necessario in modo automatico. A titolo di esempio si può pensare al modello di una fattura, in cui basta inserire la descrizione dell'articolo, la quantità e il prezzo unitario per aggiornare tutte le altre informazioni. In questa situazione, può essere utile fare in modo di proteggere tutto il foglio liberando solo alcune celle. In pratica, si consente l'inserimento di dati solo nelle celle previste, impedendo errori che potrebbero costare l'alterazione di espressioni eventualmente complesse.

Generalmente si usa un approccio di questo tipo: le celle si possono considerare protette o non protette, ma si possono alterare comunque finché non viene attivata la protezione (di tutto il lavoro o della singola scheda). In pratica, solo quando si richiede la protezione complessiva, viene preso in considerazione lo stato individuale di protezione delle celle. In base a questa logica, tutte le celle di un foglio nuovo sono protette in modo predefinito, fino a quando l'utilizzatore non toglie, singolarmente o a zone, la loro protezione; solo dopo questo lavoro di selezione si può abilitare le protezione globale, attraverso cui le celle protette non possono essere più modificate.

Alcuni applicativi del genere attivano e disattivano la protezione globale semplicemente a richiesta, mentre altri richiedono l'inserimento di una parola d'ordine, che rende la protezione più efficace.

Nel momento in cui si usa il foglio elettronico per realizzare modelli complessi, diventa interessante la possibilità di nascondere delle righe o delle colonne. Questo consente di inserire al loro interno espressioni per calcoli intermedi di qualche risultato che non conviene mostrare all'utente a cui viene fatto utilizzare poi tale lavoro. Questa funzionalità, quando disponibile, si abbina convenientemente alla protezione, che può impedire eventualmente l'estrazione di queste informazioni nascoste. Tuttavia, non si deve considerare questa come una misura di sicurezza molto potente; si tratta piuttosto di una possibilità più utile allo scopo di evitare errori all'utente inesperto a cui si fa compilare un modello del genere già pronto.

A completamento di queste funzionalità di protezione, si può aggiungere la possibilità di bloccare lo scorrimento di alcune righe e colonne iniziali. Si fa riferimento a questo concetto parlando di «titoli» o di «riquadri». Lo scopo di tale meccanismo è il mantenere in vista alcune righe e alcune colonne che permettono di interpretare i dati delle celle, quando si realizzano tabelle di dati molto grandi che superano l'estensione visuale dello schermo.

707.7   Grafici

Attraverso i dati contenuti nelle celle di un foglio elettronico è possibile ottenere generalmente un grafico, scelto in base al tipo di informazioni che si intendono rappresentare. Il comportamento dei programmi di questo tipo può variare di molto nel modo di richiedere le informazioni necessarie alla realizzazione di tali grafici. In generale, per quanto riguarda i grafici che si dispongono su assi cartesiani, vengono distinti due gruppi di informazioni fondamentali: una serie di stringhe descrittive che vanno disposte sull'asse X e più insiemi di valori da disporre sull'asse Y in corrispondenza dei riferimenti sull'asse X.

Per fare un esempio, osservando la figura 707.10, si vedono tre gruppi di valori abbinati alle descrizioni «Primo», «Secondo» e «Terzo». Si intende che le stringhe contenute nella zona A1:A3 vanno collocate nell'asse X, mentre le zone B1:B3, C1:C3 e D1:D3 sono i valori relativi da rappresentare.

Figura 707.10. Si vuole realizzare il grafico dei dati contenuti nella zona A1:D3.

scheda

In questo caso, i valori da rappresentare, ovvero le serie di valori, sono organizzati in modo verticale. Quando il programma che si utilizza guida alla realizzazione del grafico, potrebbe proporre delle soluzioni errate; in questo caso potrebbe proporre la lettura delle serie di valori in modo orizzontale. È evidente, quindi, che quando si realizza un grafico occorre poi controllare che ciò che si ottiene corrisponda effettivamente a ciò che si vuole rappresentare. Ci si può allenare su questo problema provando a ottenere lo stesso grafico orientando diversamente la tabella dei dati, come si vede nella figura 707.11.

Figura 707.11. Si vuole realizzare il grafico dei dati contenuti nella zona A1:C4.

scheda

Figura 707.12. Il grafico che si dovrebbe ottenere usando la forma dell'istogramma.

grafico

707.8   Riordino

Il foglio elettronico non è un sistema adatto per l'elaborazione di dati al livello di una base di dati. Tuttavia, può essere utile inserire elenchi brevi che poi conviene riordinare in base a qualche criterio.

Generalmente tali dati vengono inseriti suddivisi in righe. Successivamente il riordino può avvenire in base alla selezione della zona rettangolare in cui si trova l'elenco, specificando quali colonne usare come criterio di ordinamento. Il riordino fatto in questo modo riguarda solo la zona selezionata, senza interferire con il resto del foglio, sia in orizzontale, sia in verticale.

707.9   Filtro

Di solito, i dati inseriti in una tabella, disposti sulle righe della stessa, possono essere filtrati secondo qualche criterio. Nelle situazioni più semplici si possono visualizzare solo le righe che contengono un certo valore in corrispondenza di una certa colonna. Ciò può essere utile per visualizzare facilmente solo alcune informazioni che diversamente sarebbe difficile estrapolare.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome concetti_generali_sui_fogli_elettronici.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!