[Risolto] Condizionale tripla meglio: 1 + 2

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
davhub
Messaggi: 17
Iscritto il: mercoledì 5 maggio 2010, 21:11

[Risolto] Condizionale tripla meglio: 1 + 2

Messaggio da davhub »

Vi scrivo al solito sotto il peso di un problema che mi attanaglia.

concentrando:

il modello prevede di testare una condizione, se questa non è soddisfatta, di testarne 2 e quindi di dare risposta.

Primo sviluppo:
NESTING duro

SE(C5>0;"OK";SE(-6<C5<-0,1;SE(C7>800;"OK";"FAILURE")))
SE(I° cond altrimenti II° cond se vero III° condizione....

Risultato: se la prima è soddisfatta OK, altrimenti... FALSO (segno che Calc sta facendo valutazioni errate).

Secondo sviluppo:
Nesting della SE + formula E utilizzata per il doppio test
SE(C5>=0;"OK";SE(E(-6<C5<0;C7>=800);"OK";"FAILURE"))
SE( I° condiz se falso II° + III° condizione


Risultato: adesso Calc restituisce FAILURE e non falso, ma pare fregarsene altamente della II°+III°condizione.
Tant'è che è failure sia che II° -5 o -10 e che III° sia 900 o 600, ad esempio.

Terzo sviluppo:
Nesting della formula SE+ formula E con >=....
SE(C5>=0;"OK";SE(E(-6<=C5<=0;C7>=800);"OK";"FAILURE"))


Adesso funziona tutto TRANNE CHE.... per temperature minori di 0 fa esattamente il contrario di quello che dovrebbe:
cioè: C5=- 5 (quindi entro il range del compreso) mi dà FAILURE sia che C7 sia più alto o meno di 800
e se C5=-8 (fuori del range, quindi dovrebbe dare solo FAILURE senza alcuna remora), mi restituisce OK se C7>800 e FAILURE se C7>800.

A questo putno credo che ci sia qualsa che non va con la formula E, ma è quello che dvorebbe fare:
se C5 è nel range e C7>800 OK, altrimenti FAILURE.

Cos'è che non vedo o sbaglio??

Grazie in anticipo.

Davhub
Ultima modifica di davhub il lunedì 22 novembre 2010, 15:22, modificato 1 volta in totale.
Avatar utente
lucky63
Volontario molto attivo
Volontario molto attivo
Messaggi: 3105
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Condizionale tripla meglio: 1 + 2

Messaggio da lucky63 »

davhub ha scritto:se C5 è nel range e C7>800 OK, altrimenti FAILURE
Salve
Se intende che come prima condizione per C5 >= 0 allora OK

altrimenti seconda condizione con doppio test
per C5 tra 0 (escluso) e -6 (compreso)
e
per C7 >= 800

esito OK altrimenti FAILURE

La formula da impiegare è:

=SE(C5>=0;"OK";SE(E(C5>=-6;C7>=800);"OK";"FAILURE"))

Provi a testare il file in allegato.
Se qualcosa non andasse provi a spiegarsi meglio per cosa intende come RANGE della seconda condizione.

Saluti
.
davhub
Messaggi: 17
Iscritto il: mercoledì 5 maggio 2010, 21:11

Re: Condizionale tripla meglio: 1 + 2

Messaggio da davhub »

Gentile Lucky63, La ringrazio per la risposta.
Ho provato sia il suo file che il mio di test (in cui avevo posto nelle celle adiacenti alla C tutte le condizioni possibili in modo da evitare che ci fossero errori (sono 7 casi contando anche lo zero) e devo dire che fa quello che deve fare.

Ha compreso benissimo il senso del prbolema ed il "Range" della seconda condizione è, appunto, l'intervallo di valori limite (0 escluso e -6 comrpeso).

possiamo porre risolto in cima al test, e, per i posteri (ma anche per me, soprattutto), ricrdo il
MIO errore:
Ho sviluppato la formula con un diagramma di flusso e mi sono attenuto troppo alle condizioni verbali scritte.

Soluzione:
le condizioni non devono ripetere gli intervalli e, soprattutto, pare non essere gradita la condizione che pone un valore entro due termini). Pulizia della formula, in sostanza.

Grazie, ancora

Davhub
Openoffice 3.01 su winXPpro 32bit
Rispondi