Condividi:        

Variabile in una formula

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Variabile in una formula

Postdi nabbe » 16/02/13 11:13

In excel ho ho organizzato le letture giornaliere del fotovoltaico organizzate per fogli di lavoro 2010, 2011, 2012 ecc..

Ho creato una formula che in corrispondenza di ogni giorno mi calcola la differenza in percentuale della produzione dell'anno in corso rispetto a quella, esempio, del 2011.
La formula utilizzata è questa

=SE(J40="";"";SE(J40="";"";(SOMMA($J$7:J40)-SOMMA('2011'!$J$7:'2011'!J40))*100/SOMMA(('2011'!$J$7:'2011'!J40))))

fin qui ok.

Ora se io nella casella A1 digito un anno qualsiasi es. 2012 vorrei che il valore di A1 venga riportato come variabile nella formula succitata.

In sostanza vorrei che variando l'anno in A1 ottengo giornalmente le variazioni in percentuale dell'anno in corso rispetto all'anno digitato in A1

Sarà possibile?
grazie
nabbe
Newbie
 
Post: 9
Iscritto il: 07/06/11 11:33

Sponsor
 

Re: Variabile in una formula

Postdi Anthony47 » 16/02/13 13:33

Usa la funzione Indiretto; quindi probabilmente:
Codice: Seleziona tutto
=SE(J40="";"";SE(J40="";"";(SOMMA($J$7:J40)-SOMMA(INDIRETTO("'"&A1&"'!$J$7:J40")))*100/SOMMA(INDIRETTO("'"&A1&"'!$J$7:J40"))))
Il doppio SE(J40="" e' voluto o accidentale?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Variabile in una formula

Postdi nabbe » 16/02/13 16:16

Grazie Anthony47 sei molto gentile e preparato.

Il tutto funziona ma solo per la riga 40.
Se copio la formula nelle righe sottostanti A1 diventa A2 mentre J40 rimane J40.

Ho fatto una prova a bloccare A1 ma J40 rimane sempre costante mentre dovrebbe essere variabile col numero di riga:

=SE(J40="";"";SE(J40="";"";(SOMMA($J$7:J40)-SOMMA(INDIRETTO("'"&$A$1&"'!$J$7:J40")))*100/SOMMA(INDIRETTO("'"&$A$1&"'!$J$7:J40"))))

Cosa mi consigli?
ciao
nabbe
Newbie
 
Post: 9
Iscritto il: 07/06/11 11:33

Re: Variabile in una formula

Postdi Flash30005 » 16/02/13 16:34

Il doppio SE(J40 =...
secondo me è ridondante
Ho corretto la formula in questa maniera (da inserire nella riga 1 per via del riferimento riga + 39 che fa apputno 40 altrimenti modifica)
Codice: Seleziona tutto
=SE(J40="";"";(SOMMA($J$7:J40)-SOMMA(INDIRETTO("'"&A$1&"'!$J$7:J40")))*100/SOMMA(INDIRETTO("'"&A$1&"'!$J$7:J" & RIF.RIGA()+39)))


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Variabile in una formula

Postdi nabbe » 16/02/13 17:03

Scusami ma sta volta non ti seguo.

La riga di partenza come ben vedi è la 7 e poi proseguirà per 365 giorni.
Io vorrei impostare la formula per la riga 7 (quindi il J40 diventa J7)

Poi dovrei col copia e incolla portare la formula nelle righe sottostanti.
Esse dovrebbero aggiornarsi automaticamente rispetto alla riga interessata (come avviene per tutte le formule "normali".

La tua prima formula funziona perfettamente mentre quest'ultima no anche perchè forse il cambio che hai operato vuole essere ripetuto anche per il primo INDIRETTO.

In definitiva approfitto della tua pazienza e sapienza: riportami la formula per la riga 7 pronta per riportarla nelle righe seguenti.
Grazie ancora e saluti
nabbe
Newbie
 
Post: 9
Iscritto il: 07/06/11 11:33

Re: Variabile in una formula

Postdi Anthony47 » 16/02/13 18:31

Spesso vi immaginate che abbiamo il potere di vedere da lontano come funzionano i vostri calcoli... vi sbagliate!
Dovendo realizzare un indirizzamento relativo cambieremo approccio.
Prova partendo con:
Codice: Seleziona tutto
=SE(J40="";"";SE(J40="";"";(SOMMA($J$7:J40)-SOMMA(SCARTO(INDIRETTO("'"&$A$1&"'!$J$7");0;0;40-7+RIF.RIGA(A1);1)))*100/SOMMA(SCARTO(INDIRETTO("'"&$A$1&"'!$J$7");0;0;40-7+RIF.RIGA(A1);1))))


Che puo' essere semplificata in
Codice: Seleziona tutto
=SE(J43="";"";(SOMMA($J$7:J43)/SOMMA(SCARTO(INDIRETTO("'"&$A$1&"'!$J$7");0;0;40-7+RIF.RIGA(A4);1)))-1)
(con formattazione "percento")

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Variabile in una formula

Postdi nabbe » 18/02/13 09:17

Hai ragione Antony, mi rendo conto delle infinite problematiche :oops:

La tua ricetta va alla grande !
Un solo particolare che non riesco proprio ad adattare la tua formula (eppure pensavo di sapere qualcosa di Excel !!)

Il tutto funge benissimo dalla riga 40 in giù, ma se voglio adattarla dalla 7 alla 39 non va.
Addirittura tu hai prodotto ben 2 versioni della stessa formula (sei grande!!!) ma per me è uno stadio molto avanzato.

Scusami ancora e ti ringrazio se mi puoi delucidare un'ultima volta.
ciao
nabbe
Newbie
 
Post: 9
Iscritto il: 07/06/11 11:33

Re: Variabile in una formula

Postdi nabbe » 18/02/13 10:06

Grazie ho risolto
Scusami ancora e buona giornata.
nabbe
Newbie
 
Post: 9
Iscritto il: 07/06/11 11:33

Re: Variabile in una formula

Postdi Anthony47 » 18/02/13 12:40

Bene se hai risolto da solo.
Volevo spiegarti che in realta' io ho ignorato totalmente il tuo messaggio del 16-2-2013 pomeriggio, quello che esordiva "Scusami ma sta volta non ti seguo", che io ho interpretato diretto a Flash ma che conteneva un piccolo chiarimento sull' uso della formula, nella parte che specificava "La riga di partenza come ben vedi è la 7 e poi proseguirà per 365 giorni. Io vorrei impostare la formula per la riga 7 (quindi il J40 diventa J7)".

Con quest' ultimo chiarimento, la mia penultima formula proposta sarebbe stata:
Codice: Seleziona tutto
=SE(J7="";"";(SOMMA($J$7:J7)/SOMMA(SCARTO(INDIRETTO("'"&$A$1&"'!$J$7");0;0;RIF.RIGA(A1);1)))-1)
Questa confronta il solo J7 con l' anno di riferimento; copiandola sulle righe successive sara' fatto il confronto cumulativo da riga7 a riga corrente.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Variabile in una formula":


Chi c’è in linea

Visitano il forum: Ricky0185 e 46 ospiti