Gå til hovedindhold

Hvordan kan man hurtigt flette rækker baseret på en kolonneværdi og derefter foretage nogle beregninger i Excel?

For eksempel har du en række data, og en kolonne har duplikater, nu vil du flette rækker baserer kolonne A (har duplikater), og lav derefter nogle beregninger til en anden kolonne baseret på de flettede rækker som vist skærmbillede:

I Excel er der ingen hurtig metode til at flette rækker baseret på en kolonneværdi, men her introducerer jeg
tricks, der kan hjælpe dig med at flette duplikerede rækker, derefter summer eller foretage andre beregninger i en anden kolonne.


pil blå højre boble Flet rækker baseret på en kolonne, og summer derefter værdier med VBA

Der er en VBA-kode, der kan hjælpe dig med at flette de dobbelte rækker og derefter opsummere en anden kolonneværdier.

Tabberet browsing og redigering af flere Excel-projektmapper / Word-dokumenter som Firefox, Chrome, Internet Explore 10!

Du er måske bekendt med at se flere websider i Firefox / Chrome / IE og skifte mellem dem ved let at klikke på tilsvarende faner. Her understøtter Office-fanen lignende behandling, som giver dig mulighed for at gennemse flere Excel-projektmapper eller Word-dokumenter i et Excel-vindue eller Word-vindue og nemt skifte mellem dem ved at klikke på deres faner. Klik gratis 30-dages prøveversion af Office Tab!

ikke udmærke sig

1. Trykke F11 + Alt taster for at aktivere Microsoft Visual Basic til applikationer vindue, og klik derefter på indsatte > Moduler og kopier og indsæt nedenunder VBA-kode til den nye Moduler vindue.

VBA: Flet rækker baseret på en kolonneværdi

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. Trykke F5 eller klik Kør knap til at køre VBA, og der vises en dialogboks, hvor du kan vælge et dataområde, der skal fungere. se skærmbillede:

doc flette kolonner baseret på en kolonne 3

3. Når du har valgt et arbejdsområde, skal du klikke på OK. Nu er dataene blevet flettet med første kolonne og summer værdierne i anden kolonne.

doc flette kolonner baseret på en kolonne 4

Bemærk: Denne VBA-kode kan bare fungere korrekt, når den flettes baseret på den første kolonne og sumværdier i den anden kolonne.


pil blå højre boble Flet rækker baseret på en kolonne, og summer derefter værdier med Advanced Combine Rows

Hvis du ikke er fortrolig med VBA-koden, kan du bruge Avancerede kombinere rækker funktion af tredje del tilføjelsesværktøj - Kutools til Excel for nemt og hurtigt at flette duplikatrækkerne og derefter summere værdierne i en anden kolonne.

Efter gratis installation Kutools til Excel, gør venligst som nedenfor:

1. Vælg de data, du vil bruge, og klik på Kutools > Flet og del > Avancerede kombinere rækker. Se skærmbillede:

doc avanceret mejetærsker række 1

2. Derefter skal du i poppedialogen vælge den kolonne, som du vil flette andre kolonner ud fra, og klik derefter på Primær Tast, og klik på en anden kolonne, og klik Beregn Vælg derefter Sum.

Tip: Hvis dit valgte interval har overskrifter, skal du kontrollere Mine data har overskrifter, og tjek Brug formaterede værdier beholder formateringen efter fletning.

doc flette kolonner baseret på en kolonne 6

3. Klik derefter på Ok. Nu er dataene blevet flettet baseret på den primære kolonne, og en anden er opsummeret. Se skærmbillede:

doc flette kolonner baseret på en kolonne 7


pil blå højre boble Flet rækker baseret på en kolonne, og udfør derefter forskellige handlinger på andre kolonner med Advanced Combine Rows.

Avancerede kombinere rækker er kraftfuld, fordi det ikke kun kan flette duplikerede rækker i en kolonne og derefter opsummere en anden kolonne, men også kan flette duplikatrækker i en kolonne og derefter udføre forskellige handlinger på andre kolonner.

Antag, at jeg har en række data som vist nedenfor, og jeg vil både kombinere værdier i kolonne B og sumværdier i kolonne C baseret på kolonne A.
doc flette kolonner baseret på en kolonne 8

Efter gratis installation Kutools til Excel, gør venligst som nedenfor:

1. Vælg datainterval, og klik Kutools > Flet og del > Avancerede kombinere rækker. Se skærmbillede:

doc avanceret mejetærsker række 1

2. i Kombiner rækker baseret på kolonne dialog, gør som disse:

(1) Klik på den kolonne, du vil kombinere baseret på, og klik på Primærnøgle;

doc flette kolonner baseret på en kolonne 10

(2) Klik på den kolonne, du vil kombinere data, og klik på Kombiner, vælg derefter en separator, du har brug for, fra listen;

doc flette kolonner baseret på en kolonne 11

(3) Klik på den kolonne, du vil sammenfatte værdier, og klik Beregn, og vælg Sum.

doc flette kolonner baseret på en kolonne 12

3. klik Ok. Nu kan du se resultatet som nedenfor:

doc flette kolonner baseret på en kolonne 13

Med Avancerede kombinere rækker funktion, kan du også flette rækker baseret på en kolonne og derefter tælle, gennemsnit, gemme 1. eller sidste data i andre kolonner. 

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
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