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

matrice somma prodotto

Ultimo Aggiornamento: 22/12/2019 13:14
Post: 1
Registrato il: 19/01/2017
Città: MILANO
Età: 21
Utente Junior
2010/2013
OFFLINE
17/12/2019 21:26

matrice somma prodotto
Buonasera sera a tutti,
sono a chiedere un vostro aiuto perché non riesco a risolvere un problema con la formula matrice somma prodotto.
Allego il file di esempio per una maggiore comprensione.
In pratica:
-foglio riepilogo --> dove vorrei impostare la formula (colonna K, l'ho già scritta in parte ma non riesco ad impostare il cerca vert affinchè sostituisca i codici presenti nelle colonne BP e AS del foglio 'estrazione' con il numero che deve fungere da moltiplicatore definito nel foglio 'tabelle_appoggio');
-foglio estrazione ---> è la base dati da cui la formula pesca i dati, a seconda delle condizioni che ho impostato;
-foglio tabelle_appoggio--> contiene i codici citati sopra con il numero che deve fare da moltiplicatore.

Grazie mille per l'attenzione e scusate per la scarsa conoscenza
[Modificato da p.piesse 17/12/2019 21:27]
18/12/2019 14:27

Scusami ho forti dubbi, la Tua formula =SE(VAL.VUOTO(E2); fai questo, fai quello)
Pertanto se E2 fosse vuota deve dati lo stesso un risultato?

>>> affinchè sostituisca i codici presenti nelle colonne BP e AS del foglio 'estrazione'
Nessuna formula riesce modificare un'altra cella (solo se stessa)

Prendendo in esame solo la parte finale
MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!C:C='RIEPILOGO!B2);(--(ESTRAZIONE!D:D='RIEPILOGO'!C2));(--(ESTRAZIONE!H:H='RIEPILOGO'!E2));ESTRAZIONE!AR:AR;AS:AS (due colonne???)
Con parole semplici, Tu cerchi 16 + CF + F1 in ESTRAZIONE
=MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!C:C=RIEPILOGO!B2);(--(ESTRAZIONE!D:D=RIEPILOGO!C2));(--(ESTRAZIONE!H:H=RIEPILOGO!E2))) ..... =3 mà la parte finale non la capisco.
Perchè in TABELLE_APPOGGIO non vedo nulla di simile a 16 + CF + F1
Post: 1
Registrato il: 19/01/2017
Città: MILANO
Età: 21
Utente Junior
2010/2013
OFFLINE
18/12/2019 23:47

Ciao,
Innanzitutto grazie per la risposta.
Cerco di spiegarmi meglio, l'obiettivo è :

SE E2 è VUOTO

se è VERO:
- trova i valori B2 C2 F2 del foglio 'riepilogo' nel foglio 'estrazione', rispettivamente nelle colonne C2 D2 H2;
- moltiplica i valori nelle colonne BO per BP del foglio 'estrazione' (siccome in BP non c'è un numero, aggiungere una formula - pensavo al cerca.vert ma non riesco a farlo funzionare- che cerchi il codice nel foglio 'tabelle appoggio' per trovare il relativo moltiplicatore);
- somma i risultati.

se è FALSO
- trova i valori B2 C2 F2 del foglio 'riepilogo' nel foglio 'estrazione', rispettivamente nelle colonne C2 D2 H2;
- moltiplica i valori nelle colonne AR per AS del foglio 'estrazione' (siccome in AS non c'è un numero, aggiungere una formula - pensavo al cerca.vert ma non riesco a farlo funzionare- che cerchi il codice nel foglio 'tabelle appoggio' per trovare il relativo moltiplicatore);
- somma i risultati.

Spero di essere stata più chiara.

Premetto che ovviamente non sono un'esperta.
Tuttavia, se ad esempio volessi fare =BO4*(CERCA.VERT(BP4;CodiciIva[#Tutti];2;FALSO))
dove in BO4 del foglio estrazione metti € 1000 e in BP4 metti N22 ottieni € 1.220 (ovvero € 1.000 * 1,22 - il moltiplicatore corrispondente al codice N22, definito nel foglio tabelle appoggio).
Quindi in questo caso il cerca vert sostituisce il valore codice con il numero da moltiplicare.

Probabilmente all'interno delle matrici non è possibile attuarlo ed occorre utilizzare un'altra formula (sostituisci? rimpiazza?)
ma non riesco a trovare la quadra.

Al momento, in attesa di risolvere, ho aggiunto alla fine del foglio estrazione due colonne di appoggio che transcodifichi i codici in AS e BO nei corrispondenti moltiplicatori.

Attendo news, grazie mille :-)
19/12/2019 00:12

Secondo me il MATR.SOMMA.PRODOTTO non va bene
Perche se cerchi (16 + CF + F1) ci sono tre righe in ESTRAZIONE e non funzionerebbe...
L'unica che vedo univoca sarebbe la colonna AJ se Ti va bene inserire questa colonna in Riepilogo si potrebbe fare. Non saprei se pure il VBA riesca

Premesso che in colonna AS ci sono numeri formattati testo... alle colonne AR,BO,BP mancano dei Dati.
Penso che Ti serva un'altra formula Ex, Se BP è un numero OK, se invece non esiste calcola AS
>>>due colonne di appoggio che transcodifichi i codici in AS e BO
Ottimo (messi in BU, BV)
NB in colonna K esistono diverse formule, trova quella più adatta
[Modificato da ABCDEF@Excel 19/12/2019 12:31]
Post: 2
Registrato il: 19/01/2017
Città: MILANO
Età: 21
Utente Junior
2010/2013
OFFLINE
19/12/2019 15:32

Ciao,

grazie per il file però m sono persa :-)

Ti riallego il file, in cui ho riscritto la formula affinché dia il risultato corretto (v. colonna K).

Per farla funzionare ho sostituito i codici testo nelle colonne AS e BP del foglio estrazione con il moltiplicatore, la cui tabella è nel foglio tabelle_appoggio.

Io vorrei solo capire se c'è un modo per lasciare i codici testo nelle colonne AS e BP del foglio estrazione e fare in modo che con altra formula annidata si riesca a sostituirli con il loro relativo moltiplicatore, senza appunto avere le famose colonne di appoggio.


SE(VAL.VUOTO(E2);MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!C:C=B2);(--(ESTRAZIONE!D:D=C2));(--(ESTRAZIONE!H:H=E2));ESTRAZIONE!BO:BO;ESTRAZIONE!BP:BP);MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!C:C=B2);(--(ESTRAZIONE!D:D=C2));(--(ESTRAZIONE!H:H=E2));ESTRAZIONE!AR:AR;ESTRAZIONE!AS:AS
Post: 473
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
22/12/2019 09:15

Buongiorno
i moltiplicatori non li devi mettere all'interno del MATR.SOMMA.PRODOTTO ma una volta individuata la somma cercare il moltiplicatore con un CERCA.VERT

quindi

=SE(VAL.VUOTO(E2);MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!$C$4:$C$1000=B2);(--(ESTRAZIONE!$D$4:$D$1000=C2));(--(ESTRAZIONE!$H$4:$H$1000=E2));ESTRAZIONE!$BO$4:$BO$1000)*CERCA.VERT($BO4;TABELLE_APPOGGIO!$A$3:$B$29;2;0);MATR.SOMMA.PRODOTTO(--(ESTRAZIONE!$C$4:$C$1000=B2);(--(ESTRAZIONE!$D$4:$D$1000=C2));(--(ESTRAZIONE!$H$4:$H$1000=E2));ESTRAZIONE!AR$4:AR$1000)*CERCA.VERT($AS4;TABELLE_APPOGGIO!$A$3:$B$29;2;0))

ed è meglio mettere un range definito io ho messo da riga 4 a 1000 per non appesantire troppo
Post: 310
Registrato il: 11/07/2015
Età: 33
Utente Senior
office 2013-2016
OFFLINE
22/12/2019 11:23

RIEPILOGO



K2=SE(RIEPILOGO!$B2<>"";SE($E2="";MATR.SOMMA.PRODOTTO((ESTRAZIONE!$C$4:$C$51=RIEPILOGO!$B2)*(ESTRAZIONE!$D$4:$D$51=RIEPILOGO!C2)*(ESTRAZIONE!$H$4:$H$51=RIEPILOGO!$E2)*(ESTRAZIONE!$BO$4:$BO$51)*(INDICE(CodiciIva[Moltiplicatore];NUM(SE(1;CONFRONTA(ESTRAZIONE!$BP$4:$BP$51;CodiciIva[Codice];0))))));MATR.SOMMA.PRODOTTO((ESTRAZIONE!$C$4:$C$51=RIEPILOGO!$B2)*(ESTRAZIONE!$D$4:$D$51=RIEPILOGO!$C2)*(ESTRAZIONE!$H$4:$H$51=RIEPILOGO!$E2)*(ESTRAZIONE!$AR$4:$AR$51)*(INDICE(CodiciIva[Moltiplicatore];NUM(SE(1;CONFRONTA(ESTRAZIONE!$AS$4:$AS$51;CodiciIva[Codice];0)))))));"")

control +shift+enter

copia in basso

Devi compilare con i codici moltiplicatori la colonna BP. Non puoi lasciarla vuota.Vedi file

allego file
Post: 4
Registrato il: 19/01/2017
Città: MILANO
Età: 21
Utente Junior
2010/2013
OFFLINE
22/12/2019 12:42

Grazie Danilo per la risposta.
La soluzione che proponi l'avevo già provata ma purtroppo non funziona proprio perché con il cerva vert si indica di cercare ad es. BO4 e AS4.
La formula dovrebbe invece per ogni riga (in AR e BO) moltiplicare per il proprio codice definito.
Non so se mi sono spiegata, allego un file in cui mostro il risultato della tua formula (primi 3 fogli - nella base dati ho quindi sostituito i moltiplicatori con i codici) con il dato coretto (ultimi 3 fogli - nella base dati sono presenti i moltiplicatori invece dei codici).
Mi viene da pensare che non si possa fare altro che prevedere due colonne di appoggio alla fine che transcodifichino per ogni riga il codice con il proprio moltiplicatore.
Che dici?
Grazie, b domenica.
[Modificato da p.piesse 22/12/2019 12:50]
Post: 5
Registrato il: 19/01/2017
Città: MILANO
Età: 21
Utente Junior
2010/2013
OFFLINE
22/12/2019 13:14

Grazie Ulisse,
la tua formula invece restituisce il dato corretto.
L'unico dubbio è il fatto di compilare la colonna BP quando è vuota.
La base dati, ovvero il foglio estrazione, viene estratta da un programma con una query ed è corretto che in BP a volte non ci sia nulla.
Più in generale, quando la colonna H NON è vuota ci sono dati fino alla colonna AV, mentre quando è vuota si popolano i dati fino alla BS.
Per tale motivo la prima condizione della mia formula è SE VAL VUOTO.
Tieni anche presente che il file di esempio contiene poche righe, a regime supera le 3000 righe.
Insomma non mi piace molto l'idea di sporcare la base dati.
A questo punto, come ho detto sopra a Danilo, temo che l'unica soluzione sia di tenere due colonne di appoggio alla fine della base dati che transcodifichi i codici di ogni riga nel moltiplicatore corretto (e quindi nella formula che avevo postato uso queste due colonne al posto di AS e BP).
Attualmente lo gestisco in questo modo, speravo ci fosse una soluzione alternativa dato che non sono molto esperta di Excel.
Non so se ti viene in mente altro, in ogni caso grazie molte per la disponibilità.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 20:34. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com