Når du analyserer data i Excel, kan du opleve, at de indeholder flere dubletter af rækker. I dette tilfælde vil du måske hurtigt konsolidere rækkerne. Dette indlæg vil tilbyde to hurtige måder at få fat i det på.
Mange brugere har ofte brug for at flette de dobbelte rækker og sammenfatte værdierne i Excel. For eksempel har jeg en række data i et Excel-regneark, der indeholder masser af duplikatposter, som det følgende skærmbillede. Derfor vil jeg konsolidere de duplikerede rækker og summere de tilsvarende værdier i en anden kolonne. Det vil bestemt være besværligt, hvis jeg manuelt gør dette. Derfor bruger jeg følgende 2 måder til at realisere det.
Metode 1: Brug funktionen "Konsolider"
- Klik først på en tom celle, hvor du vil placere de flettede og summerede data.
- Drej derefter til fanen "Data" og klik på knappen "Konsolider".
- I popup-dialogboksen skal du sikre dig, at "Sum" er valgt i "Funktion" -boksen.
- Klik derefter på knappen
.
- Senere skal du vælge det interval, som du vil konsolidere, og klikke på
.
- Klik derefter på knappen "Tilføj" i dialogboksen "Konsolider".
- Kontroller derefter indstillingen "Øverste række" og "Venstre kolonne".
- Til sidst skal du klikke på “OK” -knappen.
- Straks konsolideres rækkerne som vist i det følgende skærmbillede.
Metode 2: Brug Excel VBA-kode
- I starten skal du vælge det ønskede område.
- Derefter udløser VBA-editor i henhold til “Sådan køres VBA-kode i din Excel".
- Kopier derefter følgende VBA-kode til et modul.
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
- Derefter skal du trykke på "F5" for at køre denne makro nu.
- Når makroen er færdig, vises en ny Excel-projektmappe, hvor du kan se de flettede rækker og summerede data som billedet nedenfor.
Sammenligning
| Fordele | Ulemper | |
| Metode 1 | Let at betjene | Kan ikke behandle de to kolonner ikke ved siden af hinanden |
| Metode 2 | 1. Praktisk til genbrug | 1. Lidt svært at forstå for VBA nybegyndere |
| 2. Vil ikke ødelægge det originale Excel-ark, fordi det placerer de flettede data i den nye fil | 2. Kan ikke behandle de to kolonner ikke ved siden af hinanden |
Når du møder Excel-nedbrud
Som vi alle ved, kan Excel gå ned fra tid til anden. Under denne omstændighed kan den nuværende Excel-fil i værste fald blive ødelagt direkte. På det tidspunkt har du intet andet valg end at prøve Excel-gendannelse. Det kræver, at du enten beder fagfolk om hjælp eller bruger et specialiseret Excel-reparationsværktøj, såsom DataNumen Excel Repair.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder korrupt SQL Server og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com








