Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Congiungere 2 o più operatori logici in Excel

Office fa le bizze? Photoshop non funziona più? Forse possiamo darti una mano...

Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 6:37 pm

Salve,
sto realizzando un piccolo programmino in Excel (2010) che calcola in automatico gli interessi che maturano durante l'anno sul libretto sociale della Coop; ora, siccome i tassi d'interesse sono variabili a seconda degli scaglioni nei quali uno si trova, come da link:

http://www.e-coop.it/CoopRepository/COO ... 110121.pdf

vorrei sapere, utilizzando le formule di Excel (io ho usato la funzione logica "SE"), si possano unire due condizioni per poi, nel caso essa si verifichi (cioè sia VERA), esegua il calcolo, utilizzando ovviamente il tasso d'interesse corrispondente.
Per esser più chiari: guardando il link, si vede che fino a 4.000 euro, non ci sono problemi (infatti la funzione esegue tutto perfettamente), ma nella seconda fascia (da 4.000 a 17.000 euro), non so come inserire nella funzione la doppia possibilità, ossia se l'importo è superiore a 4.000 euro E inferiore a 17.000; qui mi pianto, infatti la funzione, anche se non da errori, di fatto non calcola niente; avevo provato ad impostarla così:

Codice: Seleziona tutto
B8>17000+B8<4000


(il + è stato messo in automatico, quando ho cliccato la casella B8); se tolgo l'ultima parte, cioè "+B8<4000, allora è ok; quindi il problema è appunto fargli capire le 2 possibilità. di fatto, ne accetta una per volta.
non riesco a venirne fuori.
vorrei un aiuto da Voi.
spero di essermi spiegato bene nel post.
grazie mille.
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 7:33 pm

Visto che usi il SE, basta concatenare le funzioni nel parametro se_falso. Mi spiego con un esempio.

Supponiamo che tu abbia la cella con l'importo che è A1. Su A25 devi mettere il risultato del calcolo dell'interesse. Dovrai fare:
Codice: Seleziona tutto
=SE(A1<15;"calcolo 15";SE(A1<25;"calcolo 25";"ancora di più"))


[ciao]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda M@ttia » sab gen 19, 2013 7:40 pm

Dunque, facciamo un esempio generico che poi si adatta facilmente al tuo.

Nella casella A1 ho il mio saldo attuale sul conto (in euro),
Nella casella A2 voglio inserire il tasso di interessi che la banca mi dà, sapendo che:
  • Fino a 1000 euro il tasso è 0.07
  • Da 1000 a 5000 euro il tasso è 0.05
  • Da 5000 a 19000 euro il tasso è 0.03
  • Oltre 19000 euro il tasso è 0.01

Nel codice della casella A2 inserirò allora:

Codice: Seleziona tutto
=SE(A1<1000 ; 0.07 ; SE(A1<5000 ; 0.05 ; SE(A1<19000 ; 0.03 ; 0.01) ) )


Nota che dal momento in cui arriva al secondo SE, significa che la cifra non è sicuramente sotto i 1000 euro, quindi mi basta testare se sta sotto i 5000 o no, ecc.
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 8:00 pm

Ciao,
sì sì, ok; a livello logico ho già tutto chiaro di come deve funzionare, altrimenti non l'avrei neanche cominciato [:D].
Io mi riferivo più che altro alla sintassi, in quanto la casella delle funzioni permette di inserirne una per volta, mentre io, appunto, volevo "concatenarle".
[grazie].
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 8:16 pm

Scrivila a mano nella barra della formula utilizzando il codice che io o Mattia ti abbiamo fornito opportunamente riadattato. [^]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 8:20 pm

Scrivila a mano nella barra della formula utilizzando il codice che io o Mattia ti abbiamo fornito opportunamente riadattato. [^]


Sì, è quello che ho fatto; quando però do ok, mi dice in rosso "Invalido" e mi riscrive tutto nella cella (visibile), come se fosse semplice testo.
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 8:22 pm

Puoi inserire qui il testo che usi come formula, per intero?
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 8:34 pm

Certo,


Codice: Seleziona tutto
=SE(B8<4000;B8*P2*(E8-A6)/36500;"")+SE(B8>4001;B8*P3*(E8-A6)/36500;"")


da notare che il "+" di concatenamento è stato messo in automatico da Excel stesso, quando sono andato sulla cella interessata; ho provato anche col ";" ma niente: con questa sintassi, mi da "#VALORE!", nella cella, quindi il niente.
Allora ho provato utilizzando la sintassi che usavo alle superiori:

Codice: Seleziona tutto
=SE(4001<B8<17000;B8*P3*(E8-A6)/36500;"")


così, invece non restituisce apparentemente alcun errore, ma in realtà è una funzione "morta", in quanto non esegue alcun calcolo.

Se vi state chiedendo del perché ci siano quelle 2 parentesi tonde interne (E8-A6), è per via del calcolo dei giorni che intercorrono fra la data precedente e quella nuova in cui vien effettuata una nuova operazione (versamento o prelevamento).
Le doppie virgolette("") invece corrispondono alla casella "FALSO", cioè se l'opzione principale non si verifica, allora lascia il campo vuoto.

Ho saltato anche la cena, per star dietro a quest'aggeggio... ma chi me l'ha fatto fare? [acc2].
[:D].
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 8:37 pm

Funziona (a metà, ovviamente) solo se la imposto così:

Codice: Seleziona tutto
=SE(B8<4000;B8*P2*(E8-A6)/36500;"")


Praticamente, come dicevo all'inizio, lui "prende" solo una possibilità alla volta, cioè in questo caso: B8<4000
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 8:39 pm

Nel primo caso secondo me non potrà mai funzionare... Il secondo SE deve andare nel posto della prima coppia vuota di apici doppi. Prova così.
Codice: Seleziona tutto
=SE(B8<4000;B8*P2*(E8-A6)/36500;SE(B8>4001;B8*P3*(E8-A6)/36500;""))
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 9:10 pm

Ciao Andy94,

finalmente ora funziona!

Codice: Seleziona tutto
=SE(B8<4000;B8*P2*(E8-A6)/36500;SE(B8>4001;B8*P3*(E8-A6)/36500;""))


L'ho leggermente riadattato, per via del range fra i 4.000 e i 17.000; praticamente erano gli apici che "rompevano", eh eh.

C'è un'ultima cosa, giusto per esser rompib...e [;)]:

oltre i 35.000 euro, non è concesso depositare sul libretto; di conseguenza, qualsiasi valore superiore, bisognerebbe che il programma lo ignorasse, evitando quindi di calcolarci gli interessi. Allora, "continuando" la tua formula, ho aggiunto un pezzetto di formula. questa la formula completa e riadattata:

Codice: Seleziona tutto
=SE(B8<4000;B8*P2*(E8-A6)/36500;SE(B8<17000;B8*P3*(E8-A6)/36500;SE(B8>17000;B8*P4*(E8-A6)/36500;SE(B8>35000;""))))


e funziona (appena testata), tranne che per l'ultima parte; quella cioè che sopra i 35.000, deve lasciar il campo vuoto, non calcolando gli interessi.
Invece ho visto che anche superando i 35.000, gli interessi li continua a calcolare tranquillamente.
Ho risbagliato qualcosa?
comunque non è strettamente indispensabile e vitale come il problema precedente, quindi tranquilli,è giusto per dare un maggior controllo e "professionalità" al programma.
grazie a tutti voi che mi avete SALVATO [^].
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 9:21 pm

In questo caso è sbagliata la tua logica. Quella è la prima cosa che va verificata. Prova così:
Codice: Seleziona tutto
=SE(B8>35000;"";SE(B8<4000;B8*P2*(E8-A6)/36500;SE(B8<17000;B8*P3*(E8-A6)/36500;SE(B8>17000;B8*P4*(E8-A6)/36500))))
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 9:27 pm

Ah ok, perfetto...
avevo invertito le opzioni. che schiappa che sono! [:D].
grazie ancora [^]
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 9:33 pm

che schiappa che sono

Non credere... In fin dei conti è solo una questione di logica: bisogna pensare che "se supera non devo fare niente, altrimenti faccio tutto il resto", perché le operazioni vengono fatte nell'ordine in cui si trovano.
A volte si deve andare per tentativi al fine di non uscirne pazzi. [:D]

In ogni caso sappi che, da quello che si intuisce leggendo il documento, l'interesse è calcolato secondo le eccedenze. Questo vuol dire che, ipotizzando un conto di euro 17.500 euro, avremo un interesse così distribuito:
- 4.000 euro frutteranno 1,50%
- 13.000 euro frutteranno 1,80%
- 500 euro frutteranno 2,50%
Il tuo progetto dovrà quindi, qualora già non lo sia, essere adeguato di conseguenza. [^]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 9:53 pm

Ciao,


L'interesse è calcolato secondo le eccedenze. Questo vuol dire che, ipotizzando un conto di euro 17.500 euro, avremo un interesse così distribuito:
- 4.000 euro frutteranno 1,50%
- 13.000 euro frutteranno 1,80%
- 500 euro frutteranno 2,50%


Qui ti devo correggere (sta volta tocca a me [:D]); funziona in relazione ai singoli movimenti, esempio:

saldo iniziale al 01.01 di 1.000 euro.
ok, il 10 gennaio verso 500 euro. calcolo interessi: (1.000 * 1.20 * 9)/36.500
gli interessi, tuttavia, non vanno ad incrementare il capitale (verranno aggiunti tutti insieme al 31.12.
il procedimento di calcolo procede sempre in questo modo, e via via che vengon raggiunti i vari scaglioni, il tasso si adegua, quindi quando avrò raggiunto e superato i 4.000 euro, il tasso sarà dell'1.44%.
esempio: mettiamo che dopo il 10 gennaio, a febbraio, diciamo il 01, vinca di brutto e versi quindi 6.000 euro in tal data. ora saremo a quota 7.000, quindi il calcolo sarà: (7.000 * 1.44 * 22)/36.500, e via via in questo modo, tenendo sempre conto che gli interessi maturati non vanno ad incrementare il capitale, ma verranno bensì aggiunti solamente alla fine dell'anno.

Lo so perché è da quando avevo 16 anni che ogni anno mi tocca fare sta procedura (mio padre era ferroviere, ma è diplomato ragioniere, e lui aveva/ha un'autentica ossessione per queste cose, specie quando si parla di conti correnti (le banche e simili si sa, son quello che sono; quando sbagliano, guarda caso sbaglian sempre per difetto...), e quindi mi ha insegnato fin da allora queste cose; inoltre, essendo diplomato anch'io ragioniere programmatore, per forza di cose...
comunque grazie mille!
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » sab gen 19, 2013 10:02 pm

Figurati, grazie a te.
Ero scettico se sottolineare la cosa o meno, ma ho trovato la persona giusta che mi ha corretto il dubbio. [grazie]

Vedi che alla fine impariamo qualcosa entrambi. [:D]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » sab gen 19, 2013 10:09 pm

Ero scettico se sottolineare la cosa o meno.


Hai fatto benissimo.


Vedi che alla fine impariamo qualcosa entrambi. [:D]


Eh sì, diciamo che in fin dei conti, è sempre un DARE e un AVERE, [rotfl].
bella questa, eh! proprio in tema!

[ciao].
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » dom gen 20, 2013 12:20 pm

Un'ultima cosa, e poi non rompo più:
parlando sempre del programmino in Excel, ho visto che se un parametro va fuori del range di controllo imposto (es. se una cella è impostata per ricevere un massimale di 35.000 euro, e gliene metto 40.000, le celle corrispondenti, e collegate, che dovrebbero quindi procedere al calcolo), restituiscono tutte, in sequenza, un messaggio, questo: #VALORE!.
Poiché è molto sgradevole da vedere, vorrei sapere se c'è modo, magari, di restituire, anziché quel messaggio, semplicemente NIENTE (cella vuota), oppure un altro messaggio da me inserito, es. IMPORTO TROPPO ALTO.
Fatto questo, direi che il programmino è perfettamente riuscito e soprattutto FUNZIONANTE.
Grazie mille per la pazienza [brindisi].
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda Andy94 » dom gen 20, 2013 1:15 pm

Quella formula già gestisce quella situazione... Le altre celle conterranno altre formule che dovranno essere adeguate di conseguenza. Puoi postarle?
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: Congiungere 2 o più operatori logici in Excel

Messaggioda usag » dom gen 20, 2013 2:11 pm

Ciao,


Quella formula già gestisce quella situazione.


Lo so che la gestisce di già; vorrei solo eliminare quella scritta, quando va fuori dei parametri.


Posto la schermata dell'evento in azione:
Immagine

Uploaded with ImageShack.us

Come si può vedere, io ho immesso il valore (cella viola) di € 40.000, che quindi oltrepassa il massimo consentito (35.000, come viene appunto segnalato nella cella gialla degli avvisi, l'ultima a destra).
Le celle "automatiche", cioè quelle che contengono le formule sono le prime 2 colonne a sinistra che puntualmente, al verificarsi dell'evento, hanno "outputtato" la famosa scritta #VALORE!. ciò che è strano, però, è che le prime 2 celle (A12 e A13, indicate dalla freccia verde) non subiscono lo stesso trattamento, comportandosi proprio come volevo io, eppure la formula è la stessa presente anche nelle celle seguenti.
Ovviamente anche la cella G8 (cerchiata in rosso), che altro non fa che sommare il totale degli interessi a fine anno col capitale totale, si "adegua" alla sorte delle colleghe.
Per inciso, giusto per far capire un attimino il programma, la colonna A calcola via via automaticamente gli interessi maturati tra ogni singolo evento (versamento o prelevamento), in relazione alle date in cui ognuno di questi eventi si verifica.
Si spiega meglio facendo vedere il programma all'opera:
Immagine

Uploaded with ImageShack.us

Come si può vedere, ora che siamo nei parametri corretti (l'importo è inferiore ai € 35.000) e tutto funziona, la prima riga dei versamenti va ad incrementare il capitale su cui verranno calcolati gli interessi dal 01.01 al 12.01 (data dell'operazione), risultando € 10.49 (cella A12); lo stesso procedimento si ripete quindi alle celle successive, utilizzando quindi la stessa formula "adeguata" ovviamente alle celle di appartenenza.
La formula utilizzata per la cella A12 (cioè la prima, quella quindi che funziona sempre come dovrebbe anche nell'altro caso) è questa:

Codice: Seleziona tutto
=SE(B12>35001;"";SE(B12<4000;B12*F2*(E12-A10)/36500;SE(B12<17000;B12*F3*(E12-A10)/36500;SE(B12>17000;B12*F4*(E12-A10)/36500;))))


Quella invece utilizzata nella cella sottostante (e quindi nelle celle a seguire, adattata) è sempre la solita, però appunto adattata:

Codice: Seleziona tutto
=SE(B13>35001;"";SE(B13<4000;B13*F2*(E13-E12)/36500;SE(B13<17000;B13*F3*(E13-E12)/36500;SE(B13>17000;B13*F4*(E13-E12)/36500;))))


Praticamente cambian soltanto le celle tra parentesi, ovviamente (che calcolano i giorni tra un'operazione e l'altra) e la cella dei versamenti, che via via "scende" di un posto; per il resto, la formula è la stessa; e allora perché la prima riga si comporta in un modo (giusto) e tutte le altre che seguono, no?
Lo stesso vale anche per la colonna adiacente (B), che segue la stessa meccanica.
Di seguito, la formula della cella B12:

Codice: Seleziona tutto
=SE(B10+D12-G12<35001;B10+D12-G12;"")


Ora quella della B13, e di seguito le altre, sempre adattate, ovviamente:

Codice: Seleziona tutto
=SE(B12+D13-G13<35001;B12+D13-G13;"")



Boh, molto strano.
Spero di risolvere questa piccola scemenza, tuttavia molto fastidiosa.
Grazie mille, Andy.
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Prossimo

Torna a Software

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising