/ / Excel: come potare i duplicati e combinare i loro valori? - excel, excel-vba, excel-formula, vba

Excel: come potare i duplicati e combinare i loro valori? - excel, excel-vba, excel-formula, vba

Supponi di avere una semplice tabella a due colonne

value-a | 3
value-b | 7
value-b | 2
value-c | 5

Voglio che l'output sia

value-a | 3
value-b | 9
value-c | 5

Grazie

PS. Spero che questa sia solo una funzione molto semplice: ho tentato di utilizzare "consolidare" ma ho fallito miseramente, non ho molta familiarità con lo scripting di Excel o su come eseguirlo.

risposte:

2 per risposta № 1

Ci sono due modi in cui posso pensare oltre al link tutorial fornito da Jaycal.

Seleziona intero Column A »Tasto destro del mouse» Copy CTRL+C

Seleziona cella C1 »Fare clic con il tasto destro» Incolla come valori

Seleziona l'intero Column C " vai a Data Tab »Rimuovi duplicati

inserisci la descrizione dell'immagine qui

Una volta che fai clic sul Remove Duplicates sul prossimo pop-up Continue with the current selection e assicurati di aver selezionato solo Column C

Questo rimuoverà i duplicati. Ora tutto ciò che serve è incollare una formula nella cella D1

=SUMIF(A:A,C1,B:B)

prendi l'angolo in basso a destra della cella e trascinalo fino all'ultima cella in Column C

Questo risolverà il tuo problema senza VBA

inserisci la descrizione dell'immagine qui

Soluzione VBA

Sub RemoveDupsAndSumUp()
Application.ScreenUpdating = False
Columns("A:A").Copy
Range("C1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("$C:$C").RemoveDuplicates Columns:=1, Header:=xlNo
Range("D1").FormulaR1C1 = "=SUMIF(C[-3],RC[-1],C[-2])"
Range("D1").AutoFill Destination:=Range("D1:D" & Range("C" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
Application.ScreenUpdating = True
End Sub

0 per risposta № 2

Potrebbe essere utile considerare il totale parziale:

Esempio SO18903348