A1 = b + f(A1)
con "b" termine noto
e con f(A1) una "funzione di A1"
Ovviamente ottengo un errore di riferimento circolare.
Per chi si volesse interessare al mio problema indico qualitativamente cosa
dovrebbe fare f(A1):
calcolare il 10% di A1 e restituirlo: tale risultato deve essere
obbligatoriamente nel range di valori 2 e 20 (ovvero se il 10% di A1 �
inferiore a 2 deve restituire risultato "2" se � superiore a 20 deve
restituire sempre risultato "20")
Grazie
Non puoi fare così, come tentativo? (magari non ho capito bene nè..)
Nella cella A1 inserisci GIA' il valore di A1+b precalcolato da te
Nella cella A2 inserisci il valore termine noto b (non usarlo nella
cella A1)
Nella cella A3 -> =SE(A1*0,1<2;2;SE(A1*0,1>20;20;A1*0,1))
Nella cella A4 -> =A2+A3
Ciao
Detto cos� direi ci deve essere un modo per risolverlo senza i riferimenti
circolari, ma al momento non mi viene, in realt� il mio problema � pi�
complesso nel senso che "b" non � cos� "pulito" � una insieme di termini
noti, va a dividere anche f(A1)... insomma non � facile raggruppare tutti i
termini noti da una parte della equazione.
Magari per sfizio provo a risolvere il problema anche senza riferimenti
circolari
Magari dico una cavolata ma pensandoci un po' meglio a causa di questo fatto
delle condizioni sulla percentuale mi obbliga al riferimento circolare, nel
senso riprendo l'esempio della problematica:
A1 = b + f(A1)
ovvero A1-f(A1) = b
se f(A1) fosse ad esempio semplicemente il 10% di A1 il problema si
risolverebbe senza i riferimenti circolari:
A1-A1/10 = b si risolve facilmente
Ma il fatto che devo anche calcolare quelle due condizioni SE (se minore di
2 metti risultato "2", se maggiore di 20 metti risultato "20") questa
valutazione mi obbliga al riferimento circolare, bohhhhhhhhhhhh
> A1-A1/10 = b si risolve facilmente
> Ma il fatto che devo anche calcolare quelle due condizioni SE (se minore di
> 2 metti risultato "2", se maggiore di 20 metti risultato "20") questa
> valutazione mi obbliga al riferimento circolare, bohhhhhhhhhhhh
Premesso che non ho capito molto (colpa mia), ma una volta che ai A1
un semplice
Max(2,Min(A1;20))
non risolverebbe?
Bye!
Scossa
*HAI* *HAI* *HAI* *HAI*
Bye!
Scossa
> Premesso che non ho capito molto (colpa mia), ma una volta che ai A1
> un semplice
>
> Max(2,Min(A1;20))
>
> non risolverebbe?
>
> Bye!
> Scossa
No, il problema non � quello della condizione sulla percentuale, A1 �
l'incognita e anche il risultato, capisco che non si capisca :-), per
questo credo sia obbligatorio il riferimento circolare.
Per chi fosse interessato al problema me lo faccia presente che metto
maggiori dettagli, ma sinceramente non ve lo consiglio! :D
> Per chi fosse interessato al problema me lo faccia presente che metto
> maggiori dettagli, ma sinceramente non ve lo consiglio! :D
Meglio e più chiaramente spieghi il problema, più facilmente potrai
trovare qualcuno interessato e disposto a contribuire alla sua
soluzione.
Se poi posti il tuo file in modo da avere davanti agli occhi lo stesso
"dipinto" ci si può intendere meglio.
Bye!
Scossa
Problema: acquisto un certo numero di azioni a un certo prezzo, qual'� il
prezzo di vendita oltre il quale inizio a guadagnare? (Ovvero al netto delle
commissioni, perch� ad esempio se compero 100 azioni a 5? ciascuna e le
stesse 100 azioni le rivendo sempre a 5? ciascuna NON sono in pareggio ma in
negativo per via delle commissioni)
Dati:
Pa = Prezzo di acquisto
Q = Quantit� di azioni acquistate
Sa = Spese per l'acquisto
Sv = Spese di vendita, che come dico sotto sono in qualche modo correlate
con il Pv
Incognita:
Pv = Prezzo di vendita, corrisponde alla mia incognita ma sul quale per�
devo calcolare anche le spese di vendita! Quindi direi iterazione
obbligatoria.
La formula che ho trovato per il "punto di equilibrio" �: la differenza tra
Pv e Pa moltiplicata per la Q deve essere uguale alla somma delle spese
(Pv-Pa)*Q=Sa+Sv
isolando l'incognita Pv diventa:
Pv=Pa+(Sa+Sv)/Q
Per Pa e Q sono a posto, sono semplici termini noti e sono gli unici 2 dati
che desidero avere come input;
Per Sa ho
=SE(Pa*Q*1,9/1000>20;20;SE(Pa*Q*1,9/1000<2;2;Pa*Q*1,9/1000)) quindi sono a
posto
Per la cella che calcola Pv ci metto
=Pa+(Sa+Sv)/Q
ho il problema che Sv referenzia la stessa cella Pv, quindi per suddividere
meglio il problema uso una cella per il calcolo di Sv
Per Sv similmente a Sa ho
=SE(Pv*Q*1,9/1000>20;20;SE(Pv*Q*1,9/1000<2;2;Pa*Q*1,9/1000))
problema: la cella per il calcolo di Pv e quella per il calcolo di Sv hanno
un riferimento circolare, ho abilitato il calcolo iterativo e il problema
sembra essere risolto
Ti *anno* pestato un callo?
Bruno
Se ho capito bene:
B1 = Pua (prezzo unitario di acquisto)
B2 = Qa (quantit� acquistate)
B3 = IF(B1*B2*19/10000<2,2,IF(B1*B2*19/10000>20,20,B1*B2*19/10000))
(commissioni totali di acquisto)
B4 = B1 + B3/B2 (Cma = Costo medio di acquisto)
B6 = Puv (prezzo unitario di vendita)
B7 = Qv (quantit� in vendita)
B8 = IF(B6*B7*19/10000<2,2,IF(B6*B7*19/10000>20,20,B6*B7*19/10000))
(commissioni totali di vendita)
B9 = B6-B8/B7 (Rmv = Ricavo medio di vendita)
Ci guadagni, ci fai una patta o ci perdi B7 * (B9 - B4)
a seconda che sia B9 >=< B4
Bruno
Bruno
Ho solo DUE dati in ingresso, descrivendo a parole il mio problema:
-dato il "prezzo di acquisto" e la "quantit� di azioni acquistate" E
conoscendo in che modo la banca calcola le commissioni (sia per l' acquisto
sia per la vendita)
trovare qual'� il prezzo di vendita, tale per cui, il ricavo ottenuto dalla
vendita (della totalit� delle azioni) compensa le spese sostenute nella
compravendita.
Puoi anche usare Strumenti\ricerca obiettivo... penso sia pi� chiaro e
lineare!
A1 Pa -> dato manuale
B1 Pv -> cella vuota
C1 Q -> dato manuale
D1 Sa -> =MIN(20;MAX(2;+A1*C1*1,9/1000))
E1 Sv -> =MIN(20;MAX(2;+B1*C1*1,9/1000))
F1 Utile -> =+B1*C1-A1*C1-D1-E1
Strumenti\ricerca obiettivo:
Imposta la cella F1 al valore 0 cambiando la cella B1
Ciao,
E.
Veramente geniale questa soluzione, ho provato e funziona, la terr� in
considerazione, grazie!
pua = prezzo unitario di acquisto (corso)
q = quantit�
sa = If[pua q 19/10000 < 2, 2,
If[pua q 19/10000 > 20, 20,
pua q 19/10000]]
(commissione di acquisto
puv = prezzo unitario di vendita (corso)
A - Per volumi di acquisto superiori in valore a
20 / (19/10000) = 10 526.31579...
la commissione � costante e uguale a 20, quindi
il prezzo unitario di acquisto � pua + 20/q.
La quotazione che ti manda in utile sar� pertanto
quella maggiore di pua + 2* 20/q
B - Per volumi di acquisto inferiori in valore a
2 / (19/10000) = 1 052.63157... la commissione
� costante e uguale a 2, quindi...
(come sopra sostituendo 2 a 20).
Per 2/(19/10000) <= valore acquisto <= 20/(19/10000)
l'equazione risolutiva (valida anche per i casi A e B) sar� :
q puv - If[puv q 19/10000 < 2, 2,
If[puv q 19/10000 > 20, 20, puv q 19/10000]]
= pua q + sa, puv]
non risolvibile analiticamente.
Puoi risolverla con un'iterazione o con una
funzione VBA:
=============================
Public Function FindPUV(pua, q)
Dim sa, k, m
pua = CDec(pua)
q = CDec(q)
If pua * q * 19 / 10000 < 2 Then
sa = CDec(2)
ElseIf pua * q * 19 / 10000 > 20 Then
sa = CDec(20)
Else
sa = CDec(pua * q * 19 / 10000)
End If
Do
k = CDec(k + 1 / 1000000)
m = CDec(q * pua * (1 + k) - _
IIf(pua * (1 + k) * q * 0.0019 < 2, _
2, IIf(pua * (1 + k) * q * 0.0019 > _
20, 20, pua * (1 + k) * q * 0.0019)))
Loop Until m >= pua * q + 2 * sa
FindPUV = m / q
End Function
============================
Bruno
O-O Tu sei pazzo! (simpaticamente) grazie anche a te per i suggerimenti
Matematicamente parlando, ovviamente.:-))
No Giovanni, non lo è e non lo stuzzicare su questioni matematiche
perchè allora sei tu che corri rischi del genere.:-))
Ciao Giovanni, ciao Bruno, è sempre un piacere,
Eliano
> Matematicamente parlando, ovviamente.:-))
> No Giovanni, non lo � e non lo stuzzicare su questioni matematiche
> perch� allora sei tu che corri rischi del genere.:-))
> Ciao Giovanni, ciao Bruno, � sempre un piacere,
Ciao Eliano, come ti va?
Qua piove e fa freddo.
Ho riacceso questa sera il termisifone... mi verrebbe
da augurarti Buon Natale!
Bruno
Ciao Bruno,
confermo che fra Atene e Sparta non c'è differenza.:-))
Comunque pare che il freddo contribuisca al mantenimento della specie,
per cui macchè maglioni, macchè termosifoni o stufe a pellets:
iberniamoci! :-))
Auguri contraccambiati
Eliano
LOL
No, il tastoo H mi *a* morso!
Bye!
Scossa