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 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:
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:
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"))
Figura 2
Composizione di messaggiLa 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.
Figura 3
Lo scopo che vogliamo raggiungere è quello di evidenziare, a seconda delle circostanze, uno dei seguenti cinque messaggi:
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).
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.
Figura 5
RaffinatezzePotremmo 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.
Figura 6
Per il download dei file citati nell'articolo clicca qui.Tutti gli articoli di Alessandro De Simone
Disclaimer
Tutte le osservazioni, le considerazioni e il materiale presentato sono forniti a puro scopo didattico e non devono essere intesi in alcun modo come consigli operativi di investimento né come sollecitazione alla raccolta di pubblico risparmio. L'attività speculativa comporta notevoli rischi economici e chiunque la svolga lo fa sotto la propria ed esclusiva responsabilità. L'autore declina ogni responsabilità circa danni diretti o indiretti derivanti da decisioni di investimento prese dal lettore. L'autore non si assume inoltre alcuna responsabilità nel garantire che i risultati presentati - reali o simulati - possano costituire performance future.
TradingProfessionale.it ed il suo contenuto sono di esclusiva proprietà di Trading Library srl. E' vietata la riproduzione anche parziale di qualsiasi parte del sito senza autorizzazione compresa la grafica e il layout. Prima della consultazione del sito leggere il disclaimer.