Analizējot datus programmā Excel, jūs varat atklāt, ka tajos ir vairākas dublētas rindas. Šādā gadījumā, iespējams, vēlēsities ātri apvienot rindas. Šajā ierakstā tiks piedāvāti divi ātri veidi, kā to izdarīt.
Daudziem lietotājiem bieži jāapvieno rindu dublikāti un jāapkopo attiecīgās vērtības programmā Excel. Piemēram, man Excel darblapā ir virkne datu, kas satur daudz ierakstu dublikātu, piemēram, šo ekrānuzņēmumu. Tāpēc es vēlos apvienot rindu dublikātus un atbilstošās vērtības summēt citā kolonnā. Tas noteikti būs traucējošs, ja es to darīšu manuāli. Tāpēc es izmantoju šādus 2 veidus, kā to realizēt.
1. metode: izmantojiet funkciju “Konsolidēt”
- Vispirms noklikšķiniet uz tukšas šūnas, kur vēlaties ievietot apvienotos un apkopotos datus.
- Pēc tam pārejiet uz cilni “Dati” un noklikšķiniet uz pogas “Konsolidēt”.
- Uznirstošajā dialoglodziņā lodziņā Funkcija atlasiet “Sum”.
- Pēc tam noklikšķiniet uz
poga.
- Vēlāk atlasiet diapazonu, kuru vēlaties konsolidēt, un noklikšķiniet
poga.
- Pēc tam dialoglodziņā “Konsolidēt” noklikšķiniet uz pogas “Pievienot”.
- Pēc tam pārbaudiet opcijas “Augšējā rinda” un “Kreisā kolonna”.
- Visbeidzot, noklikšķiniet uz pogas Labi.
- Vienlaikus rindas tiek apvienotas, kā parādīts nākamajā ekrānuzņēmumā.
2. metode: izmantojiet Excel VBA kodu
- Sākumā atlasiet vēlamo diapazonu.
- Pēc tam aktivizējiet VBA redaktoru atbilstoši “Kā palaist VBA kodu savā Excel".
- Pēc tam modulī kopējiet šo VBA kodu.
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
- Pēc tam nospiediet taustiņu “F5”, lai tagad palaistu šo makro.
- Kad makro būs pabeigts, tiks parādīta jauna Excel darbgrāmata, kurā varēsit redzēt apvienotās rindas un apkopotos datus, piemēram, zemāk redzamo attēlu.
salīdzinājums
| Priekšrocības | Trūkumi | |
| Metode 1 | Viegli darboties | Nevar apstrādāt abas kolonnas, kas nav blakus viena otrai |
| Metode 2 | 1. Ērts atkārtotai izmantošanai | 1. Mazliet grūti saprast VBA iesācējiem |
| 2. Netraucēs sākotnējo Excel lapu, jo tā apvienotos datus ievietos jaunajā failā | 2. Nevar apstrādāt abas kolonnas, kas nav blakus viena otrai |
Sastopoties ar Excel Crash
Kā mēs visi zinām, Excel laiku pa laikam var avarēt. Šādā gadījumā sliktākajā gadījumā pašreizējais Excel fails var tikt bojāts tieši. Tajā laikā jums nekas cits neatliek kā mēģināt Excel atkopšana. Tas prasa vai nu lūgt profesionāļu palīdzību, vai arī izmantot specializētu Excel labošanas rīku, piemēram, DataNumen Excel Repair.
Autora ievads:
Šērlija Džana ir datu atkopšanas eksperte DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp sabojāt SQL Server un perspektīvas remonta programmatūras produktus. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar








