La Signora Anna lavora nell’ufficio del personale di una azienda di produzione del Nord Italia e ha un problema con il programma delle buste paga, che a volte le sbaglia il calcolo dei giorni di malattia retribuiti o non retribuiti. Se non ho capito male, l’algoritmo è questo:
Il contratto prevede che i giorni di malattia vengano pagati fino a un limite che dipende dallo stato di anzianità al momento dell’inizio della malattia:
- fino a 3 anni di anzianità: 2 mesi di malattia pagata
- da 3 a 6 anni di anzianità: 3 mesi di malattia pagata
- oltre i 6 anni di anzianità: 4 mesi di malattia pagata
Il conteggio è effettuato nei tre anni precedenti rispetto all’ultima malattia, ma dopo 6 mesi senza malattia il conteggio riparte da zero.
In caso di malattia prolungata, l’operaio ha diritto alla conservazione del posto se i giorni di malattia (a partire dal 01/01/1987) non superano quelli indicati da questa tabella:
- fino a 3 anni di anzianità: 6 mesi di malattia
- da 3 a 6 anni di anzianità: 9 mesi di malattia
- oltre i 6 anni di anzianità: 12 mesi di malattia
La Signora Anna ha tentato più volte di creare un foglio di Excel i cui valori di input sono la data di assunzione e le date di inizio e fine delle malattie e i risultati vengono calcolati automaticamente; alla fine si è arresa ed esegue i calcoli a mano, con notevoli perdite di tempo e possibilità di errori.
Mi ha quindi chiesto se le riuscivo ad escogitare qualcosa, ed ecco il mio primo abbozzo: Esempio – assenze malattia in cui ho usato le seguenti funzioni:
- =ANNO() per trovare la differenza in anni tra due date
- =CERCA.VERT() per trovare un valore in una tabella e restituire il valore corrispondente nella colonna di destra
- =SE()
- =DATA(ANNO()-n;MESE();GIORNO()) per trovare la data corrispondente a n anni fa
- =CONFRONTA() per trovare la posizione di un valore in una colonna
- =SCARTO() per definire un intervallo di celle
- =VAL.NON.DISP() per intercettare il messaggio di errore #N/D
Sono sicuro che sia possibile fare di meglio, quindi se hai suggerimenti sono assai benvenuti, come sempre.