Scansione celle e ricorsione

Anonimo
2012-12-12T09:47:43+00:00

Salve. Avrei bisogno di risolvere il seguente problema. Ho una tabella così strutturata: ho 2 colonne, una denominata Tipologia ed un'altra Valore. Nelle celle della colonna Tipologia posso avere il testo "Entrata" o "Uscita". Un esempio è riportato di seguito.

A            B

1 Tipologia Valore

2 Entrata 12

3 Entrata 34

4 Uscita 56

5 Entrata 78

6 Uscita 90

Inoltre ho una cella nella quale ho un certo valore di partenza. A questo valore devo sommare il Valore delle celle che hanno come Tipologia "Entrata" e sottrarre il Valore delle celle che hanno come Tipologia "Uscita" ed il risultato deve essere messo sempre nella stessa cella (quindi avrei una sorta di ricorsione). Quindi, man mano che aggiungo righe alla tabella precedente, a seconda della Tipologia, aggiungo o sottraggo una certa quantità al valore della mia cella ed il risultato deve essere messo sempre nella stessa cella.

Ad esempio, se nella cella C1 ho la mia "somma", nella quale ho un offset iniziale di 100, a seconda della Tipologia, dovrò avere nella cella C1:

= 100 + 12 + 34 - 56 + 78 - 90

ed il risultato andrà sempre nella cella C1.

Potreste aiutarmi, per favore?

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-12-13T15:43:09+00:00

Ciao Mauro. Ora dovrei risolvere il seguente problema.

Ho la seguente tabella:

A B C D

1 Transizione Verso Da Valore

2 Entrata Pippo 12

3 Uscita Pluto 34

4 Entrata Topolino 56

5 Entrata Pippo 78

6 Uscita Minni 90

Voglio sommare le celle nella colonna Valore per le quali siano vere contemporaneamente le voci Transizione=Entrata e Verso=Pippo (nell'esempio dovrei sommare D2 e D5). Devo avere la possibilità di inserire le voci dinamicamente, una sotto l'altra (intervallo dinamico). Ho scritto:

=SOMMA.PIÙ.SE(SCARTO(D2;0;0;CONTA.VALORI(D:D)-1;1); SCARTO(A2;0;0;CONTA.VALORI(A:A)-1;1); "Entrata"; SCARTO(B2;0;0;CONTA.VALORI('2012_12'!B:B)-1;1); "Pippo")

La funzione SOMMA.PIÙ.SE, però, mi dà errore perché pretende che gli intervalli da considerare abbiano uguale dimensione. Come posso fare?

Grazie per l'attenzione.

Ciao!

Non hai bisogno di creare un intervallo dinamico, è sufficiente:

=SOMMA.PIÙ.SE(C:C;A:A;"Entrata";B:B;"Pippo")

in questo modo la formule recepisce tutti gli elementi (righe) aggiunti.

NB: non è consigliabile usare le costanti nelle formule (Entrata, Uscita, Pippo ...) in quanto alla prima necessità di modificare i riferimenti di ricerca sei costretto a intervenire nella formula.

E' molto meglio parametrizzare le formule. Ciò significa immettere i parametri di ricerca in celle che poi vengono richiamate nella formule. In questo modo è sufficiente scrivere nelle celle parametri le modifiche ai parametri per ottenere immediatamente il risultato dalla formula.

Nella fattispecie, se tu avessi per es. immesso nella cella D2 il tipo di Transizione e nella cella E2 Verso chi, la formula sarebbe diventata:

=SOMMA.PIÙ.SE(C:C;A:A;D2;B:B;E2)

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-12-12T10:02:00+00:00

               

Ad esempio, se nella cella C1 ho la mia "somma", nella quale ho un offset iniziale di 100, a seconda della Tipologia, dovrò avere nella cella C1:

<cut>

ed il risultato andrà sempre nella cella C1.

Prova(se ho capito):

C1: =SOMMA.SE(A:A;"=Entrata";B:B)-SOMMA.SE(A:A;"=Uscita";B:B)

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-12-12T17:52:30+00:00

    Ciao Mauro. Ora dovrei risolvere il seguente problema.

    Ho la seguente tabella:

    A B C D

    1 Transizione Verso Da Valore

    2 Entrata Pippo 12

    3 Uscita Pluto 34

    4 Entrata Topolino 56

    5 Entrata Pippo 78

    6 Uscita Minni 90

    Voglio sommare le celle nella colonna Valore per le quali siano vere contemporaneamente le voci Transizione=Entrata e Verso=Pippo (nell'esempio dovrei sommare D2 e D5). Devo avere la possibilità di inserire le voci dinamicamente, una sotto l'altra (intervallo dinamico). Ho scritto:

    =SOMMA.PIÙ.SE(SCARTO(D2;0;0;CONTA.VALORI(D:D)-1;1); SCARTO(A2;0;0;CONTA.VALORI(A:A)-1;1); "Entrata"; SCARTO(B2;0;0;CONTA.VALORI('2012_12'!B:B)-1;1); "Pippo")

    La funzione SOMMA.PIÙ.SE, però, mi dà errore perché pretende che gli intervalli da considerare abbiano uguale dimensione. Come posso fare?

    Grazie per l'attenzione.

    Ciao!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-12-12T11:47:18+00:00

    Ciao Mauro e grazie per la risposta. Ma, nella cella C1, devo scrivere proprio C1:=....? Ho provato a scrivercelo ma non me lo considera come formula ma come testo.

    Attendo una tua risposta. Grazie mille per l'aiuto.

    Ciao!

    No. Solo:

    =SOMMA.SE(A:A;"=Entrata";B:B)-SOMMA.SE(A:A;"=Uscita";B:B)

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-12-12T11:38:36+00:00

    Ciao Mauro e grazie per la risposta. Era semplice. 

    Alla prossima.

    Ciao ciao!

    La risposta è stata utile?

    0 commenti Nessun commento