Il 17/05/2009 argasoft ha scritto: 
> Ho "girato e rigirato" l'help, ma nonostante i 
> miei 25 anni di programmazione database in RPG, 
> non riesco sempre a capirlo (come nel caso di 
> "calcolo non converge", "variazione minima", etc.)

Nel tuo caso non hai certamente bisogno di attivare le opzioni per i
riferimenti circolari. Servono quando hai celle interdipendenti che
contengono valori numerici. L'esempio fornito mi sembra abbastanza
chiaro: hai il prezzo finale di un prodotto (100) e vuoi calcolare
quanto di questo prezzo viene dall'IVA e quanto e' il prezzo senza IVA.

Qui potresti risolvere impostando una semplice equazione manuale e
scrivendo in Calc le formule risultanti (il "prezzo senza IVA" e' il
"prezzo finale" diviso 1,2; l'IVA e' "prezzo finale" - "prezzo senza
IVA") oppure, usando i riferimenti circolari, puoi inserire altre
relazioni e lasciare che Calc provi a calcolare i numeri giusti anche se
le formule che hai dato non portano a un risultato. Nel caso in esempio:
scriveresti nelle formule che 
"prezzo senza IVA" = "prezzo finale" - "IVA" e che
"IVA" = "prezzo senza IVA" * 0,2;
Questo non si puo' risolvere semplicemente sostituendo i valori, perche'
come vedi c'e' un riferimento circolare (il "prezzo senza IVA" dipende
dall'"IVA" che a sua volta dipende dal "prezzo senza IVA"); Calc
tuttavia imposta le equazioni necessarie e fornisce comunque i valori.

Ripeto che attivare i riferimenti circolari nel tuo caso, in cui
manipoli stringhe, mi sembra del tutto inutile.

> Dopo aver provato a fare una lunga SE() per ogni 
> cella nell'area M15:M22 utilizzando 
> SE(CONTA.SE()) cozzandoci contro, ho creato delle 
> celle con delle concatenazioni utilizzandole per 
> fare un CERCA.VERT() nella tabella 2 (celle 
> ottenuto con CONCATENA() ). Il risultato che 
> ottengo รจ che anche se dico FALSO nei parametri 
> di CERCA.VERT (quindi dovrebbe darmi l'esatto 
> valore secondo l'help), mi trova quello NON corretto.

Hai proprio un problema di riferimenti circolari.

Nel tuo file, in K15 scelgo tra le opzioni "Karma" e lascio vuoto L15;
mi succede che (nell'ordine in cui hai messo le dipendenze):
- N15 diventa "Karma 1", e dipende solo da K15 e L15. Tutto bene.
- M15 dipende da K15 (gia' definita), da N15 (gia' calcolata) e dai
  valori D1:E20 di Tabella 2; ma questi dipendono dai valori A1:B20 di
  Tabella 2; e in particolare i valori B1:B20 di Tabella 2 dipendono dai
  valori O15:O22 di Tabella 1; e, in particolare, O15 dipende da M15.
  Alla fine del giro, hai ottenuto un riferimento circolare: M15 dipende
  dal valore di M15 e quindi non puo' essere calcolato.

Questo spiega anche il problema di cui parlavi nell'altro messaggio
(formule che non venivano sostituite con il loro valore).

Insomma, il tuo foglio di calcolo contiene operazioni che a mano non
possono essere svolte. Trattandosi di operazioni che coinvolgono
stringhe e non numeri, Calc non puo' impostare delle equazioni e
ricavare i valori.

Devi riscrivere le formule in modo che non capiti che il valore di una
cella non dipenda dal valore di quella medesima cella. Altrimenti
continuerai ad avere risultati non attendibili. Il fatto che ti venga
comunque proposto un risultato (ad esempio che in M15 compaia il valore
"Crest CC-900 L") non conta: la dipendenza circolare e' individuata
correttamente in O15 (se vai su O15 la barra di stato mostra l'errore) e
quindi influenza anche le cella che da essa dipendono, come M15.

Ciao,
  Andrea.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a