/ / Excel: Ako prerezávať duplikáty a kombinovať ich hodnoty? - excel, excel-vba, excel-formula, vba

Excel: Ako prerezávať duplikáty a kombinovať ich hodnoty? - excel, excel-vba, excel-formula, vba

Povedzme, že mám jednoduchú tabuľku dvoch stĺpcov

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

Chcem, aby výstup bol

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

Vďaka

PS. Som "d dúfal, že je to naozaj jednoduchá funkcia. Pokúsil som sa použiť" konsolidovať ", ale zlyhal biedne." Nie som príliš oboznámený s Excel skriptovanie, alebo ako ju dokonca spustiť. "

odpovede:

2 pre odpoveď č. 1

Existujú dva spôsoby, ako si môžem pomyslieť okrem prepojenia s návodom, ktorý poskytol Jaycal.

Vyberte celú Column A " kliknite pravým tlačidlom myši " Copy CTRL+C

Vyberte bunku C1 »Kliknite pravým tlačidlom myši» Prilepiť ako hodnoty

Vyberte celý Column C " ísť do Data Tab »Odstrániť duplikáty

tu zadajte popis obrázku

Po kliknutí na tlačidlo Remove Duplicates na nasledujúcom vyskakovacom okne Continue with the current selection a uistite sa, že ste vybrali iba Column C

Tým sa odstránia duplikáty. Teraz všetko, čo potrebujete, je držať vzorec v bunke D1

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

uchopte pravý dolný roh bunky a potiahnite ju nadol do poslednej bunky Column C

To vyrieši váš problém bez VBA

tu zadajte popis obrázku

Riešenie 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 pre odpoveď č. 2

Možno stojí za to zvážiť Medzisúčet:

Príklad: SO18903348