È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 2 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

trova celle uguali e somma valori presenti in altra colonna

Ultimo Aggiornamento: 23/02/2017 18:41
Post: 9
Registrato il: 26/08/2008
Città: MILANO
Età: 43
Utente Junior
OFFLINE
08/10/2008 14:27

ciao!
Ho questo problema:
ho una tabella (magazzino) con codici, descrizione, quantità.
Siccome i dati provengono da un altra tabella, si crano dei doppioni.
Praticamente mi servirebbe una formula o uno script o qualsiasi cosa, in modo tale da accorpare i codici uguali sommando il campo quantità.

Mmh, lo so, come spiegazione è molto fumosa, allego un esempio che è molto chiaro quello che sto cercando!!
Praticamente la prima tabella è come è ora, la seconda è come dovrebbe diventare, mi manca solo l'automazione!!

grazie a tutti.

-Andrea-

Post: 664
Registrato il: 18/12/2005
Età: 27
Utente Senior
36
OFFLINE
08/10/2008 19:28

ciao rockeye06,

una soluzione potrebbe essere:
1/ la 2ª tabella con codice ( e testo univoco)
2/ sempre nella seconda tab. usare la funzione Somma.se( intervallo,criterio(es. il codice 12p, intervallo somma --> Qty)

aurelio
Aurelio
excel_mac: 2004 & 2011
Post: 273
Registrato il: 14/11/2005
Città: FIRENZE
Età: 80
Utente Junior
2007
OFFLINE
08/10/2008 19:37

Ciao
un'altra soluzione potrebbe essere in C15:
=MATR.SOMMA.PRODOTTO((A$2:A$8=A15)*(C$2:C$8) )
poi trascini in basso fino all'ultima riga dei codici unici (nell'esempio C20)
franco
Excel 2007
Post: 38
Registrato il: 03/09/2008
Utente Junior
OFFLINE
08/10/2008 21:43

Ciao,

se ti può essere utile dai un'occhiata a questa discussione.

Ciao
Tribuno1
Excel 2010
Post: 1.542
Registrato il: 14/11/2004
Utente Veteran
Office 2019
OFFLINE
09/10/2008 11:21

celle uguali
Ciao Rockey06, se la tabella e come quella dell'esempio, ti ho creato questa macro, e un ulteriore sviluppo di "delDopp", un altra macro di altro post, "valori doppi in colonna", eccola


Sub elDopel()
vert = Cells(Rows.Count, 1).End(xlUp).Row
oriz = Cells(1, 1).End(xlToRight).Column
Range(Cells(1, 1), Cells(vert, oriz)).Select
Selection.Sort Key1:=Cells(2, 1), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For y = 1 To vert
If Cells(y, 1) = "" Then Exit For
If Cells(y, 1) = Cells(y + 1, 1) Then
Cells(y, 3) = Cells(y, 3) + Cells(y + 1, 3)
Cells(y, 4) = Cells(y, 4) + Cells(y + 1, 4)
Range(Cells(y + 1, 1), Cells(y + 1, oriz)).Select
Selection.Delete Shift:=xlUp
y = y - 1
End If
Next y
Cells(1, 1).Select
End Sub



la copi in un modulo e la lanci, attenzione fatti una copia del foglio, può sempre esserci qualche problema, solo dopo aver avuto il risultato lo cancelli.

in effetti ordina i dati, poi controlla il codice uguale, somma i dati, e cancella il doppione.

Ciao By Sal [SM=x423051]




se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 9
Registrato il: 26/08/2008
Città: MILANO
Età: 43
Utente Junior
OFFLINE
10/10/2008 09:26

grazie a tutti, ho sperimentanto un pò tutti i suggerimenti.
Vorrei però chiedere a Sal quale dei parametri devo modificare se nella mia tabella il codice è nella colonnaB (anziche nella A come nel mio esempio)e la tabella parte dalla riga 2 (anziche dalla 1)...

grazie!
Post: 32
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
10/10/2008 12:18

le modifiche da fare sono su tutti i

Cells(y, x)


dove y = riga e x = colonna

p.s.
grazie Sal ... avevo fatto la stessa cosa ma in maniera molto incasinata gestendo anche degli array ... così è molto più semplice e veloce
Post: 1.545
Registrato il: 14/11/2004
Utente Veteran
Office 2019
OFFLINE
10/10/2008 15:39

celle uguali
Ciao Rockeye06, allora è importante, sapere la disposizione dei dati, perche possono succedere "casini", mi sono fidato della tua esposizione dei dati, non ha importanza se inizia dalla riga2 l'elenco penso che alla riga1 ci siano le intestazioni, quindi non si troverà una riga con Codice, poi l'ordinamento viene fatto partendo dalla riga2, comunque si può partire anche dalla riga2, ti riscrivo la macro corretta.


Sub elDopel()
vert = Cells(Rows.Count, 2).End(xlUp).Row
oriz = Cells(1, 1).End(xlToRight).Column
Range(Cells(1, 1), Cells(vert, oriz)).Select
Selection.Sort Key1:=Cells(2, 2), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For y = 2 To vert
If Cells(y, 2) = "" Then Exit For
If Cells(y, 2) = Cells(y + 1, 2) Then
Cells(y, 3) = Cells(y, 3) + Cells(y + 1, 3)
Cells(y, 4) = Cells(y, 4) + Cells(y + 1, 4)
Range(Cells(y + 1, 1), Cells(y + 1, oriz)).Select
Selection.Delete Shift:=xlUp
y = y - 1
End If
Next y
Cells(1, 1).Select
End Sub



Sempre tenendo conto che i dati di magazzino siano nelle colonne "C - D", altrimenti dove vedi "3 - 4", che equivalgono a "C -D", devi sostituire con le colonne giuste, cioè "A=1, B=2, C=3, etc..".

Fai sapere, ciao By Sal [SM=x423051]


se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 10
Registrato il: 26/08/2008
Città: MILANO
Età: 43
Utente Junior
OFFLINE
14/10/2008 09:23

funziona tutto alla perfezione!!

ti ringrazio molto!!!
Post: 0
Registrato il: 07/11/2012
Città: MILANO
Età: 43
Utente Junior
2010
OFFLINE
16/03/2013 17:37

interessante---
leggo la discussione spero di trovare ciò che mi interessa
Post: 0
Registrato il: 17/04/2013
Città: ROMA
Età: 49
Utente Junior
OFFLINE
17/04/2013 23:00

Interessante
questa è cultura!!
Post: 0
Registrato il: 17/10/2014
Città: MILANO
Età: 34
Utente Junior
OFFLINE
17/10/2014 12:01

grazie è servita pure a me !
Post: 0
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
14/11/2014 09:00

Salve ragazzi,
grazie per i consigli, ho provato ad utilizzare la macro,
solo che nel mio caso dovrei aggiungere un'altra colonna da controllare, in pratica se le colonne B, D ed F sono uguali allora somma il valore nella colonna G
qualcuno può aiutarmi?
grazie
Post: 36
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
14/11/2014 10:18

Nicola.ExcelForum
Nicola

posta il file ... così è più facile capire di cos necessiti
Post: 1
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
15/11/2014 09:47

Eccolo.
Grazie
Post: 37
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
15/11/2014 10:15

.
per quello che ti serve credo che sia sufficiente una formula e non una macro.
controlla se ti và bene ... ho aggiunto 2 righe in rosso per controllare se andava bene
Post: 2
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
15/11/2014 13:13

Ti ringrazio,

però io ho bisogno che mi elimini tutte le righe ripetute (Uguali nei valori inseriti nelle colonne d,f,h) e mi indichi nella colonna I il totale.

ho già realizzato due macro una per eliminare le righe a 0 ed una per ordinare, il tutto per ottenere il risultato che ti ho riportato nella scheda "ORDINE SCREMATO".

Spero di essere stato chiaro.


Post: 3
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
15/11/2014 13:14

questa à la macro che mi elimina le righe

Sub elimina_righe()
Dim ur As Integer, riga As Integer
Dim col As String
col = "g"
If col = "0" Then Exit Sub

On Error GoTo fine
ur = Cells(Rows.Count, col).End(xlUp).Row
If ur = 1 Then Exit Sub

For riga = ur To 1 Step -1
If IsError(Cells(riga, col)) Then Rows(riga).Delete
If Cells(riga, col).Value = "0" Then Rows(riga).Delete
Next
Exit Sub

fine:
MsgBox "Inserimento Colonna inesistente"
End Sub
Post: 4
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
15/11/2014 13:15

e questa è quella che mi ordina

Sub Ordine()
'
' Ordine Macro
'

'
ActiveWorkbook.Worksheets("Cartiera").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Cartiera").Sort.SortFields.Add Key:=ActiveCell. _
Range("A1:A500"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Cartiera").Sort.SortFields.Add Key:=ActiveCell. _
Offset(0, 2).Range("A1:A500"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Cartiera").Sort.SortFields.Add Key:=ActiveCell. _
Offset(0, 4).Range("A1:A500"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Cartiera").Sort
.SetRange ActiveCell.Range("A1:F500")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub


L'ideale sarebbe riunire tutto in una macro.
Post: 38
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
17/11/2014 10:17

.
non mi è molto chiaro quello che vuoi fare.
nella colonna I ci sono già dei dati che non combaciano con quanto chiedi.
prova a vedere se questo mio esempio di può aiutare:
- copio tutto il tuo foglio su un'altro d'appoggio;
- ordino i dati per le colonne che hai indicato;
- sommo il numero di righe trovate uguali sulla colonna P e cancello le righe doppie

spero di esserti stato utile
buon lavoro
Post: 5
Registrato il: 14/11/2014
Città: SANT'ARPINO
Età: 46
Utente Junior
97-2003
OFFLINE
19/11/2014 10:56

Scusa,
hai ragione ho pubblicato le macro relative ad un foglio che riportava solo alcune delle colonne in questione e non tutte come nell'esempio.

Comunque penso che tu abbia capito perfettamente il mio problema, in pratica ciò che hai scritto va bene

- copio tutto il tuo foglio su un'altro d'appoggio; OK (puoi ance modificare il foglio di lavoro su cui sono inseriti i dati)

- ordino i dati per le colonne che hai indicato; OK

- sommo il numero di righe trovate uguali sulla colonna P e cancello le righe doppie

in teoria è corretto però non mi trovo con il risultato.
In quanto nel file originario avevo 331 pezzi nella colonna P (utilizziamo la colonna I che è quella di riferimento) mentre nel foglio di test i valori scendono a 129.

forse se ti spiego i significati di quei numeri capisci meglio:
- nella colonna D è inserito il tipo di prodotti da produrre
- nella colonna F ed H ci sono lunghezza e larghezza dei prodotti
- nella colonna I ci sono il numero di pezzi

Siccome lo stesso tipo di prodotto (rappresentato dall'uguaglianza contemporanea del valore inserito nelle colonne D, F ed H) si ripete più volte, in produzione devo passare un file che mi riporti una sola volta ogni tipo di prodotto sommando il numero di pezzi.

Per esempio nel file che ti allego riporta per due volte il prodotto seguente:

BANCALE DIGITALE 2(Col D) 33,00(col.F) 46,00(col.H)

una volta per 35 pezzi(col.I) ed un'altra volta per 48 pezzi,

ho bisogno che nel file finale mi compaia una sola volta la riga sopra riportata con il totale di 35+48 pezzi = 83 pezzi nella col.I.

Spero di essere stato più chiaro.

grazie mille per l'aiuto.

Ciao
Post: 39
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
19/11/2014 15:27

.
Sulla colonna Q ti ho inserito la somma dei dati trovati sulla colonna I e sulla colonna R il nr di righe che sono state sommate.
C'era solo una piccola modifica da fare rispetto a prima ... se guardavi attentamente la macro, l'avresti potuta correggere da solo.

buon lavoro
Post: 0
Registrato il: 08/04/2015
Utente Junior
OFFLINE
08/04/2015 09:09

j
gfh
Post: 6
Registrato il: 15/02/2003
Età: 40
Utente Junior
excel 2010
OFFLINE
12/09/2015 15:16

somma automatica vendite
Ciao a tutti,
mi aggiungo a questa discussione.

sullo stesso foglio avrei bisogno di:
inserire nella parte sinistra, i prodotti venduti della giornata che inserisco manualmente e che nella parte destra mi facesse la somma automatica dei prodotti per quantità e incasso venduti nel mese, sommando i prodotti uguali ed inserendo quelli nuovi


grazieee!
[Modificato da idawe 12/09/2015 15:18]
Post: 43
Registrato il: 10/09/2007
Città: CORMONS
Età: 57
Utente Junior
2010
OFFLINE
12/09/2015 17:23

usando matricesommaprodotto
usando matricesommaprodotto puoi ottenere il risultato sulla colonna di dx
se devi sommare anche per mese dovresti aggiungere delle date da qualche parte, nell'esempio mi sono limitato a gestire le righe
Post: 8
Registrato il: 15/02/2003
Età: 40
Utente Junior
excel 2010
OFFLINE
22/09/2015 11:27

Grazie!!!
Post: 0
Registrato il: 02/10/2015
Città: MILANO
Età: 23
Utente Junior
2010
OFFLINE
02/10/2015 11:03

sono nuova e anche io ho questo problema. ma non so usare le macro.. come devo fare?
Post: 1.909
Registrato il: 27/09/2010
Città: FIRENZE
Età: 61
Utente Veteran
Excel 2010
OFFLINE
02/10/2015 11:12

....


Ciao,

credo ti convenga aprire una nuova discussione e - se possibile - allegare un piccolo file d'esempio per spiegare bene cosa hai bisogno: soprattutto per adattare al meglio una macro al tuo lavoro.

Spesso basta una tabella pivot o qualche formula per ottenere risultati simili.

Saluti e benvenuta

[Modificato da (Canapone) 02/10/2015 11:23]

Post: 2
Registrato il: 02/10/2015
Città: MILANO
Età: 23
Utente Junior
2010
OFFLINE
02/10/2015 11:57

Grazie
ho creato una nuova discussione: http://freeforumzone.leonardo.it/discussione.aspx?idd=11194247&
[Modificato da by sal 02/10/2015 12:22]
Post: 0
Registrato il: 15/01/2016
Utente Junior
OFFLINE
22/05/2016 15:02

Tutto utile
Tutte le indicazioni date sono molto utili, grazie a tutti
Vota: 15MediaObject5,00135 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 2 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 17:16. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com