Când analizați datele în Excel, este posibil să găsiți că acestea conține mai multe rânduri duplicat. În acest caz, poate veți dori să consolidați rapid rândurile. Acest post va oferi 2 mijloace rapide pentru a-l obține.
Mulți utilizatori trebuie frecvent să îmbine rândurile duplicate și să însumeze valorile corespunzătoare în Excel. De exemplu, am o serie de date într-o foaie de lucru Excel care conține o mulțime de intrări duplicat, cum ar fi următoarea captură de ecran. Prin urmare, doresc să consolidez rândurile duplicate și să însumez valorile corespunzătoare într-o altă coloană. Va fi cu siguranță deranjant dacă fac asta manual. Prin urmare, folosesc următoarele 2 moduri de a-l realiza.
Metoda 1: Utilizați funcția „Consolidare”.
- Mai întâi, faceți clic pe o celulă goală în care doriți să plasați datele îmbinate și însumate.
- Apoi, accesați fila „Date” și faceți clic pe butonul „Consolidați”.
- În caseta de dialog pop-up, asigurați-vă că „Suma” este selectată în caseta „Funcție”.
- Apoi, faceți clic pe
butonul.
- Mai târziu, selectați intervalul pe care doriți să îl consolidați și faceți clic
butonul.
- După aceea, faceți clic pe butonul „Adăugați” din dialogul „Consolidați”.
- Ulterior, bifați opțiunea „Rândul de sus” și „Coloana din stânga”.
- În cele din urmă, faceți clic pe butonul „OK”.
- Deodată, rândurile sunt consolidate, așa cum se arată în următoarea captură de ecran.
Metoda 2: Utilizați codul Excel VBA
- La început, selectați intervalul dorit.
- Apoi, declanșați editorul VBA conform „Cum să rulați codul VBA în Excel".
- Apoi, copiați următorul cod VBA într-un 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
- După aceea, apăsați „F5” pentru a rula această macrocomandă acum.
- Când macro-ul se termină, va apărea un nou registru de lucru Excel, în care puteți vedea rândurile îmbinate și datele însumate, ca în imaginea de mai jos.
Comparaţie
| Avantaje | Dezavantaje | |
| Metoda 1 | Ușor de operat | Nu se pot procesa cele două coloane care nu sunt una lângă alta |
| Metoda 2 | 1. Convenabil pentru reutilizare | 1. Cam greu de înțeles pentru începătorii VBA |
| 2. Nu va strica foaia Excel originală, deoarece pune datele îmbinate în noul fișier | 2. Nu pot procesa cele două coloane care nu sunt una lângă alta |
Când întâlniți un accident Excel
După cum știm cu toții, Excel se poate bloca din când în când. În această circumstanță, în cel mai rău caz, fișierul Excel actual poate fi corupt direct. În acel moment, nu ai de ales decât să încerci Recuperare Excel. Vă solicită fie să solicitați ajutor profesioniștilor, fie să utilizați un instrument specializat de reparare Excel, cum ar fi DataNumen Excel Repair.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv corupt SQL Server și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com









