Analizuodami duomenis programoje „Excel“ galite pastebėti, kad juose yra kelios pasikartojančios eilutės. Tokiu atveju galbūt norėsite greitai konsoliduoti eilutes. Šis post pasiūlys 2 greitas priemones tai gauti.
Daugeliui vartotojų dažnai reikia sujungti pasikartojančias eilutes ir susumuoti atitinkamas reikšmes „Excel“. Pavyzdžiui, turiu daugybę duomenų „Excel“ darbalapyje, kuriame yra daug pasikartojančių įrašų, pvz., toliau pateiktoje ekrano kopijoje. Todėl noriu konsoliduoti pasikartojančias eilutes ir susumuoti atitinkamas reikšmes kitame stulpelyje. Tikrai bus sunku, jei tai padarysiu rankiniu būdu. Todėl naudoju šiuos 2 būdus, kaip tai įgyvendinti.
1 būdas: naudokite funkciją „Konsoliduoti“.
- Pirmiausia spustelėkite tuščią langelį, kuriame norite įdėti sujungtus ir suminius duomenis.
- Tada eikite į skirtuką „Duomenys“ ir spustelėkite mygtuką „Konsoliduoti“.
- Iššokančiajame dialogo lange įsitikinkite, kad lauke „Funkcija“ pasirinkta „Suma“.
- Tada spustelėkite mygtuką
mygtuką.
- Vėliau pasirinkite diapazoną, kurį norite konsoliduoti, ir spustelėkite
mygtuką.
- Po to dialogo lange „Consolidate“ spustelėkite mygtuką „Pridėti“.
- Tada pažymėkite parinktis „Viršutinė eilutė“ ir „Kairysis stulpelis“.
- Galiausiai spustelėkite mygtuką „Gerai“.
- Iš karto eilutės sujungiamos, kaip parodyta toliau esančioje ekrano kopijoje.
2 būdas: naudokite Excel VBA kodą
- Pačioje pradžioje pasirinkite norimą diapazoną.
- Tada suaktyvinkite VBA redaktorių pagal „Kaip paleisti VBA kodą „Excel“.".
- Tada nukopijuokite šį VBA kodą į 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
- Po to paspauskite „F5“, kad paleistumėte šią makrokomandą dabar.
- Kai makrokomanda bus baigta, bus rodoma nauja „Excel“ darbaknygė, kurioje matysite sujungtas eilutes ir susumuotus duomenis, kaip parodyta toliau pateiktame paveikslėlyje.
Palyginimas
| Privalumai | Trūkumai | |
| Metodas 1 | Lengva naudoti | Nepavyko apdoroti dviejų stulpelių, kurie nėra vienas šalia kito |
| Metodas 2 | 1. Patogus pakartotiniam naudojimui | 1. Šiek tiek sunku suprasti VBA naujokams |
| 2. Nesugadins originalaus „Excel“ lapo, nes sujungtus duomenis jis įtrauks į naują failą | 2. Nepavyksta apdoroti dviejų stulpelių, kurie nėra vienas šalia kito |
Susidūrus su „Excel“ gedimu
Kaip visi žinome, „Excel“ retkarčiais gali užstrigti. Esant tokioms aplinkybėms, blogiausiu atveju dabartinis „Excel“ failas gali būti tiesiogiai sugadintas. Tuo metu jūs neturite kito pasirinkimo, kaip tik pabandyti Excel atkūrimas. Tam reikia arba paprašyti specialistų pagalbos, arba pasinaudoti specializuotu Excel taisymo įrankiu, pvz., DataNumen Excel Repair.
Autoriaus įvadas:
Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant sugadintas SQL Server ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com








