Hoe snel rijen samenvoegen op basis van één kolomwaarde en vervolgens enkele berekeningen uitvoeren in Excel?
U hebt bijvoorbeeld een gegevensbereik en één kolom heeft duplicaten, nu wilt u rijen samenvoegen met de basis van kolom A (heeft duplicaten) en vervolgens enkele berekeningen uitvoeren naar een andere kolom op basis van de samengevoegde rijen, zoals weergegeven in het screenshot:
In Excel is er geen snelle methode om rijen samen te voegen op basis van één kolomwaarde, maar hier introduceer ik de
trucs waarmee u dubbele rijen kunt samenvoegen en vervolgens kunt optellen of andere berekeningen kunt uitvoeren op een andere kolom.
Voeg rijen samen op basis van één kolom en vervolgens somwaarden met VBA
Er is een VBA-code die u kan helpen om de dubbele rijen samen te voegen en vervolgens andere kolomwaarden op te tellen.
Bladeren en bewerken met tabbladen in meerdere Excel-werkmappen / Word-documenten als Firefox, Chrome, Internet Explore 10! |
Het is wellicht bekend om meerdere webpagina's in Firefox / Chrome / IE te bekijken en tussen de webpagina's te schakelen door eenvoudig op de bijbehorende tabbladen te klikken. Hier ondersteunt Office Tab vergelijkbare verwerking, waardoor u door meerdere Excel-werkmappen of Word-documenten in één Excel-venster of Word-venster kunt bladeren, en gemakkelijk tussen deze kunt schakelen door op hun tabbladen te klikken. Klik gratis 30-dag proefversie van Office Tab! |
1. druk op F11 + Alt toetsen om in te schakelen Microsoft Visual Basic voor toepassingen venster en klik op Invoegen > Module en kopieer en plak onderstaande VBA-code in het nieuwe Module venster.
VBA: rijen samenvoegen op basis van één kolomwaarde
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. druk op F5 of klik lopen om de VBA uit te voeren, en een dialoogvenster verschijnt om een gegevensbereik te selecteren om te werken. zie screenshot:
3. Nadat u een werkbereik heeft geselecteerd, klikt u op OK. Nu zijn de gegevens samengevoegd in de eerste kolom en de waarden in de tweede kolom opgeteld.
Note: Deze VBA-code kan gewoon correct werken bij het samenvoegen op basis van de eerste kolom en somwaarden in de tweede kolom.
Voeg rijen samen op basis van één kolom en vervolgens somwaarden met Advanced Combine Rows
Als u niet bekend bent met VBA-code, kunt u de Geavanceerd Combineer rijen kenmerk van de add-in-tool van het derde deel - Kutools for Excel om de dubbele rijen gemakkelijk en snel samen te voegen en vervolgens de waarden in een andere kolom op te tellen.
Na gratis installeren Kutools voor Excel, doe het als volgt:
1. Selecteer de gegevens die u wilt gebruiken en klik op Kutools > Samenvoegen en splitsen > Geavanceerd Combineer rijen. Zie screenshot:
2. Selecteer vervolgens in het popping-dialoogvenster de kolom waarop u andere kolommen wilt samenvoegen en klik vervolgens op Primair Sleutel, klik op een andere kolom en klik op Berekenen Selecteer dan Som.
Tip: Als uw geselecteerde bereik kopteksten heeft, controleer dan Mijn gegevens hebben kopteksten, en check Gebruik opgemaakte waarden behoudt de opmaak na het samenvoegen.
3. Dan klikken Ok. Nu zijn de gegevens samengevoegd op basis van de primaire kolom en wordt een andere samengevat. Zie screenshot:
Voeg rijen samen op basis van één kolom en voer vervolgens verschillende bewerkingen uit op andere kolommen met Advanced Combine Rows.
Geavanceerd Combineer rijen is krachtig, omdat het niet alleen dubbele rijen in één kolom kan samenvoegen en vervolgens een andere kolom kan optellen, maar ook dubbele rijen in één kolom kan samenvoegen en vervolgens verschillende bewerkingen op andere kolommen kan uitvoeren.
Stel dat ik een gegevensbereik heb zoals hieronder afgebeeld, en ik wil zowel waarden in kolom B als somwaarden in kolom C combineren op basis van kolom A.
Na gratis installeren Kutools voor Excel, doe het als volgt:
1. Selecteer het gegevensbereik en klik op Kutools > Samenvoegen en splitsen > Geavanceerd Combineer rijen. Zie screenshot:
2. In de Combineer rijen op basis van kolom dialoog, doe als volgt:
(1) Klik op de kolom die u wilt combineren op basis van, en klik Hoofdsleutel;
(2) Klik op de kolom waarin u gegevens wilt combineren en klik op Combinerenen selecteer vervolgens een scheidingsteken dat u nodig hebt uit de lijst;
(3) Klik op de kolom waarvan u de waarden wilt optellen en klik BerekenenEn Select Som.
3. klikken Ok. Nu kunt u het resultaat zien zoals hieronder:
met Geavanceerd Combineer rijen functie, kunt u ook rijen samenvoegen op basis van één kolom en vervolgens tellen, gemiddeld nemen, 1e of laatste gegevens in andere kolommen behouden.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!