Når du analyserer dataene i Excel, kan det hende du finner ut at de inneholder flere dupliserte rader. I dette tilfellet vil du kanskje raskt konsolidere radene. Dette innlegget vil tilby to raske måter å få tak i det på.
Mange brukere trenger ofte å slå sammen de dupliserte radene og summere de tilsvarende verdiene i Excel. For eksempel har jeg en rekke data i et Excel-regneark som inneholder mange dupliserte oppføringer, som følgende skjermbilde. Derfor ønsker jeg å konsolidere de dupliserte radene og summere de tilsvarende verdiene i en annen kolonne. Det vil definitivt være plagsomt hvis jeg gjør dette manuelt. Derfor bruker jeg følgende 2 måter å realisere det på.
Metode 1: Bruk "Konsolider"-funksjonen
- Først klikker du på en tom celle der du vil plassere de sammenslåtte og summerte dataene.
- Gå deretter til "Data"-fanen og klikk på "Konsolider" -knappen.
- I popup-dialogboksen, sørg for at "Sum" er valgt i "Funksjon"-boksen.
- Deretter klikker du på
knapp.
- Senere velger du området du vil konsolidere og klikker
knapp.
- Klikk deretter på "Legg til"-knappen i "Konsolider"-dialogen.
- Deretter merker du av for "Øverste rad" og "Venstre kolonne".
- Til slutt klikker du på "OK"-knappen.
- Med en gang blir radene konsolidert, som vist i følgende skjermbilde.
Metode 2: Bruk Excel VBA-kode
- Helt i begynnelsen velger du området du ønsker.
- Deretter utløser du VBA-editor i henhold til "Hvordan kjøre VBA-kode i Excel".
- Deretter kopierer du følgende VBA-kode til 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
- Etter det, trykk "F5" for å kjøre denne makroen nå.
- Når makroen er ferdig, vil en ny Excel-arbeidsbok dukke opp, der du kan se de sammenslåtte radene og summerte dataene, som bildet nedenfor.
Sammenligning
| Fordeler | Ulemper | |
| Metode 1 | Enkel å betjene | Kan ikke behandle de to kolonnene som ikke ligger ved siden av hverandre |
| Metode 2 | 1. Praktisk for gjenbruk | 1. Litt vanskelig å forstå for VBA-nybegynnere |
| 2. Vil ikke ødelegge det originale Excel-arket ved at det legger de sammenslåtte dataene i den nye filen | 2. Kan ikke behandle de to kolonnene som ikke ligger ved siden av hverandre |
Når du møter Excel-krasj
Som vi alle vet, kan Excel krasje fra tid til annen. Under denne omstendigheten, på sitt verste, kan den nåværende Excel-filen bli ødelagt direkte. På den tiden har du ikke noe annet valg enn å prøve Excel-gjenoppretting. Det krever at du enten spør fagfolk om hjelp eller bruker et spesialisert Excel-reparasjonsverktøy, som f.eks DataNumen Excel Repair.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert korrupt SQL Server og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med








