Discussione:
estrazione dati da matrice
(troppo vecchio per rispondere)
rg
2005-12-12 21:53:16 UTC
Permalink
In un foglio excel

Pe la quantità totale di ogni articolo ho la quantità e valore dei
vari componenti

ARTICOLO DESCRIZIONE TOTALE CODICE DESC_CODICE QTA
VAL CODICE DESC_CODICE QTA VAL CODICE DESC_CODICE
QTA VAL
1000 AAA 1000 CD1 D1
500 1000 CD2 D2 300 500 CD3
D3 200 300
1001 BBB 1200 CD3 D3
00 1200 CD4 D4 400 700 CD2
D2 200 400



Nel secondo foglio excel dovrei estrarre la somma della quantità e
valore di tutti i componenti comuni ai vari articoli

per esempio:

Codice Desc. tqta tval
CD1 D1 500 1000

CD2 D2 500 900

CD3 D3 800 1500


E' possibile avere il risultato con una macro?

Ringrazio e saluto.
Mauro Gamberini
2005-12-13 09:37:28 UTC
Permalink
Post by rg
In un foglio excel
Pe la quantità totale di ogni articolo ho la quantità e valore dei
vari componenti
ARTICOLO DESCRIZIONE TOTALE CODICE DESC_CODICE QTA
VAL CODICE DESC_CODICE QTA VAL CODICE DESC_CODICE
QTA VAL
1000 AAA 1000 CD1 D1
500 1000 CD2 D2 300 500 CD3
D3 200 300
1001 BBB 1200 CD3 D3
00 1200 CD4 D4 400 700 CD2
D2 200 400
Nel secondo foglio excel dovrei estrarre la somma della quantità e
valore di tutti i componenti comuni ai vari articoli
Qui c'è una macro, poi vedi se riesci ad
adattarlo alle tue esigenze.

Foglio1

A B C D E F
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6
a 11 aa 111 aaa 1111
b 22 bb 222 bbb 2222
c 33 cc 333 ccc 3333
d 44 dd 444 ddd 4444
e 55 ee 555 eee 5555


Nel Foglio2 voglio solo la prima, la terza e la
quinta colonna. Questa la macro:

Public Sub m()

Dim rng As Range
Dim c As Range

Set rng = Worksheets("Foglio1").Range("A2:A100")

With Worksheets("Foglio2")

For Each c In rng
If Len(c.Value) > 0 Then
.Range("A65536").End(xlUp).Offset(1, 0).Value = c.Value
.Range("A65536").End(xlUp).Offset(0, 1).Value = c.Offset(0,
2).Value
.Range("A65536").End(xlUp).Offset(0, 2).Value = c.Offset(0,
4).Value
End If
Next

End With

Set rng = Nothing

End Sub

Ti metto un esempio qui:

http://www.webalice.it/maurogsc/prova/xlsVBACopiareAlcuneColonne.zip


Dai un'occhiata nella guida vba di Excel a:
Wnd, Offset, Range
--
----------------------------
Mauro Gamberini
rg
2005-12-13 19:57:03 UTC
Permalink
On Tue, 13 Dec 2005 10:37:28 +0100, "Mauro Gamberini"
Post by Mauro Gamberini
Post by rg
In un foglio excel
Pe la quantità totale di ogni articolo ho la quantità e valore dei
vari componenti
ARTICOLO DESCRIZIONE TOTALE CODICE DESC_CODICE QTA
VAL CODICE DESC_CODICE QTA VAL CODICE DESC_CODICE
QTA VAL
1000 AAA 1000 CD1 D1
500 1000 CD2 D2 300 500 CD3
D3 200 300
1001 BBB 1200 CD3 D3
00 1200 CD4 D4 400 700 CD2
D2 200 400
Nel secondo foglio excel dovrei estrarre la somma della quantità e
valore di tutti i componenti comuni ai vari articoli
Qui c'è una macro, poi vedi se riesci ad
adattarlo alle tue esigenze.
Foglio1
A B C D E F
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6
a 11 aa 111 aaa 1111
b 22 bb 222 bbb 2222
c 33 cc 333 ccc 3333
d 44 dd 444 ddd 4444
e 55 ee 555 eee 5555
Nel Foglio2 voglio solo la prima, la terza e la
Public Sub m()
Dim rng As Range
Dim c As Range
Set rng = Worksheets("Foglio1").Range("A2:A100")
With Worksheets("Foglio2")
For Each c In rng
If Len(c.Value) > 0 Then
.Range("A65536").End(xlUp).Offset(1, 0).Value = c.Value
.Range("A65536").End(xlUp).Offset(0, 1).Value = c.Offset(0,
2).Value
.Range("A65536").End(xlUp).Offset(0, 2).Value = c.Offset(0,
4).Value
End If
Next
End With
Set rng = Nothing
End Sub
http://www.webalice.it/maurogsc/prova/xlsVBACopiareAlcuneColonne.zip
Wnd, Offset, Range
--
----------------------------
Mauro Gamberini
Forse non mi sono spiegato bene,
nelle colonne C,E,G,I, ecc.......... ci sono dei codici che si
ripetono non nella stessa colonna (es. aa voce3 , voce5,
voce7, ecc. su righe diverse)
nelle colonne D,F,H,L,..ecc...........ci sono delle quantità relative
a questi codici.,
La necessità è quella di sommare tutte le quantità dello stesso codice
sul foglio 2

Grazie comunque per la risposta.

Saluti.
Mauro Gamberini
2005-12-14 10:46:07 UTC
Permalink
Post by rg
Forse non mi sono spiegato bene,
No no, sono io che non capisco.
Potresti mandarmi un file di esempio.
Non riesco a capire *come* siano organizzati
i tuoi dati.
--
----------------------------
Mauro Gamberini
rg
2005-12-14 20:10:18 UTC
Permalink
Post by Mauro Gamberini
Non riesco a capire *come* siano organizzati
A B C D E F
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6
a 11 aa 111 aaa 1111
b 22 bb 222 aa 222
c 33 cc 333 ccc 3333
d 44 dd 444 bb 444
e 55 gg 555 dd 555


L'esempio che hai fatto va bene, ho solo cambiato alcune descrizioni
alle voci3 e voci4 che quindi si ripetono in alcuner righe .

Consideriamo voce1 un codice prodotto finito e voce2 una quantità
totale di questo prodotto, la voce3 e voce5 codici di componenti di
assemblaggio , voce4 e voce6 quantita di questi componenti per
costruire il prodotto finito.
Nelle varie righe ci sono tutti prodotti finiti con i vari componenti
i quali si ripetono ma per esigenze di produzione non nella stessa
colonna quindi, chiedevo (ma, forse non è possibile) calcolare la
quantità totale del fabbisogno dei vari componenti :

aa = 333 (111+222)
bb = 666 (222+444)
dd = 999 (444+555)
...............................
ecc.


Se non è fattibile, pazienza, ti ringrazione comunque per
l'interessamento.

Saluti.
Mauro Gamberini
2005-12-14 20:31:52 UTC
Permalink
[cut]

Domani mattina(se nessuno lo fa prima) provo.
--
----------------------------
Mauro Gamberini
giovanna
2005-12-14 23:35:22 UTC
Permalink
Post by rg
Post by Mauro Gamberini
Non riesco a capire *come* siano organizzati
A B C D E F
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6
a 11 aa 111 aaa 1111
b 22 bb 222 aa 222
c 33 cc 333 ccc 3333
d 44 dd 444 bb 444
e 55 gg 555 dd 555
L'esempio che hai fatto va bene, ho solo cambiato alcune descrizioni
alle voci3 e voci4 che quindi si ripetono in alcuner righe .
Consideriamo voce1 un codice prodotto finito e voce2 una quantità
totale di questo prodotto, la voce3 e voce5 codici di componenti di
assemblaggio , voce4 e voce6 quantita di questi componenti per
costruire il prodotto finito.
Nelle varie righe ci sono tutti prodotti finiti con i vari componenti
i quali si ripetono ma per esigenze di produzione non nella stessa
colonna quindi, chiedevo (ma, forse non è possibile) calcolare la
aa = 333 (111+222)
bb = 666 (222+444)
dd = 999 (444+555)
...............................
ecc.
Se ti ho capito...
ho riprodotto il tuo schema:

| A | B | C | D | E | F |G | H | I |
--+-------+--------+-------+-------+-------+------+--+---+----+
1|Voce1  |  Voce2 |Voce3 |Voce4 |Voce5 |Voce6 | |aa | 333|
2|a | 11|aa | 111|aaa  | 1111| |bb | 666|
3|b | 22|bb | 222|aa | 222| |dd | 999|
4|c | 33|cc | 333|ccc  | 3333| | | |
5|d | 44|dd | 444|bb | 444| | | |
6|e | 55|gg | 555|dd | 555| | | |

Formula in I2, da trascinare sotto:
=SOMMA(($C$2:$C$6=H1)*($D$2:$D$6);($E$2:$E$6=H1)*($F$2:$F$6))
matriciale, da confermare con Ctrl+Maiusc+Invio.
In colonna H riporti i vari componenti.
vedi se va...
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
rg
2005-12-15 21:34:55 UTC
Permalink
Grazie per la risposta ma, ho dei risultati diversi dai tuoi.

A B C D E F G H I
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6 aa
a 11 aa 111 aaa 111 bb 111
b 22 bb 222 aa 222 cc 111
c 33 cc 333 ccc 3333 111
d 44 dd 444 bb 444 111
e 55 gg 555 dd 555 111


Grazie per la risposta ma, ho dei risultati diversi dai tuoi.

A B C D E F G H I
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6 aa
a 11 aa 111 aaa 111 bb 111
b 22 bb 222 aa 222 cc 111
c 33 cc 333 ccc 3333 111
d 44 dd 444 bb 444 111
e 55 gg 555 dd 555 111


formula matrice I2:I6


{=SOMMA(($C$2:$C$6=H1)*($D$2:$D$6);($E$2:$E$6=H1)*($F$2:$F$6))}



Saluti.
giovanna
2005-12-15 21:52:58 UTC
Permalink
Post by rg
Grazie per la risposta ma, ho dei risultati diversi dai tuoi.
A B C D E F G H I
Voce1 Voce2 Voce3 Voce4 Voce5 Voce6 aa
a 11 aa 111 aaa 111 bb 111
b 22 bb 222 aa 222 cc 111
c 33 cc 333 ccc 3333 111
d 44 dd 444 bb 444 111
e 55 gg 555 dd 555 111
formula matrice I2:I6
?

la formula è da immettere in cella I2, come matriciale, e poi da
copiare-trascinare nelle righe sottostanti.
E comunque se il risultato è 111, non mi spiego ugualmente....
--
ciao
giovanna
..........................................
http://www.riolab.org
..........................................
rg
2005-12-16 17:58:05 UTC
Permalink
Ok adesso funziona. ti ringrazio.
Saluti.

V1V2V3 V4 V5 V6
a|11|aa|111|aaa|111||aa|333
b|22|bb|222|aa |222||bb|666
c|33|cc|333|cc |555||dd|999
d|44|dd|444|bb |444||cc|888
e|55|gg|555|dd |555||gg|555

Loading...