Wanneer u de gegevens in Excel analyseert, kan het zijn dat deze meerdere dubbele rijen bevat. In dat geval wilt u misschien snel de rijen consolideren. Deze Post biedt 2 snelle manieren om het te krijgen.
Veel gebruikers moeten de dubbele rijen vaak samenvoegen en de overeenkomstige waarden in Excel optellen. Ik heb bijvoorbeeld een reeks gegevens in een Excel-werkblad dat veel dubbele vermeldingen bevat, zoals de volgende schermafbeelding. Daarom wil ik de dubbele rijen consolideren en de overeenkomstige waarden in een andere kolom optellen. Het zal zeker vervelend zijn als ik dit handmatig doe. Daarom gebruik ik de volgende 2 manieren om dit te realiseren.
Methode 1: Gebruik de functie "Consolideren"
- Klik eerst op een lege cel waar u de samengevoegde en gesommeerde gegevens wilt plaatsen.
- Ga vervolgens naar het tabblad "Gegevens" en klik op de knop "Consolideren".
- Zorg ervoor dat in het pop-upvenster “Som” is geselecteerd in het vak “Functie”.
- Klik vervolgens op de
.
- Selecteer later het bereik dat u wilt consolideren en klik
.
- Klik daarna op de knop "Toevoegen" in het dialoogvenster "Consolideren".
- Vink vervolgens de optie “Bovenste rij” en “Linkerkolom” aan.
- Klik ten slotte op de knop "OK".
- De rijen worden meteen geconsolideerd, zoals weergegeven in de volgende schermafbeelding.
Methode 2: gebruik Excel VBA-code
- Selecteer aan het begin het bereik dat u wilt.
- Activeer vervolgens de VBA-editor volgens "Hoe u VBA-code in uw Excel uitvoert'.
- Kopieer vervolgens de volgende VBA-code naar een module.
Sub MergeRowsSumValues()
Dim objSelectedRange As Excel.Range
Dim varAddressArray As Variant
Dim nStartRow, nEndRow As Integer
Dim strFirstColumn, strSecondColumn As String
Dim objDictionary As Object
Dim nRow As Integer
Dim objNewWorkbook As Excel.Workbook
Dim objNewWorksheet As Excel.Worksheet
Dim varItems, varValues As Variant
On Error GoTo ErrorHandler
Set objSelectedRange = Excel.Application.Selection
varAddressArray = Split(objSelectedRange.Address(, False), ":")
nStartRow = Split(varAddressArray(0), "$")(1)
strFirstColumn = Split(varAddressArray(0), "$")(0)
nEndRow = Split(varAddressArray(1), "$")(1)
strSecondColumn = Split(varAddressArray(1), "$")(0)
Set objDictionary = CreateObject("Scripting.Dictionary")
For nRow = nStartRow To nEndRow
strItem = ActiveSheet.Range(strFirstColumn & nRow).Value
strValue = ActiveSheet.Range(strSecondColumn & nRow).Value
If objDictionary.Exists(strItem) = False Then
objDictionary.Add strItem, strValue
Else
objDictionary.Item(strItem) = objDictionary.Item(strItem) + strValue
End If
Next
Set objNewWorkbook = Excel.Application.Workbooks.Add
Set objNewWorksheet = objNewWorkbook.Sheets(1)
varItems = objDictionary.keys
varValues = objDictionary.items
nRow = 0
For i = LBound(varItems) To UBound(varItems)
nRow = nRow + 1
With objNewWorksheet
.Cells(nRow, 1) = varItems(i)
.Cells(nRow, 2) = varValues(i)
End With
Next
objNewWorksheet.Columns("A:B").AutoFit
ErrorHandler:
Exit sub
End Sub
- Druk daarna op "F5" om deze macro nu uit te voeren.
- Wanneer de macro is voltooid, wordt een nieuwe Excel-werkmap weergegeven, waarin u de samengevoegde rijen en opgetelde gegevens kunt zien, zoals de afbeelding hieronder.
Vergelijk
| Voordelen | Nadelen | |
| Methode 1 | Eenvoudig te bedienen | Kan de twee kolommen niet naast elkaar verwerken |
| Methode 2 | 1. Handig voor hergebruik | 1. Een beetje moeilijk te begrijpen voor VBA-nieuwkomers |
| 2. Verpest het originele Excel-blad niet doordat het de samengevoegde gegevens in het nieuwe bestand plaatst | 2. Kan de twee kolommen niet naast elkaar verwerken |
Bij het tegenkomen van Excel-crash
Zoals we allemaal weten, kan Excel van tijd tot tijd crashen. Onder deze omstandigheden kan het huidige Excel-bestand in het ergste geval rechtstreeks beschadigd raken. Op dat moment heb je geen andere keuze dan te proberen Excel-herstel. Het vereist dat u professionals om hulp vraagt of gebruik maakt van een gespecialiseerde Excel-reparatietool, zoals DataNumen Excel Repair.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder corrupt SQL Server en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com








