Cara giovanna,
ti faccio prima la domanda, dico prima del tema. E' impossibile
spiegare le cose se non così come segue. Se ti interessa, leggi. Per
chiunque voglia darmi una mano, vale lo stesso. Ho cercato di essere
piano e chiaro.
La domanda che troverete al fondo è questa: "ESISTE UNA FUNZIONE CHE
DICA AD EXCEL: 'questo valore che mi restituisce questa formula...non
scriverlo qui...ma, quando si realizza questa condizione, scrivilo
nella cella - faccio un esempio - T16' ???????"
immaginavo che la formula potesse essere messa dovunque... e si, ho
messo le variabili...nel senso che nei campi A1 e A2...introduco le
date come farebbe chiunque userebbe il foglio elettronico. Ma mi
restituisce sempre il valore 0.
In attesa di imparare bene il visualbasic per excel - suggerimenti o
links per questo? - che, a prima vista, mi pare il miglior modo e più
rapido, ho trovato una soluzione, la più prossima, anche se in una
maniera porcellina e comunque incompleta.
La soluzione che ho trovato - è da tre giorni contati che sto
imparando excel - è:
- porre in D2:D366 le date in fila, lungo una colonna, porre nella
colonna affianco, cioè in C2:C366 le caselle con la voce
"indennizzabili" o vuote, per tutti i 365 giorni, per ciascun
contratto. Anche se quest'ultima cosa serve più a me, come promemoria,
ormai, perchè non utilizzo più la funzione "conta.se";
- lasciare in B2, B3, B4, B5 i campi vuoti per l'inserimento delle
variabili richieste, indicate in A2, A3, A4, A5: "Inizio malattia",
"Fine malattia", "Contratto", "Mansione".
Qui viene il bello ed "il porcellino" - nel senso di soluzione ancora
molto grossolana, ma l'unica - ed anche l'incompletezza:
- a questo punto, date le variabili, dovrei usare la funzione SE per
disciplinare il tutto, per farmi restituire il n° di giornate
indennizzabili.
Sappiamo però che tale funzione può avere solo 7 nidificazioni e a me
risultano qualcosa come 365*365 combinazioni possibili- un pò meno in
realtà - perchè per ogni "giorno di inizio malattia" sono possibili
gli altri giorni dell'anno come "fine malattia". Anche una malattia
iniziata a dicembre può finire l'anno dopo.
Per usare questa funzione, l'unica possibiltà che mi viene in mente,
l'unica soluzione è fare in un foglio a parte, nascosto, una "tabella"
di 365 colonne per 365 righe, ed in ognuna di queste celle porre la
formula del tipo che segue:
=SE((B2=D2)*(B3=D3)*(B4="M")*(B5="OP");"2")
Questa suppone che se "inizio malattia" è uguale a "1 gennaio 2006", e
"fine malattia" è uguale a 2 gennaio 2006, le giornate indennizzabili
sono 2.
Lasciando a parte B4 e B5 che chiedono il tipo di contratto e
l'inquadramento, cosa facilmente risolvibile, replicando la stessa
tabella di 365*365 per ciascun contratto e mansione...il problema -
dopo l'immane lavoro di porre in ciascuna delle celle, per ciascuna
colonna, 365 formule così, supponendo per ognuno dei 365 giorni di
inizio...altri 365 di fine (365*365) - è che i valori corretti che mi
vengono restituiti...sono disseminati in un mare enorme e disseminato
di celle.
Voglio dire...con pazienza...la cosa si potrebbe risolvere copiando ed
incollando la formula nelle 365*365 celle, cambiando poche cose...ma
ESISTE UNA FUNZIONE CHE DICE AD EXCEL..."IL VALORE CHE MI RESTITUISCE
QUESTA CONDIZIONE...SCRIVILO IN QUESTA CELLA PARTICOLARE CHE TI
INDICO..."??
Dopo un culo immenso...avrei risolto.
Post by giovannaScriveva Andrea nel
Post by AndreaGrazie ancora Giovanna...ma non ho risolto. Ho spostato le date
dell'anno e le celle con scritto "indennizzabili" senza apici negli
intervalli della tua formula. Ho lasciato lo spazio in A1 e A2 per
introdurre le variabili.
Andrea,
scusa la domanda.... ma hai messo delle date in A1 e A2? Devi.
Post by AndreaHo posto la formula ovunque, sotto A2 o sotto
la colonna delle date o la colonna "indennizzabili", ma mi restituisce
risultato costante=0.
la formula puoi metterla ovunque.
riprova...
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................