Discussione:
Interpolazione di una serie di dati
(troppo vecchio per rispondere)
Giovanni
2005-11-05 14:56:02 UTC
Permalink
Ciao a tutti ,
se potreste aiutarmi nel risolvere questa cosa ve ne sarei grati .
Ho una serie di dati nella colonna da A1 ad A12 . Alcune celle non
contengono valori . Come posso calcolare per interpolazione le celle il cui
valore e' mancante ?
Poi e' possibile creare una formula che mi consente di determianre in modo
automatico le celle vuote e calcolare l'interpolazione in modo automatico .
Questo in quanto i valori mancanti non sono sempre nelle stesse celle ma
variano di posizione (ogni volta che ricevo i dati della colonna a da fonte
esterna)

A1 = 10
A2 = 12
A3 = --
A4 = 20
A5 = 27
A6 = 20
A7= --
A8 = 24
A9 = 26
A10= 28
A11 = --
A12 = --

Questa serie la dovrei far diventare cosi'

A1 = 10
A2 = 12
A3 = 16
A4 = 20
A5 = 27
A6 = 20
A7 = 22
A8 = 24
A9 = 26
A10 = 28
A11 = 30
A12 = 32

in modo automatico , tenendo presente che la posizione delle celle vuote non
e'
sempre la stessa ma cambia ogni volta che la fonte esterna mi da la colonna
A .

Grazie
Giovanni
fernando cinquegrani
2005-11-05 17:55:56 UTC
Permalink
[Giovanni] scrive in
Post by Giovanni
Ciao a tutti ,
se potreste aiutarmi nel risolvere questa cosa ve ne sarei grati .
Ho una serie di dati nella colonna da A1 ad A12 . Alcune celle non
contengono valori . Come posso calcolare per interpolazione le celle
il cui valore e' mancante ?
seleziona l'intervallo e chiamalo RNG
(da menu:
inserisci :: nome :: definisci...[nome] RNG
[si applica a] $A$1:$A$12)

in B1 =SE(VAL.VUOTO(A1);0;RIF.RIGA(A1))
in B2 =SE(VAL.VUOTO(A2);B1;RIF.RIGA(A2))
seleziona quest'ultima cella e trascinala
per tutta la colonna
(trascinare significa prendere il piccolo quadrato
nell'angolo in basso a destra della cella e spostarlo
in basso)

se il tuo intervallo non inizia in riga 1, posizionati
nella prima cella a destra del tuo intervallo e modifica
il riferimento alla cella A1 *tranne* che in rif.riga(A1)
che comunque deve restare tale.

in C1 =SE(VAL.VUOTO(A1);C2;RIF.RIGA(A1))
seleziona questa cella e trascinala per tutta la colonna

in
D1=SE(VAL.VUOTO(A1);INDICE(RNG;B1)+(INDICE(RNG;C1)-INDICE(RNG;B1))/(C1-B1)*(RIF.RIGA(A1)-B1);A1)
seleziona questa cella e trascinala per tutta la colonna
e avrai la serie completa interpolata

forse poteva bastare il riferimento a questo thread
http://groups.google.it/group/microsoft.public.it.office.excel/browse_frm/thread/f4729cd2fa0809a6
ma google groups ha perso la formattazione dei
messaggi html.
leggilo egualmente per capire il meccanismo.
.f
fernando cinquegrani
Microsoft MVP
http://www.prodomosua.it
fernando cinquegrani
2005-11-05 18:41:25 UTC
Permalink
[fernando cinquegrani] scrive in
Post by fernando cinquegrani
seleziona l'intervallo e chiamalo RNG
inserisci :: nome :: definisci...[nome] RNG
[si applica a] $A$1:$A$12)
in B1 =SE(VAL.VUOTO(A1);0;RIF.RIGA(A1))
p.s.:
ho scritto VAL.VUOTO(A1) e non A1="" in
modo che puoi facilmente sostituire le formule
nel caso tu abbia in quelle celle #N/D! o DIV/0!
(in tal caso cambierai val.vuoto con
val.non.disp o val.errore)
.f

Loading...