Excel: anni e mesi tra due date

Aggiornamento:

Su prezioso suggerimento di Federico Giacanelli che qui pubblicamente ringrazio, ho modificato la formula originale in modo che funzioni correttamente anche per periodi superiori ai 24 mesi, e ho corretto il post di conseguenza.

Paola lavora per una associazione professionale e si occupa delle iscrizioni, che iniziano in periodi diversi e valgono per periodi diversi. Anche l’ammontare della quota varia a seconda del tipo di socio.

Paola ha bisogno di imputare a ogni anno la parte di quota di iscrizione proporzionale ai mesi di validità di quell’anno. I dati rilevanti che estrae dal gestionale in un foglio di Excel sono la data di inizio, la data di fine e l’ammontare della quota:

situazione_iniziale

Ti faccio un esempio: se un socio in data 01/06/2012 ha pagato $240 per 24 mesi, Paola vuole imputare $70 nel 2012, $120 nel 2013 e $50 nel 2014. Il primo passo è trovare il numero di mesi

  • del primo anno fino a fine anno se finisce in un anno diverso altrimenti dalla data di inizio alla data di fine:
    E2==SE(ANNO(C2)>ANNO(B2);13-MESE(B2);MESE(C2)-MESE(B2)+1)
  • dell’ultimo anno se maggiore del primo:
    F2=SE(ANNO($C2)>ANNO($B2);MESE($C2);0)
  • degli anni intermedi se maggiori del primo e minori dell’ultimo:
    =SE(ANNO($C2)>ANNO($B2);(ANNO(C2)-ANNO(B2)-1)*12;0)

Questa è la tabella risultante:

situazione_intrmedia_1

A questo punto bisogna aggiungere una colonna per ogni anno in cui calcolare la parte di quota da imputare, controllando se l’anno nella riga 1 è iniziale, finale o intermedio e moltiplicando la quota mensile (Amount / Total months) per il relativo numero di mesi. Se invece l’anno in questione è esterno all’intervallo, la cella viene lasciata vuota. La formula in I2, copiabile a destra con gli opportuni $, è la seguente:

=SE(ANNO($B2)=I$1;$D2/$H2*$E2;
SE(ANNO($C2)=I$1;$D2/$H2*$F2;
SE(E(I$1>ANNO($B2);I$1<ANNO($C2));$D2/$H2*12;””)))

Questa è la tabella risultante:

situazione_intrmedia_2

A questo punto è possibile nascondere le colonne da E a H, oppure eliminarle dopo aver copiato in I2 (con santa pazienza) le loro formule al posto dei relativi riferimenti di cella, ottenendo questa bella lenzuolata:

=SE(ANNO($B2)=E$1;$D2/(13-MESE($B2)+SE(ANNO($C2)>ANNO($B2);
MESE($C2);0)+SE(ANNO($C2)>ANNO($B2);
(ANNO($C2)-ANNO($B2)-1)*12;0))*(13-MESE($B2));
SE(ANNO($C2)=E$1;$D2/(13-MESE($B2)+SE(ANNO($C2)>ANNO($B2);
MESE($C2);0)+SE(ANNO($C2)>ANNO($B2);
(ANNO($C2)-ANNO($B2)-1)*12;0))*(SE(ANNO($C2)>ANNO($B2);
MESE($C2);0));SE(E(E$1>ANNO($B2);E$1<ANNO($C2));
$D2/(13-MESE($B2)+SE(ANNO($C2)>ANNO($B2);
MESE($C2);0)+SE(ANNO($C2)>ANNO($B2);
(ANNO($C2)-ANNO($B2)-1)*12;0))*12;””)))

E questa è la situazione finale:

situazione_finale

Se ti serve, il file è questo: Esempio – mesi e anni tra due date. Se hai qualche altra soluzione più elegante, come ad esempio quella di Federico, fatti sotto.

Campionato Velico del Lario 2014 ORC/Metrico

Comincia domani il primo Campionato Velico del Lario con le regate organizzate dallo Yacht Club Como: sabato pomeriggio un percorso a bastone, domenica mattina la crociera Cernobbio-brienno-Cernobbio.

Siamo ben 55 imbarcazioni iscritte: 11 Orza6, 6 J24, 5 Fun, 4 Explorer 20, 3 Melges 24 e altri 23 tipi vari. I circoli più rappresentati sono quelli che hanno il vento: Valmadrera, Dervio e Bellano (31 barche).

Noi partecipiamo con il First211 di Arturo, barca molto meno tecnica del Fun a cui siamo (mal)abituati. Niente complicate volanti, comodo rollafiocco, gennaker invece dello spinnaker. Il prodiere si farà delle grosse penniche.

Excel per iPad: cosa c’è che non va

  • Niente macro
  • Niente connessione dati
  • Niente PowerPivot
  • Niente collegamenti ipertestuali
  • Niente filtro interattivo (slicer)
  • Visualizza ma non crea tabelle Pivot
  • Visualizza ma non crea formattazioni condizionali
  • Visualizza ma non crea convalide
  • visualizza ma non crea sparklines, smartart, wordart

Lo potrei vedere in mano agli agenti di commercio: buono per consultare, buono per compilare, no buono per fare. Volendo essere ottimisti, ci sono ampi margini di miglioramento.

Corso online: Making Sense of Data

Making Sense of Data

Ti segnalo questa buona iniziativa di Google: Making Sense of Data: si tratta di un corso online attivo dal 18 marzo al 4 aprile in cui vengono spiegati i fondamentali sulla raccolta e analisi di dati con le Fusion Tables.

Il corso è di livello base, si rivolge a chi non ha esperienza di analisi statistica e può essere completato in un pomeriggio. Superando il test finale si ottiene un certificate of completion.

Unica avvertenza: per qualche misterioso motivo, se ti iscrivi con un account di Google Apps for Domains le Fusion Tables non ti funzionano e non puoi completare gli esercizi. Bisogna iscriversi con un account @google.com, come mi hanno spiegato (dopo).

Tra parentesi, cosa aspettano a integrare Fusion con i fogli di calcolo di Google Drive? Ne verrebbe fuori una web app assai interessante.

Router bollenti

In una serata qualsiasi di marzo 2014, in una casa di 3 persone adulte, il router casalingo è connesso a

  • 5 desktop
  • 2 laptop
  • 1 stampante
  • 4 cellulari
  • 2 lampadine
  • 1 Raspberry
  • 1 Arduino

16 dispositivi connessi possono sembrare una enormità, ma è un numero destinato a crescere, man mano che cresce la internet of things.

Quasi tutti questi dispositivi hanno bisogno di andare su internet. La mia connessione ADSL Telecom da 20Mbit nominali e 12Mbit effettivi sta diventando un collo di bottiglia. Passerò alla nuova connessione da 30Mbit nominali sperando che la velocità effettiva sia un poco meglio di quella attuale, ma non mi faccio grandi illusioni.

Nel frattempo ai miei amici di Lugano la Swisscom offre la fibra ottica da 1Gbps, e a me viene lo scoramento.