Når du analyserer dataene i Excel, kan du finne at de inneholder flere dupliserte rader. I dette tilfellet vil du kanskje raskt konsolidere radene. Denne post vil tilby 2 raske måter å få 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 Set obj.Error On ExcelandRected. 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) Sett 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.Adjdal = objDictionary.Item(strItem) + strValue End If Next Set objNewWorkbook = Excel.Application.Workbooks.Add Set objNewWorksheet = objNewWorkbook.Sheets(1) varItems = objDictionary.keys varValues = objDictionary.Bound FornItems 0n ) Til 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: Avslutt 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