Lezione 8 – Composizione dei messaggi

Nella scorsa lezione (Lezione 7 – Previsioni personalizzate, che, per
evitare di ripeterci, consigliamo di rileggere) abbiamo notato che Excel è
in grado di rispondere esclusivamente con i messaggi VERO, oppure FALSO, a
seconda delle funzioni logiche assegnate.

In questa lezione vedremo in che modo impartire a Excel l’ordine di
visualizzare messaggi meno generici, capaci cioè di informare
adeguatamente l’utente sulla specifica situazione in atto. In particolare,
stavolta studieremo:

  • la funzione logica SE e le sue nidificazioni;
  • la personalizzazione dei messaggi;
  • un’applicazione pratica per determinare la rapidità con cui la quotazione
  • di un titolo azionario sale oppure scende.

La funzione SE

Tutti noi siamo abituati, da sempre, a valutare condizioni logiche: “Se
piove, esco con l’ombrello (altrimenti no)”; “Se ho sete bevo un bicchiere
d’acqua (altrimenti no)”
. A costo di sembrare banali, occorre far notare
che qualunque situazione – in cui veniamo chiamati ad effettuare una
scelta – è strutturata in tre parti:

    • la condizione che richiede una scelta (“Se piove…” Se ho

sete…”);

  • l’azione da compiere se la condizione si verifica (“Esco con

 

l’ombrello…” “Bevo un bicchier d’acqua…”);

  • l’azione da compiere se la condizione non si verifica (“…altrimenti

 

no…”).

Balza subito all’occhio che non sempre – anzi, quasi mai – ci
troviamo in condizioni in cui le scelte sono soltanto due (“…bevo
dell’acqua” … “altrimenti no”
). Di solito le situazioni in cui ci
troviamo abitualmente offrono una pluralità di scelte spesso cospicua: “Se
piove esco con l’ombrello, ma se piove a dirotto rinvio l’uscita; se però
il motivo dell’uscita è improrogabile, esco con l’auto, ma se il posto ove
recarmi è precluso al traffico privato chiedo un taxi ma se il taxi tarda
ad arrivare telefono per avvisare del probabile ritardo”
; e così via.
Sembrerebbe quindi che nelle situazioni normali le condizioni da
soddisfare contemporaneamente siano sempre numerose. Tuttavia è possibile
strutturare la pluralità delle situazioni in nidificazioni di scelte
elementari:

Piove? Sì: (esamina il piano B)

Piove? No: esco senza ombrello.

Piove a dirotto? Sì (Esamina il piano C)

Piove a dirotto? No: mi reco a piedi al luogo dell’appuntamento

L’uscita è improrogabile? Sì: (esamina il piano D)

L’uscita è improrogabile? No: rinvio l’uscita

Il luogo ove devo recarmi è negato al traffico privato? Si (Esamina piano
E)

Il luogo ove devo recarmi è negato al traffico privato? No: uso la mia
auto

In pratica, qualunque situazione complessa può essere suddivisa in
situazioni più semplici, ognuna delle quali strutturata in modo tale che
possa essere data risposta affermativa oppure negativa.

Le scelte di Excel

Excel mette a disposizione la funzione logica SE, strutturata secondo lo
schema visto in precedenza:

Se si verifica (l’evento A) esegui (il compito B); in caso contrario
esegui (il compito C)

La medesima considerazione può riassumersi in una frase ulteriormente
compressa:

Se (evento A) ; Piano B ; Piano C

…in cui è possibile individuare le tre parti in cui può essere
suddivisa qualunque scelta. La conversione finale nella sintassi di Excel
è la seguente:

= Se (evento A; Azione B ; Azione C)

…che va ovviamente digitata in una cella di Excel. Un esempio di
nidificazione può essere il seguente:

Se si verifica (l’evento A) esegui (il compito B); in caso contrario: [Se
si verifica (l’evento C) esegui (il compito D); in caso contrario esegui
(il compito E)])

Nel linguaggio più stringato di Excel, diventa:

= Se (Evento A; Azione B ; se (Evento C; Azione D; Azione E))

Un esempio pratico

La figura 1 mostra il primo foglio di lavoro dello spreadsheet scaricabile
cliccando qui. Si tratta di stabilire se il numero presente nella cella a
sinistra è grande o piccolo, in base a un nostro personalissimo criterio.
La cella C1 contiene la seguente funzione…

= SE (B1 >= 300 ; “N. grande” ; “N. piccolo”)

…nella quale suggeriamo di osservare i seguenti particolari:

    • la presenza del segno uguale (=) informa Excel sulla presenza di una

formula all’interno della cella stessa;

  • la struttura della funzione è racchiusa tra parentesi aperta (iniziale) e

 

chiusa (finale);

  • la presenza del carattere punto e virgola (;) incaricato di separare

 

evento, azione A e azione B;

  • è presente la possibilità di controllare contemporaneamente se un numero è

 

maggiore o uguale a una certa quantità;

  • le virgolette (“) racchiudono il testo di eventuali messaggi.

 

Immagine1

Figura 1

La sua interpretazione è intuitiva: se la cella B1 contiene un numero
maggiore o uguale a 300 (valore scelto arbitrariamente) Excel deve
visualizzare il messaggio “Numero grande”. Compare invece il messaggio
“Numero piccolo” se ciò non si verifica.

Entrambe le situazioni sono verificabili osservando il contenuto delle
celle C1 e C2 in corrispondenza dei valori 300 e 200 in B1 e B2.

La figura 2 offre un esempio di nidificazione di funzioni logiche SE, in
cui i messaggi da visualizzare sono tre, a seconda del valore contenuto
nella cella posta a sinistra: i numeri maggiori o uguali a 300 vengono
considerati “grandi”; quelli tra 100 e 300 “medi” e quelli inferiori
“piccoli”:

= SE (B4 >= 300; “N. grande” ; SE (B4 >= 100 ; “N.medio” ;
“N.piccolo”))

Immagine2

Figura 2

Composizione di messaggi

La figura 3 si riferisce a un circoscritto gruppo di celle del secondo
foglio di lavoro dello spreadsheet. Le celle della colonna B contengono i
valori di chiusura di un titolo azionario, mentre le celle della colonna C
contengono le formule matematiche che determinano la variazione
percentuale rispetto al giorno precedente.

Immagine3

Figura 3

Lo scopo che vogliamo raggiungere è quello di evidenziare, a seconda delle
circostanze, uno dei seguenti cinque messaggi:

  • il titolo sale rapidamente;
  • il titolo sale lentamente;
  • il titolo scende rapidamente;
  • il titolo scende lentamente;
  • il titolo è stabile.

Naturalmente tocca a noi stabilire a quale valore di variazione
percentuale debba corrispondere l’avverbio “rapidamente” o “lentamente”.
Per ora gli riserviamo la cella C1, alla quale assegneremo l’etichetta
“Impostazione” (figura 4).

Immagine4

Figura 4

La figura 4 mostra i primi passi per realizzare una concatenazione di
frasi: le celle della colonna D contengono tutte, banalmente, le parole
“Il titolo” che costituiscono la prima parte della frase, eguale per
qualunque combinazione. Le celle della colonna E visualizzano uno dei tre
messaggi “scende”, “sale” oppure “è stabile” a seconda del confronto tra i
valori del titolo rispetto alla giornata precedente (colonna B). Rimane da
aggiungere l’avverbio “rapidamente” oppure “lentamente”, compito che verrà
svolto dalla colonna F. Considerando una cella qualunque (F4 in figura 5)
si nota la presenza della funzione matematica ASS() che esamina il valore
assoluto contenuto tra parentesi. In pratica, comparirà la parola
“lentamente” oppure “rapidamente” a seconda se la differenza percentuale,
rispetto alla giornata precedente, è inferiore oppure superiore al valore
presente in C1, da noi scelto arbitrariamente (in figura è indicato il
7%). Basterà variare quest’unico valore per modificare istantaneamente il
messaggio visualizzato in tutte le celle dello spreadsheet.

Immagine5

Figura 5

Raffinatezze

Potremmo affermare di aver raggiunto il nostro scopo, se non fosse per il
verificarsi di una piccolo inesattezza: la riga 4 di figura 5 mostra la
presenza del messaggio concatenato “Il titolo è stabile lentamente” in cui
l’avverbio “lentamente” è, quanto meno, poco elegante. Basterà inserire,
nidificandola, una seconda funzione SE per impedire la visualizzazione
dell’avverbio nel caso in cui il titolo risulti stabile. La figura 6
visualizza una delle possibili soluzioni.

Immagine6

Figura 6

Per il download dei file citati nell’articolo clicca qui.