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.
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! |
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:
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.
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.
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:
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.
3. Klik derefter på Ok. Nu er dataene blevet flettet baseret på den primære kolonne, og en anden er opsummeret. Se skærmbillede:
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.
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:
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;
(2) Klik på den kolonne, du vil kombinere data, og klik på Kombiner, vælg derefter en separator, du har brug for, fra listen;
(3) Klik på den kolonne, du vil sammenfatte værdier, og klik Beregn, og vælg Sum.
3. klik Ok. Nu kan du se resultatet som nedenfor:
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
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...
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!