Pri analizi podatkov v Excelu lahko ugotovite, da vsebujejo več podvojenih vrstic. V tem primeru boste morda želeli vrstice hitro združiti. Ta objava bo ponudila dva hitra načina za to.
Mnogi uporabniki pogosto morajo združiti podvojene vrstice in sešteti ustrezne vrednosti v Excelu. Na primer, na Excelovem delovnem listu imam vrsto podatkov, ki vsebuje veliko podvojenih vnosov, kot je naslednja slika zaslona. Zato želim združiti podvojene vrstice in v drugem stolpcu strniti ustrezne vrednosti. Vsekakor bo težavno, če bom to naredil ročno. Zato uporabljam naslednja dva načina, kako to uresničiti.
1. način: Uporabite funkcijo »Konsolidiraj«
- Najprej kliknite prazno celico, kamor želite umestiti združene in strnjene podatke.
- Nato se obrnite na zavihek »Podatki« in kliknite gumb »Konsolidiraj«.
- V pojavnem pogovornem oknu se prepričajte, da je v polju »Funkcija« izbrana možnost »Vsota«.
- Nato kliknite na
.
- Kasneje izberite obseg, ki ga želite združiti, in kliknite
.
- Po tem v pogovornem oknu »Konsolidiraj« kliknite gumb »Dodaj«.
- Nato preverite možnost »Zgornja vrstica« in »Levi stolpec«.
- Na koncu kliknite gumb »V redu«.
- Vrstice so naenkrat konsolidirane, kot je prikazano na naslednjem posnetku zaslona.
2. način: Uporabite kodo Excel VBA
- Na samem začetku izberite želeni obseg.
- Nato sprožite urejevalnik VBA v skladu z “Kako zagnati kodo VBA v Excelu".
- Nato v modul kopirajte naslednjo kodo VBA.
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
- Po tem pritisnite “F5”, da zaženete ta makro zdaj.
- Ko se makro konča, se prikaže nov Excelov delovni zvezek, v katerem si lahko ogledate združene vrstice in strnjene podatke, kot je spodnja slika.
Primerjava
| Prednosti | Slabosti | |
| Metoda 1 | Enostaven za uporabo | Oba stolpca ne moreta obdelati drug ob drugem |
| Metoda 2 | 1. Priročno za ponovno uporabo | 1. Nekoliko težko razumljiv za začetnike VBA |
| 2. Izvirnega Excelovega lista ne bo zmotil, ker bo združil podatke v novo datoteko | 2. Ne morem obdelati dveh stolpcev, ki se ne nahajata drug ob drugem |
Pri srečanju z zrušitvijo programa Excel
Kot vsi vemo, lahko Excel občasno zruši. V teh okoliščinah je lahko v najslabšem primeru trenutna datoteka Excel neposredno poškodovana. Takrat vam ne preostane drugega, kot da poskusite Excel obnovitev. Zahteva, da za pomoč zaprosite strokovnjake ali pa uporabite posebno orodje za popravilo Excel, kot je DataNumen Excel Repair.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z pokvarjena SQL Server in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com








