Přejít k hlavnímu obsahu

Jak rychle sloučit řádky na základě jedné hodnoty sloupce a poté provést nějaké výpočty v aplikaci Excel?

Například máte řadu dat a jeden sloupec má duplikáty, nyní chcete sloučit řádky na základě sloupce A (má duplikáty) a poté provést některé výpočty do jiného sloupce na základě sloučených řádků, jak je zobrazeno na obrazovce:

V aplikaci Excel neexistuje žádná rychlá metoda slučování řádků na základě jedné hodnoty sloupce, ale zde představuji
triky, které vám pomohou sloučit duplicitní řádky, pak sečíst nebo provést jiné výpočty v jiném sloupci.


šipka modrá pravá bublina Sloučit řádky na základě jednoho sloupce a poté sečíst hodnoty pomocí VBA

K dispozici je kód VBA, který vám pomůže sloučit duplicitní řádky a poté sečíst další hodnoty sloupců.

Procházení a úpravy více sešitů aplikace Excel / dokumentů aplikace Word jako záložek v prohlížeči Firefox, Chrome, Internet Prozkoumejte 10!

Možná znáte prohlížení více webových stránek ve Firefoxu / Chrome / IE a přepínáte mezi nimi snadným kliknutím na příslušné karty. Zde karta Office podporuje podobné zpracování, které vám umožní procházet více sešitů aplikace Excel nebo dokumentů aplikace Word v jednom okně aplikace Excel nebo v okně aplikace Word a snadno mezi nimi přepínat kliknutím na jejich karty. Klikněte zdarma 30-denní zkušební verze Office Tab!

ne excel

1. lis F11 + Alt klíče k povolení Microsoft Visual Basic pro aplikace v okně a poté klikněte na Vložit > Modul a zkopírujte a vložte pod kód VBA do nového Modul okno.

VBA: Sloučit řádky na základě jedné hodnoty sloupce

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2. lis F5 nebo klikněte Běh tlačítko pro spuštění VBA a objeví se dialogové okno pro výběr rozsahu dat, který má fungovat. viz screenshot:

doc sloučit sloupce založené na jednom sloupci 3

3. Po výběru pracovního rozsahu klikněte na OK. Nyní byla data sloučena do prvního sloupce a součet hodnot ve druhém sloupci.

doc sloučit sloupce založené na jednom sloupci 4

Poznámka: Tento kód VBA může správně fungovat při slučování na základě prvního sloupce a součtu hodnot ve druhém sloupci.


šipka modrá pravá bublina Sloučit řádky na základě jednoho sloupce a poté sčítat hodnoty s pokročilými kombinovanými řádky

Pokud nejste obeznámeni s kódem VBA, můžete použít Pokročilé kombinování řádků funkce doplňkového nástroje třetí části - Kutools pro Excel snadno a rychle sloučit duplicitní řádky a poté sečíst hodnoty v jiném sloupci.

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Vyberte data, která chcete použít, a klikněte na Kutools > Sloučit a rozdělit > Pokročilé kombinování řádků. Viz snímek obrazovky:

doc pokročilý kombinovat řádek 1

2. Potom v rozbalovacím dialogovém okně vyberte sloupec, podle kterého se sloučí další sloupce, a poté klikněte Primární Klíč a klikněte na jiný sloupec a klikněte na Vypočítaná Potom vyberte Součet.

Tip: Pokud má vybraný rozsah záhlaví, zkontrolujte Moje data mají záhlaví, a zkontrolujte Použijte formátované hodnoty po sloučení zachová formátování.

doc sloučit sloupce založené na jednom sloupci 6

3. Pak klikněte na tlačítko Ok. Nyní byla data sloučena na základě primárního sloupce a další je shrnuto. Viz screenshot:

doc sloučit sloupce založené na jednom sloupci 7


šipka modrá pravá bublina Sloučit řádky na základě jednoho sloupce a poté provádět různé operace na jiných sloupcích pomocí Pokročilé kombinace řádků.

Pokročilé kombinování řádků je mocný, protože nejenže může sloučit duplicitní řádky v jednom sloupci, pak sečíst další sloupec, ale také může sloučit duplicitní řádky v jednom sloupci a poté provádět různé operace v ostatních sloupcích.

Předpokládejme, že mám řadu dat, jak je uvedeno níže, a chci kombinovat hodnoty ve sloupci B a hodnoty součtu ve sloupci C na základě sloupce A.
doc sloučit sloupce založené na jednom sloupci 8

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Vyberte rozsah dat a klikněte Kutools > Sloučit a rozdělit > Pokročilé kombinování řádků. Viz snímek obrazovky:

doc pokročilý kombinovat řádek 1

2. V Kombinujte řádky na základě sloupce dialog, postupujte takto:

(1) Klikněte na sloupec, podle kterého chcete kombinovat, a klikněte Primární klíč;

doc sloučit sloupce založené na jednom sloupci 10

(2) Klikněte na sloupec, do kterého chcete zkombinovat data, a klikněte Kombinovat, poté vyberte ze seznamu jeden oddělovač, který potřebujete;

doc sloučit sloupce založené na jednom sloupci 11

(3) Klikněte na sloupec, který chcete sečíst hodnoty, a klikněte Vypočítanáa vyberte Součet.

doc sloučit sloupce založené na jednom sloupci 12

3. cvaknutí Ok. Nyní můžete vidět výsledek níže:

doc sloučit sloupce založené na jednom sloupci 13

S Pokročilé kombinování řádků funkce, můžete také sloučit řádky založené na jednom sloupci a poté počítat, průměrovat, uchovat první nebo poslední data v jiných sloupcích. 

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same/similar question. I am trying to sum all of the columns to the right of the reference cell but it only sums the one. How do I get it to sum all those to the right individually?
This comment was minimized by the moderator on the site
Hey, your module used to work for big tables as well (eg. you want to sum up according to Year but you have Sales 1, Sales 2, Sales 3....etc). But now it only gets the first column right (Sales 1) and all others are not summed correctly. Did you change anything?
Thanks!
This comment was minimized by the moderator on the site
Hi, IK, maybe you can use the sumproduct function SUMPRODUCT((A2:A10=”Pen”)*(B2:E10)) to calculate them one by one. A2:A10 is the range contain the lookup value, pen is the criterion, B2:E10 is range that you want to sum based on criterion.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations