When analyzing the data in Excel, you may find it contains multiple duplicate rows. In this case, perhaps you’ll want to quickly consolidate the rows. This post will offer 2 quick means to get it.
Molti utenti hanno spesso bisogno di unire le righe duplicate e sommare i valori corrispondenti in Excel. Ad esempio, ho una serie di dati in un foglio di lavoro di Excel che contiene molte voci duplicate, come lo screenshot seguente. Quindi, desidero consolidare le righe duplicate e sommare i valori corrispondenti in un'altra colonna. Sarà sicuramente problematico se lo faccio manualmente. Pertanto, utilizzo i seguenti 2 modi per realizzarlo.
Metodo 1: utilizzare la funzione "Consolida".
- Prima di tutto, fai clic su una cella vuota in cui desideri inserire i dati uniti e sommati.
- Quindi, vai alla scheda "Dati" e fai clic sul pulsante "Consolida".
- Nella finestra di dialogo popup, assicurarsi che "Somma" sia selezionato nella casella "Funzione".
- Successivamente, fare clic sul
pulsante.
- Successivamente, seleziona l'intervallo che desideri consolidare e fai clic
pulsante.
- Successivamente, fai clic sul pulsante "Aggiungi" nella finestra di dialogo "Consolida".
- Successivamente, seleziona l'opzione "Riga superiore" e "Colonna sinistra".
- Infine, fai clic sul pulsante "OK".
- Immediatamente, le righe vengono consolidate, come mostrato nello screenshot seguente.
Metodo 2: utilizzare il codice VBA di Excel
- All'inizio, seleziona l'intervallo che desideri.
- Quindi, attiva l'editor VBA in base a "Come eseguire il codice VBA nel tuo Excel".
- Successivamente, copia il seguente codice VBA in un modulo.
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
- Successivamente, premi "F5" per eseguire questa macro ora.
- Al termine della macro, verrà visualizzata una nuova cartella di lavoro di Excel, in cui è possibile visualizzare le righe unite e i dati sommati, come nell'immagine sottostante.
Confronto
| Vantaggi | Svantaggi | |
| Metodo 1 | Facile da usare | Impossibile elaborare le due colonne non una accanto all'altra |
| Metodo 2 | 1. Conveniente per il riutilizzo | 1. Un po 'difficile da capire per i neofiti di VBA |
| 2. Non rovinerà il foglio Excel originale in quanto inserirà i dati uniti nel nuovo file | 2. Impossibile elaborare le due colonne non una accanto all'altra |
Quando si verifica un arresto anomalo di Excel
Come tutti sappiamo, Excel può bloccarsi di tanto in tanto. In questa circostanza, nel peggiore dei casi, il file Excel corrente potrebbe essere danneggiato direttamente. A quel punto, non hai altra scelta che tentare Recupero di Excel. Ti richiede di chiedere aiuto ai professionisti o di utilizzare uno strumento di riparazione di Excel specializzato, ad esempio DataNumen Excel Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui corrotto SQL Server e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com








