När du analyserar data i Excel kan det hända att den innehåller flera dubbletter av rader. I det här fallet kanske du vill slå samman raderna snabbt. Det här inlägget erbjuder två snabba sätt att få tag på det.
Många användare behöver ofta slå samman de dubbla raderna och summera motsvarande värden i Excel. Till exempel har jag en rad data i ett Excel-kalkylblad som innehåller många dubbla poster, som följande skärmdump. Därför vill jag konsolidera de dubbla raderna och summera motsvarande värden i en annan kolumn. Det blir definitivt besvärligt om jag gör det manuellt. Därför använder jag följande två sätt att förverkliga det.
Metod 1: Använd “Consolidate” -funktionen
- Klicka först på en tom cell där du vill placera de sammanslagna och summerade uppgifterna.
- Vänd dig sedan till fliken "Data" och klicka på "Consolidate" -knappen.
- I popup-dialogrutan, se till att "Sum" är valt i "Function" -rutan.
- Klicka sedan på
knapp.
- Senare väljer du det intervall som du vill konsolidera och klickar på
knapp.
- Klicka därefter på knappen "Lägg till" i dialogrutan "Konsolidera".
- Kontrollera därefter alternativet "Övre raden" och "Vänster kolumn".
- Klicka slutligen på “OK” -knappen.
- På en gång konsolideras raderna, som visas i följande skärmdump.
Metod 2: Använd Excel VBA-kod
- I början väljer du det intervall du vill ha.
- Starta sedan VBA-redigeraren enligt “Så här kör du VBA-kod i din Excel".
- Kopiera sedan följande VBA-kod till en 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
- Tryck därefter på "F5" för att köra detta makro nu.
- När makrot är klart kommer en ny Excel-arbetsbok att visas där du kan se de sammanslagna raderna och summerade data, som bilden nedan.
Jämförelse
| Fördelar | Nackdelar | |
| Förfarande 1 | Enkel att använda | Det går inte att bearbeta de två kolumnerna inte bredvid varandra |
| Förfarande 2 | 1. Bekvämt för återanvändning | 1. Lite svårt att förstå för VBA-nybörjare |
| 2. Kommer inte att förstöra det ursprungliga Excel-arket genom att det placerar de sammanslagna uppgifterna i den nya filen | 2. Kan inte bearbeta de två kolumnerna inte bredvid varandra |
När du stöter på Excel-krasch
Som vi alla vet kan Excel krascha då och då. Under den här omständigheten, i värsta fall, kan den nuvarande Excel-filen skadas direkt. Vid den tiden har du inget annat val än att försöka Excel-återställning. Det kräver att du antingen ber yrkesverksamma om hjälp eller använder ett specialiserat Excel-reparationsverktyg, t.ex. DataNumen Excel Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive korrupta SQL Server och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com








