Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Snellire formula con Scarto invece che Confronta

Ultimo Aggiornamento: 30/04/2014 16:37
Post: 1.101
Registrato il: 27/10/2003
Città: SESTO SAN GIOVANNI
Età: 43
Utente Veteran
2010
OFFLINE
28/04/2014 16:13

Buongiorno a tutti!
Vi chiedo consigli su come snellire una formula.
E’ più un esercizio didattico che un problema, giusto perché volevo affinare alcune parti di un file in questi giorni di calma apparente ;)

Allego il file con le due formule, quella vecchia è quella semplice:
=SOMMA('Bilancio Compatto'!F29:F34)


Cosa devo fare:
Una volta pivottizzato un piano dei conti, alcune voci della sezione “conto economico” concorrono ad alimentare il “margine di intermediazione”.
Tradotto in parole povere, se nel piano dei conti la voce è “liv1” e la sottovoce “liv2” è minore o uguale a 110, devo sommare tali valori.
Il problema è che da un mese all’altro una parte del conto economico può non essere valorizzata e quindi la pivot esser epiù “lunga” o più “corta”.
Ecco perché la normale “SOMMA” va controllata comunque a mano.

A questo punto mi dico:
Cerco “3 - CONTO ECONOMICO” nel foglio della pivot (“Bilancio Compatto”, ho lasciato i valori), da li faccio la somma dei soli valori che in colonna “C” hanno un numero <120, e del solo intervallo delimitato tra “3 - CONTO ECONOMICO” e “3 - CONTO ECONOMICO Totale”
Il bisonte prodotto è questo:
=-SOMMA.SE(INDIRETTO("'Bilancio Compatto'!C" &CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0)&":C"&CONFRONTA("3 - CONTO ECONOMICO Totale";'Bilancio Compatto'!B:B;0));"<120";INDIRETTO("'Bilancio Compatto'!F" &CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0)&":F"&CONFRONTA("3 - CONTO ECONOMICO Totale";'Bilancio Compatto'!B:B;0)))

Ma sono sicuro che con uno SCARTO potrei facilmente risolvere la cosa, solo che non mi viene in mente come snellirla ^_^

p.s. come al solito… mentre scrivevo mi sono chiesto perché non pescare direttamente dalla base dati della pivot…. Ecco quindi altra versione, ma che suppone un foglio in più che non ho allegato non potendo togliere dati sensibili:

=-MATR.SOMMA.PRODOTTO((COGE!J:J="3 - CONTO ECONOMICO")*(COGE!K:K<120);COGE!E:E)

Quindi saldo * liv1 = conto economico * liv2 <120

Va bhè ormai posto!
Ciao :)
________________________________
Excel 2010 - Win 7 Ufficio
Excel 2013 - Win 8 Casa

A poche informazioni corrispondono poche spiegazioni.
Post: 2.116
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
28/04/2014 16:58

Ciao davide
non ho capito del tutto, ma cercando di seguire il tuo ragionamento e volendo scomodare SCARTO(), ti proporrei:

=SOMMA(SCARTO('Bilancio Compatto'!F9;CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B9:B1000;0)-1;;CONFRONTA("3 - conto economico totale";'Bilancio Compatto'!B9:B1000;0)-CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B9:B1000;0);1))


fermo restando che la soluzione con MATR.SOMMA.PRODOTTO() che ho intuito mi piace di più. La potresti applicare anche sulla pivot, se il liv1 lo fai apparire in ogni record, cambiando le opzioni di visualizzazione della pivot.


EDIT

SCUSA NON HO TENUTO CONTO DEL CRITERIO DEL <120
[Modificato da ninai 28/04/2014 17:02]



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 2.117
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
28/04/2014 17:25

Ciao
potrebbe essere questa:
=SOMMA(INDICE((SCARTO('Bilancio Compatto'!C1;CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0)-1;;CONFRONTA("3 - conto economico totale";'Bilancio Compatto'!B:B;0)-CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0);1)<130)*SCARTO('Bilancio Compatto'!F1;CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0)-1;;CONFRONTA("3 - conto economico totale";'Bilancio Compatto'!B:B;0)-CONFRONTA("3 - CONTO ECONOMICO";'Bilancio Compatto'!B:B;0);1);))

Ma non si può definire più snella. (pure tu, che cerchi cose snelle dopo tutte le ultime abbuffate festive)

[SM=x423030] [SM=x423030]

inoltre saresti obbligato ad avere valori sul livello2 (in C37, manca)
infatti il risultato risulta maggiorato di 1 (7 invece che 6)



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 2.119
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
28/04/2014 18:14

sono di nuovo io

se poi vogliamo fare i fubacchioni:
in A9:
=SE(B9="";A8;B9)
e ricopi in basso

a questo punto, basta:
=MATR.SOMMA.PRODOTTO(('Bilancio Compatto'!A9:A1000="3 - CONTO ECONOMICO")*('Bilancio Compatto'!C9:C1000<130)*'Bilancio Compatto'!F9:F1000)




--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 1.101
Registrato il: 27/10/2003
Città: SESTO SAN GIOVANNI
Età: 43
Utente Veteran
2010
OFFLINE
28/04/2014 19:18

Ihihihih ciao Santo!

Grazie di esserti sbizzarrito!
In effetti dopo capretto pasquale, grigliate del primo maggio (domani griglio 10 kg di verdura!) e altro non ha senso chiedere cose snelle [SM=x423038]

Purtroppo il foglio pivot non lo posso toccare, mi serve "di bellezza" da stampare al capo per fare vedere che i nostri dati quadrano con la sua riclassifica di bilancio...

Mi rimane quindi la collaudata matr.somma.prodotto sul foglio "dati", oppure la prima che mi hai proposto ;)

La matr.somma.prod... da adesso la chiamo MSP se no mi scade il bollo della macchina ora che ho finito, mi sa che rimane la soluzione più indolore non potendo modificare la pivot.


Grazie!
Visto che siamo in tema di mangiate, invece di una birra ti offro un Petrus o un limoncello (anzi... già che nei prossimi due week end vado al mare, vediamo se riesco a fregare un po' di limoni bbbbbbbuoni! [SM=x423037] )
________________________________
Excel 2010 - Win 7 Ufficio
Excel 2013 - Win 8 Casa

A poche informazioni corrispondono poche spiegazioni.
Post: 1.103
Registrato il: 27/10/2003
Città: SESTO SAN GIOVANNI
Età: 43
Utente Veteran
2010
OFFLINE
30/04/2014 16:09

Per la cronaca... alla fine mi sono tenuto la prima formula ignobile perchè quel foglio con la pivot mi serve per alimentare altri prospetti e quindi negli altri file non potrei usare la MSP...

Doh!
________________________________
Excel 2010 - Win 7 Ufficio
Excel 2013 - Win 8 Casa

A poche informazioni corrispondono poche spiegazioni.
Post: 2.123
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
30/04/2014 16:33

[SM=x423028]

ed adesso a me chi le paga le spese??? [SM=x423044] [SM=x423038] [SM=x423038]



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 1.104
Registrato il: 27/10/2003
Città: SESTO SAN GIOVANNI
Età: 43
Utente Veteran
2010
OFFLINE
30/04/2014 16:37

Uhm... doppio giro di limoncello??

Oppure un limoncello e un limone nature... così vedi la differenza di sapore tra i tuoi autoctoni e quelli liguri!
________________________________
Excel 2010 - Win 7 Ufficio
Excel 2013 - Win 8 Casa

A poche informazioni corrispondono poche spiegazioni.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:19. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com