Excelis andmeid analüüsides võite avastada, et need sisaldavad mitut topeltrida. Sel juhul soovite võib-olla read kiiresti konsolideerida. See post pakub selle saamiseks 2 kiiret viisi.
Paljud kasutajad peavad sageli dubleerivad read liitma ja vastavad väärtused Excelis liitma. Näiteks on mul Exceli töölehel hulk andmeid, mis sisaldavad palju korduvaid kirjeid, nagu järgmine ekraanipilt. Seetõttu soovin dubleerivad read konsolideerida ja vastavad väärtused teises veerus liita. See on kindlasti tülikas, kui ma seda käsitsi teen. Seetõttu kasutan selle realiseerimiseks kahte järgmist viisi.
1. meetod: kasutage funktsiooni „Konsolideerimine”.
- Kõigepealt klõpsake tühjal lahtril, kuhu soovite ühendatud ja summeeritud andmed paigutada.
- Seejärel minge vahekaardile "Andmed" ja klõpsake nuppu "Konsolideeri".
- Hüpikdialoogiboksis veenduge, et kastis "Funktsioon" oleks valitud "Summa".
- Järgmiseks klõpsake nupul
nuppu.
- Hiljem valige vahemik, mida soovite konsolideerida, ja klõpsake
nuppu.
- Pärast seda klõpsake dialoogiboksis "Konsolideerimine" nuppu "Lisa".
- Seejärel märkige valikud "Ülemine rida" ja "Vasak veerg".
- Lõpuks klõpsake nuppu "OK".
- Korraga ühendatakse read, nagu on näidatud järgmisel ekraanipildil.
2. meetod: kasutage Exceli VBA koodi
- Kohe alguses valige soovitud vahemik.
- Seejärel käivitage VBA redaktor vastavalt "Kuidas Excelis VBA koodi käivitada".
- Järgmisena kopeerige järgmine VBA kood moodulisse.
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ärast seda vajutage selle makro käivitamiseks kohe nuppu F5.
- Kui makro on lõppenud, kuvatakse uus Exceli töövihik, milles näete liidetud ridu ja summeeritud andmeid, nagu alloleval pildil.
võrdlus
| Eelised | Puudused | |
| Meetod 1 | Lihtne kasutada | Kahte kõrvuti asetsevat veergu ei saa töödelda |
| Meetod 2 | 1. Mugav taaskasutamiseks | 1. VBA algajatele pisut raskesti mõistetav |
| 2. Ei aja algset Exceli lehte sassi, kuna see paneb liidetud andmed uude faili | 2. Kahte kõrvuti asetsevat veergu ei saa töödelda |
Kui puutute kokku Exceli krahhiga
Nagu me kõik teame, võib Excel aeg-ajalt kokku kukkuda. Sellisel juhul võib praegune Exceli fail halvimal juhul olla otse rikutud. Sel ajal ei jää teil muud üle, kui proovida Exceli taastamine. See nõuab, et paluksite abi spetsialistidelt või kasutage spetsiaalset Exceli parandustööriista, näiteks DataNumen Excel Repair.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas korrumpeerunud SQL Server ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom








