Tutto bene quel che finisce bene

Primo dramma:

Lunedì scorso avevo un corso di Excel in centro a Milano alle nove. Dato che era la prima volta che visitavo il cliente, volevo arrivare con buon anticipo e ho preso il treno di conseguenza. Arrivato a Milano Cadorna sono sceso in metro e ho trovato le carrozze ferme una folla immensa ad aspettare. Dopo qualche minuto, l’annuncio di “linea interrotta, seguiranno comunicazioni”. Che fare? Ho avvertito del ritardo e mi sono avviato a piedi. Sono arrivato (puf pant) alle nove e venti. Odio arrivare in ritardo. Detesto chi arriva in ritardo.

Secondo dramma:

Entro nella sala riunioni predisposta per la lezione, entrano gli allievi e si siedono attorno al tavolo, tirano fuori i carta e penna, ma non hanno i computer! Rimango sorpreso e chiedo spiegazioni: “e i computer?”. Rimangono sorpresi e chiedono “ah, ma ci vogliono?” (purtroppo non avevano letto le istruzioni). Mantengo la calma e spiego che per imparare bisogna fare (doh!), che il corso è in realtà un laboratorio, e senza PC è inutile. Invece di raffazzonare qualcosa al volo, decido di rimandare il tutto di una settimana.

Già che c’ero, mi son detto “conosciamoci meglio” e mi sono fatto raccontare come usano Excel, che tipo di problemi hanno, e ho fatto vedere alcuni strumenti che potrebbero essere loro utili, promettendo che ci avremmo lavorato durante il corso.

Finale a sorpresa:

Insomma, ho buttato la mattina per niente, dove niente è la mia retribuzione. Ma il cliente è rimasto molto contento, e vuole che tenga lo stesso corso per tutti i membri della sua associazione.

Morale della storia:

Sento dire spesso, e Amazon insegna, che “l’assistenza clienti è il nuovo marketing”. Ebbene, è vero.

Trasformare una data estesa inglese in data di Excel Italiano

In un foglio di Excel ho inserito una query a una pagina web inglese. Una delle colonne si chiama Last report e contiene una data/ora in inglese, scritta così:
12 January 2020 11.00.

A causa del mese in inglese e del punto separatore tra ora e minuti, Excel riconosce la stringa come testo. A me invece serve come data di Excel, ovvero così:
12/01/2020 10:00.

Per prima cosa, in un nuovo foglio ho inerito i mesi inglesi nella colonna A e un numero progressivo da 1 a 12 nella colonna B. Ho dato il nome mesi all’intervallo A1:B:12.

Per ricostruire la data ho usato prima di tutto la funzione =SE.ERRORE(), perché “Last report” può anche essere vuota; al suo interno ho inserito la funzione DATA(ANNO;MESE;GIORNO) a cui ho sommato le ore facendo attenzione a quanto segue:

  • I nomi dei mesi hanno lunghezze diverse, per cui STRINGA.ESTRAI() da solo non basta
  • I minuti sono sempre a zero
  • Le formule di testo restituiscono testo, ma per sommare l’ora alla data ho bisogno dell’ora come numero; inoltre il numero che mi serve non è l’intero ma il suo ventiquattresimo (per Excel un giorno vale 1 e un’ora vale 1/24)
  • La cella risultato usa la formattazione personalizzata
    gg/mm/aaaa hh:mm

Per ottenere l’ANNO:
SINISTRA(DESTRA([@[Last Report]];10);4)

Per ottenere il MESE:
CERCA.VERT(STRINGA.ESTRAI([@[Last Report]];4;LUNGHEZZA([@[Last Report]])-14);mesi;2;0)

Per ottenere il GIORNO:
SINISTRA([@[Last Report]];2)

Per ottenere le ORE:
NUMERO.VALORE(SINISTRA(DESTRA([@[Last Report]];5);2))/24

La formula finale è questa:
=SE.ERRORE(DATA(SINISTRA(DESTRA([@[Last Report]];10);4);CERCA.VERT(STRINGA.ESTRAI([@[Last Report]];4;LUNGHEZZA([@[Last Report]])-14);mesi;2;0);SINISTRA([@[Last Report]];2))+NUMERO.VALORE(SINISTRA(DESTRA([@[Last Report]];5);2))/24;”-“)

Contract for the Web

Il Web è stato progettato per unire le persone e per rendere liberamente disponibile la conoscenza. Ha migliorato il mondo e la vita di miliardi di individui. Eppure molti ancora non possono accedere ai suoi benefici, e per molti comporta costi inaccettabili.
Abbiamo tutti un ruolo da giocare nella salvaguardia del futuro del Web. Contract for the Web è stato creato da più di 80 organizzazioni, in rappresentanza di governi, aziende e società civile, e stabilisce gli impegni che guideranno la politica digitale. Per raggiungere gli obiettivi del Contratto, i governi, le aziende, la società civile e i singoli individui devono impegnarsi a sviluppare, promuovere e implementare il testo del Contratto.

(Sir Tim bernes Lee, Contract for the Web)

Prendere coscienza che il Web è un bene comune da difendere è solo un primo passo, ma è un buon primo passo.