Discussione:
cercare,raggruppare e poi sommare celle con lo stesso valore
(troppo vecchio per rispondere)
astimas
2006-09-07 06:24:06 UTC
Permalink
Allora, la questione è piuttosto complicata, spero di riuscire a farmi
comprendere.

ho un file excel in cui mi servono in particolare alcuni valori
presenti nelle colonne C, I , N

Ovvero:
- in C, c'è il codice del prodotto
- in I , c'è il corrispondente nome del prodotto
- in N, c'è la quantità del prodotto

Io dovrei :

- in C, trovare tutti i codici che iniziano per WL e WS (escludendo
dunque tutti gli altri)
- dei codici che iniziano per WL e WS devo raggruppare i codici uguali
(cioè se c'è 2 volte WL001 devo poterlo riportare tante volte quante
è presente (cioè su righe diverse)) e riportatre i corrispondenti
valori presenti in I e N ;
- quindi sommare il corrispondente valore in N per i prodotti con lo
stesso codice (cioè se ho due WL001 con quantità 5 e 10, devo
ottenere in una riga a parte il valore 15)
- ripetere la procedura per tutti i valori WL e WS che trovo

Non pretendo che una persona mi faccia tutto, però se riesce a darmi
una mano, che sono parecchio in difficoltà

Grazie !
giovanna
2006-09-07 12:35:18 UTC
Permalink
Scriveva astimas nel
Post by astimas
- in C, trovare tutti i codici che iniziano per WL e WS (escludendo
dunque tutti gli altri)
- dei codici che iniziano per WL e WS devo raggruppare i codici uguali
(cioè se c'è 2 volte WL001 devo poterlo riportare tante volte quante
è presente (cioè su righe diverse)) e riportatre i corrispondenti
valori presenti in I e N ;
- quindi sommare il corrispondente valore in N per i prodotti con lo
stesso codice (cioè se ho due WL001 con quantità 5 e 10, devo
ottenere in una riga a parte il valore 15)
- ripetere la procedura per tutti i valori WL e WS che trovo
ciao astimas,
mi pare di ricordare un tuo problema simile...
in attesa di una soluzione più rapida con VB, ti ripropongo, credo, la
stessa procedura...
per trovare i codici uguali in col C (parto dal tuo secondo punto, se
serve anche il primo, e sopratutto se decidi per questa soluzione,
integreremo):
In cella es, la D1 immetti il codice da individuare,
=INDICE($C$2:$C$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
matriciale, da copiare lungo la colonna.
Per le corrispondenze non trovate avrai il val. errore #NUM!, che poi
potremmo nascondere.... Adatta inoltre tu i riferimenti esatti.
Per avere i corrisp nomi della col I:
=INDICE($I$2:$I$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
sempre matriciale e da copiare sotto.
Per le corrisp quantità:
=INDICE($N$2:$N$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
come sopra...
Per sommare i val in col N per il medesimo prodotto:
=SOMMA.SE($C$2:$C$8;D1;$N$2:$N$8).
vedi per ora se una soluzione del genere ti va.
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-07 13:10:55 UTC
Permalink
Post by giovanna
=INDICE($C$2:$C$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
matriciale, da copiare lungo la colonna.
Per le corrispondenze non trovate avrai il val. errore #NUM!, che poi
potremmo nascondere.... Adatta inoltre tu i riferimenti esatti.
=INDICE($I$2:$I$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
sempre matriciale e da copiare sotto.
=INDICE($N$2:$N$8;PICCOLO(SE($C$2:$C$8=$D$1;RIF.RIGA($C$2:$C$8)-1;"");RIF.RIGA(A1)))
come sopra...
=SOMMA.SE($C$2:$C$8;D1;$N$2:$N$8).
vedi per ora se una soluzione del genere ti va.
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
Innanzitutto MILLE GRAZIE !!

Però mi sono già perso.

D'accordo, tralasciamo un attimo il primo punto di trovare solo i
valori che iniziano con WL e WS (che comunque è importante e non l'ho
ancora risolto).

Ho provato ad utilizzare la tua formula adattata così :
in E1 :
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$E$2;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))

questo perchè ho cancellato alcune colonne, quindi le C , I, N sono
diventate A, B, C

C --> A
I --> B
N --> C

l'intervallo a2 a 28, perchè i valori sono compresi in
quell'intervallo.

però la formula mi restituisce sempre 0 (l'ho scritta in E1 e poi
trascinata). Cioè per esempio, A3 e A21 contengono lo stesso valore,
però non riesco a farlo !!!
giovanna
2006-09-07 13:29:14 UTC
Permalink
Scriveva astimas nel
Post by astimas
D'accordo, tralasciamo un attimo il primo punto di trovare solo i
valori che iniziano con WL e WS (che comunque è importante e non l'ho
ancora risolto).
ok dopo risolviamo, vediamo ora di aggiustare le tue formule.
Post by astimas
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$E$2;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))
questa, se immessa in E1, andrebbe così:
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$D$1;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))
Cioè *è in cella D1* che avrai immesso il codice da cercare.
Inoltre ribadisco: la formula va confermata con la contemporanea
pressione di Ctrl+Maiusc+Invio
poi trascini...
Post by astimas
questo perchè ho cancellato alcune colonne, quindi le C , I, N sono
diventate A, B, C
C --> A
I --> B
N --> C
benissiimo. mi pare perfino più razionale :-)
quindi hai la possibilità di scrivere la formula in questo modo:
=INDICE(A$2:A$28;PICCOLO(SE($A$2:$A$28=$D$1;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA($A1)))
per cui ora puoi, una volta confermata come matriciale, trascinare sia
in verticale che in orizzontale per altre due colonne (3 col tot).
prova e ci risentiamo!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-07 13:56:24 UTC
Permalink
Post by giovanna
Scriveva astimas nel
Post by astimas
D'accordo, tralasciamo un attimo il primo punto di trovare solo i
valori che iniziano con WL e WS (che comunque è importante e non l'ho
ancora risolto).
ok dopo risolviamo, vediamo ora di aggiustare le tue formule.
Post by astimas
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$E$2;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$D$1;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))
Cioè *è in cella D1* che avrai immesso il codice da cercare.
Inoltre ribadisco: la formula va confermata con la contemporanea
pressione di Ctrl+Maiusc+Invio
poi trascini...
Post by astimas
questo perchè ho cancellato alcune colonne, quindi le C , I, N sono
diventate A, B, C
C --> A
I --> B
N --> C
benissiimo. mi pare perfino più razionale :-)
=INDICE(A$2:A$28;PICCOLO(SE($A$2:$A$28=$D$1;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA($A1)))
per cui ora puoi, una volta confermata come matriciale, trascinare sia
in verticale che in orizzontale per altre due colonne (3 col tot).
prova e ci risentiamo!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
Ah. no allora, aspetta che non va bene.

Cioè, io non so a priori nè quanti valori ci sono (potrebbero essere
una decina come un centinaio) nè quanti sono doppi

Facendo con il tuo metodo dovrei estenedere il foglio sempre verso
destra e verrebbe troppo incasinato.

Ti ringrazio molto, ma mi sa che dobbiamo trovare un'altra soluzione :-(
giovanna
2006-09-07 14:03:48 UTC
Permalink
Scriveva astimas nel
Post by astimas
Cioè, io non so a priori nè quanti valori ci sono (potrebbero essere
una decina come un centinaio) nè quanti sono doppi
Questo non "c'entra" :-)
Post by astimas
Facendo con il tuo metodo dovrei estenedere il foglio sempre verso
destra e verrebbe troppo incasinato.
forse non mi sono spiegata..
io dicevo estendere verso destra *solo* per altre due colonne: il
necessario per trovare le corrispondenze da te richieste, dei nomi (ora
in col B) relativi ai codici e delle quantità (ora in col C).
Post by astimas
Ti ringrazio molto, ma mi sa che dobbiamo trovare un'altra soluzione :-(
ora vedi un po' tu... :-)
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-07 14:19:36 UTC
Permalink
Post by giovanna
Scriveva astimas nel
Post by astimas
Cioè, io non so a priori nè quanti valori ci sono (potrebbero essere
una decina come un centinaio) nè quanti sono doppi
Questo non "c'entra" :-)
Post by astimas
Facendo con il tuo metodo dovrei estenedere il foglio sempre verso
destra e verrebbe troppo incasinato.
forse non mi sono spiegata..
io dicevo estendere verso destra *solo* per altre due colonne: il
necessario per trovare le corrispondenze da te richieste, dei nomi (ora
in col B) relativi ai codici e delle quantità (ora in col C).
Post by astimas
Ti ringrazio molto, ma mi sa che dobbiamo trovare un'altra soluzione :-(
ora vedi un po' tu... :-)
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
Mi sa che non ho capito molto :-(

io sto scrivendo la prima formula in E1
=INDICE($A$2:$A$28;PICCOLO(SE($A$2:$A$28=$D$1;RIF.RIGA($A$2:$A$28)-1;"");RIF.RIGA(A1)))


ma quel = $D$1 non lo capisco. in D1 cosa dovrei mettere ? Al momento
è vuota

Quindi tu dici che non mi si dilunga troppo in orizzontale, ma solo per
3 colonne ? Allora scusa non riesco a capire come uscirebbe !?!
astimas
2006-09-07 14:37:05 UTC
Permalink
Cioè immagina il file come se fosse :

A B C

WL01 pippo 7
WL02 pluto 5,5
WS01 paperino 3,4
WXX minnie 2,3
WXY ciccio 3,3
WXZ nonna papera 55,5
WL01 pippo 3,6
... .... ...

io devo raggruppare tra loro tutti i prodotti aventi codice uguale
(valore in A). Nel raggupparli devo far visualizzare il codice (colonna
A), il nome (colonna B) e la quantita (colonna C)
. Quindi quando il valore è uguale sommo il valore presente in C

Cioè devo ottenere :

WL01 pippo 7
WL01 pippo 3,6
totale 10,6

WL02 ...

Mi sono spiegato un po meglio ?
giovanna
2006-09-07 17:44:02 UTC
Permalink
Scriveva astimas nel
<***@m73g2000cwd.googlegroups.com>, del
07/09/2006:

ciao astimas,
ho caricato qui:
http://www.savefile.com/files/44163
un file di esempio. Troverai delle note... poi chiedi pure.
Certo con VB sarebbe stato più rapido!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-08 06:36:07 UTC
Permalink
Post by giovanna
Scriveva astimas nel
ciao astimas,
http://www.savefile.com/files/44163
un file di esempio. Troverai delle note... poi chiedi pure.
Certo con VB sarebbe stato più rapido!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
Cavolo hai fatto un lavoro enorme !

Ti ringrazio moltissimo, però vedi che così si sviluppa troppo in
orizzontale (cioè con solo 6 valori sei arrivata fino alla colonna P)

Provare con un pò di VBA ? (in cui però sono ancora più pippa)

Cmq GRAZIE MOLTISSIME per lo sforzo
astimas
2006-09-08 06:38:07 UTC
Permalink
Post by astimas
Post by giovanna
Scriveva astimas nel
Cavolo hai fatto un lavoro enorme !
Ti ringrazio moltissimo, però vedi che così si sviluppa troppo in
orizzontale (cioè con solo 6 valori sei arrivata fino alla colonna P)
Provare con un pò di VBA ? (in cui però sono ancora più pippa)
Cmq GRAZIE MOLTISSIME per lo sforzo
O se no sai cosa, posso provare (se riesco) a mettere le formule che
hai fatto tu su un foglio nuovo e poi cercare di far disporre gli
elementi uno sotto l'altro invece che a destra.
astimas
2006-09-08 06:49:51 UTC
Permalink
Post by astimas
O se no sai cosa, posso provare (se riesco) a mettere le formule che
hai fatto tu su un foglio nuovo e poi cercare di far disporre gli
elementi uno sotto l'altro invece che a destra.
No sta cosa viene troppo incasinata

Riprendo il tuo modello, però sarebbe da automatizzare in VBA se no,
non finisco più

Vedo se riesco a concludere io qualcosa (qualche suggerimento è sempre
ben accetto),

Grazie ancora !
giovanna
2006-09-08 07:55:30 UTC
Permalink
Scriveva astimas nel
Post by astimas
Post by astimas
Ti ringrazio moltissimo, però vedi che così si sviluppa troppo in
orizzontale (cioè con solo 6 valori sei arrivata fino alla colonna P)
certo, mi sono resa conto, ma, come ti ho scritto nella nota, come
faccio/fai a prevedere quante righe ti servono per ciascun codice, per
poter disporre in verticale?
Post by astimas
Post by astimas
Provare con un pò di VBA ? (in cui però sono ancora più pippa)
io più di te! :-))
Post by astimas
O se no sai cosa, posso provare (se riesco) a mettere le formule che
hai fatto tu su un foglio nuovo e poi cercare di far disporre gli
elementi uno sotto l'altro invece che a destra.
Se mi dici quante righe vuoi per ogni elemento, te lo faccio io!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-08 08:15:21 UTC
Permalink
Post by giovanna
Scriveva astimas nel
Post by astimas
O se no sai cosa, posso provare (se riesco) a mettere le formule che
hai fatto tu su un foglio nuovo e poi cercare di far disporre gli
elementi uno sotto l'altro invece che a destra.
Se mi dici quante righe vuoi per ogni elemento, te lo faccio io!
le righe per elemento non le so, dipende da quanti elementi sono (e non
lo so a priori) !

...

ma dopo mi tocca invitarti a cena per il resto della mia vita !

cmq, no, può andare bene anche la diffusione in orizzontale (cioè
come hai già fatto), l'unica cosa, di farlo :

- in un altro foglio invece che nello stesso
- magari lasciare una colonna vuota tra un prodotto e l'altro
- considera che i prodotti univoci possono essere un centinaio (ognuno
con descrizione e quantità), basteranno le colonne ? Se non bastassero
allora facciamo sviluppo verticale, magari lasciando 2 righe vuote tra
i prodotti diversi

devo cmq automatizzare le formule in VBA

cmq grazie ancora
giovanna
2006-09-08 08:22:17 UTC
Permalink
Scriveva astimas nel
Post by astimas
ma dopo mi tocca invitarti a cena per il resto della mia vita !
sicuro! :-))
Post by astimas
cmq, no, può andare bene anche la diffusione in orizzontale (cioè
- in un altro foglio invece che nello stesso
- magari lasciare una colonna vuota tra un prodotto e l'altro
- considera che i prodotti univoci possono essere un centinaio (ognuno
con descrizione e quantità), basteranno le colonne ? Se non bastassero
allora facciamo sviluppo verticale, magari lasciando 2 righe vuote tra
i prodotti diversi
devo cmq automatizzare le formule in VBA
ah ok. allora mi avverti. Se non risolvi con VB, ti aiuterò per quello
che proponi.... foglio diverso ecc.
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-08 08:28:16 UTC
Permalink
Post by giovanna
ah ok. allora mi avverti. Se non risolvi con VB, ti aiuterò per quello
che proponi.... foglio diverso ecc.
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
ehm ... se mi aiutassi lo stesso per quello che propongo ... ehm

col vba ci penso poi (mi vien da ridere, vabbè) ... diciamo che al vba
ci pensiamo dopo (che suona meglio) ...
giovanna
2006-09-08 08:43:22 UTC
Permalink
Scriveva astimas nel
Post by astimas
Post by giovanna
ah ok. allora mi avverti. Se non risolvi con VB, ti aiuterò per quello
che proponi.... foglio diverso ecc.
ehm ... se mi aiutassi lo stesso per quello che propongo ... ehm
col vba ci penso poi (mi vien da ridere, vabbè) ... diciamo che al vba
ci pensiamo dopo (che suona meglio) ...
Ok. sarà fatto! [oddio... spero bene!]
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
giovanna
2006-09-08 09:57:10 UTC
Permalink
Scriveva giovanna nel <***@asiatiscali.it>, del
08/09/2006:


fatto.
scarica:
http://www.savefile.com/files/46660

...chiedi pure!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
astimas
2006-09-11 07:21:29 UTC
Permalink
Post by giovanna
fatto.
http://www.savefile.com/files/46660
...chiedi pure!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
è un ottimo lavoro, ti ringrazio ancora

Ora però dovrei cercare di trasformare in macro alcune delle tue
formule

=INDIRETTO("database!D"&INT((RIF.COLONNA(D$1)+4)/4))
=INDICE(database!$A$2:$A$29;PICCOLO(SE(database!$A$2:$A$29=A$1;RIF.RIGA(elenco_codici)-1;"");RIF.RIGA($A2)))

a proposito quell'elenco_codici cos'è ? un'etichetta ?
astimas
2006-09-11 07:52:57 UTC
Permalink
Post by astimas
Post by giovanna
fatto.
http://www.savefile.com/files/46660
...chiedi pure!
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
è un ottimo lavoro, ti ringrazio ancora
Ora però dovrei cercare di trasformare in macro alcune delle tue
formule
=INDIRETTO("database!D"&INT((RIF.COLONNA(D$1)+4)/4))
=INDICE(database!$A$2:$A$29;PICCOLO(SE(database!$A$2:$A$29=A$1;RIF.RIGA(elenco_codici)-1;"");RIF.RIGA($A2)))
a proposito quell'elenco_codici cos'è ? un'etichetta ?
giovanna io non ho parole per ringraziarti, però ottenevo quello che
volevo semplicemente con i subtotali !!

cmq grazie ancora !!

Loading...