Come eliminare le celle vuote e spostare i dati a sinistra in Excel?
Lavorare con set di dati in Excel comporta spesso la presenza di celle vuote indesiderate sparse tra i dati. Questi spazi vuoti possono compromettere calcoli, ordinamenti e analisi, soprattutto quando è fondamentale mantenere le voci allineate in modo continuo e senza interruzioni. Rimuovere manualmente ogni cella vuota e spostare il contenuto residuo a sinistra può rivelarsi estremamente dispendioso in termini di tempo e soggetto a errori, specialmente con grandi volumi di dati. Questo tutorial presenta diversi metodi rapidi ed efficienti per eliminare le celle vuote all’interno di un intervallo dati e spostare automaticamente le celle rimanenti a sinistra, garantendo un foglio di lavoro ordinato e pronto per ulteriori elaborazioni o analisi. Le soluzioni proposte soddisfano esigenze diverse, a seconda che si preferiscano approcci manuali, basati su formule o automatizzabili tramite codice. Conoscere i punti di forza e i limiti di ciascun metodo permette di scegliere l’opzione più adatta alla propria situazione.
![]() | ![]() | ![]() |
Funzione Vai a - Elimina le celle vuote e Sposta a sinistra
Formula Excel - Rimuovi le celle vuote e sposta i dati a sinistra
Codice VBA - Elimina automaticamente le celle vuote e sposta i dati a sinistra
Funzione Vai a - Elimina le celle vuote e Sposta a sinistra
Quando si desidera eliminare le celle vuote e spostare i dati residui verso sinistra, Excel offre un metodo integrato rapido, ideale per intervalli relativamente piccoli e omogenei. Questo approccio è perfetto se si preferisce evitare formule o programmazione, ma si rivela più adatto a operazioni occasionali piuttosto che a soluzioni automatizzate o a set di dati molto ampi. Di seguito viene illustrata la procedura passo passo:
1. Seleziona l’intervallo di dati che contiene le celle vuote da rimuovere. Può trattarsi di una singola riga, più righe o un’intera area. Premi quindi Ctrl + G per aprire la finestra di dialogo Vai a. In questa finestra, fai clic su Speciale per affinare ulteriormente la selezione. Vedere lo screenshot:
2. Nella finestra di dialogo Vai a speciale, seleziona l’opzione Celle vuote e fai clic su OK. Questo passaggio evidenzia tutte le celle vuote presenti nel tuo intervallo selezionato. Vedere lo screenshot:
3. Con tutte le celle vuote ora selezionate, fai clic con il tasto destro su una qualsiasi di esse e scegli Elimina dal menu contestuale. Guarda lo screenshot:
4. Nella finestra di dialogo Elimina, seleziona l’opzione Sposta celle a sinistra e fai clic su OK. In questo modo, tutti i dati si spostano a sinistra, riempiendo ordinatamente gli spazi precedentemente occupati dalle celle vuote. Vedere lo screenshot:
Al termine di questi passaggi, le celle vuote saranno rimosse e i dati residui saranno spostati a sinistra, come illustrato di seguito:
![]() | ![]() | ![]() |
Formula Excel - Rimuovi le celle vuote e sposta i dati a sinistra
Quando serve una soluzione dinamica basata su formule – ad esempio per eliminare le celle vuote da righe o colonne e ottenere risultati che si aggiornano automaticamente al variare dei dati di origine – funzioni Excel come FILTRA (Excel 365 e Excel 2021) si rivelano estremamente efficaci. Questo approccio è ideale per generare un nuovo intervallo privo di celle vuote, lasciando intatti i dati originali e creando altrove nel foglio di lavoro una versione ripulita e compatta, spostata a sinistra.
Nota: Le formule disponibili dipendono dalla versione di Excel che utilizzi. La funzione FILTRA è disponibile solo nelle versioni più recenti, come Excel 365 e Excel 2021 o successive.
1. Supponiamo che i dati siano in A1:E10 (disposti orizzontalmente). Per creare una nuova riga senza celle vuote, seleziona una cella vuota in cui desideri visualizzare il risultato, ad esempio F1, e inserisci la seguente formula:
=FILTER(A1:E1, A1:E1 <> "") Questa formula raccoglie esclusivamente le celle non vuote dell’intervallo A1:E1 e le elenca allineate a sinistra a partire dalla cella F1.
2. Premere Invio e i dati non vuoti verranno popolati automaticamente verso sinistra nel nuovo intervallo. Trascinare quindi la formula o copiarla verso il basso.
Scenario applicabili: Questo metodo è ideale quando vuoi mantenere i tuoi dati di origine invariati e generare automaticamente un intervallo ripulito altrove. Tuttavia, presenta un limite: non sovrascrive i dati originali, ma ne fornisce una versione «virtualmente» spostata.
Suggerimento pratico: Se desideri conservare solo i valori nel nuovo intervallo, dopo aver applicato la formula, copia i risultati e usa Incolla speciale > Valori per sovrascrivere l’intervallo originale, se necessario. Assicurati sempre che i riferimenti di cella siano aggiornati quando copi formule in altre aree.
Codice VBA - Elimina automaticamente le celle vuote e sposta i dati a sinistra
Se si ha spesso la necessità di eliminare le celle vuote e spostare le voci residue a sinistra – soprattutto con set di dati ampi o irregolari – una macro VBA può automatizzare questa operazione ripetitiva. Questo approccio agisce direttamente sulle celle, rimuovendo fisicamente quelle vuote in modo che i dati risultino “compattati” a sinistra all’interno di ogni riga. Le macro fanno risparmiare tempo e aiutano a evitare errori manuali nella gestione di fogli di lavoro complessi.
1. Aprire l’Editor VBA facendo clic su Strumenti per sviluppatori > Visual Basic. Nella finestra Microsoft Visual Basic for Applications visualizzata, fare clic su Inserisci > Modulo e incollare il codice seguente nell’area del modulo:
Sub DeleteBlanksShiftLeft()
Dim WorkRng As Range
Dim RowRng As Range
Dim xTitleId As String
Dim i As Long, c As Long
Dim TempList As Collection
Dim Cell As Range
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Select range to process (rows will be processed individually):", xTitleId, WorkRng.Address, Type:=8)
On Error GoTo 0
If WorkRng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
' Process each row individually
For Each RowRng In WorkRng.Rows
Set TempList = New Collection
' Collect non-empty values in the row
For Each Cell In RowRng.Cells
If Trim(Cell.Value) <> "" Then
TempList.Add Cell.Value
End If
Next Cell
' Clear entire row first
RowRng.ClearContents
' Refill row with collected values from left to right
For i = 1 To TempList.Count
RowRng.Cells(1, i).Value = TempList(i)
Next i
Next RowRng
Application.ScreenUpdating = True
MsgBox "All blank cells in rows have been removed and values shifted left.", vbInformation
End Sub
2. Dopo aver inserito il codice, fai clic sul pulsante
oppure premi F5 per eseguire la macro. Quando richiesto, seleziona l’intervallo di destinazione: la macro elaborerà ogni riga, spostando a sinistra i valori per riempire le celle vuote e rimuovendole nel processo.
Scenario applicabili: Le macro sono perfette per utenti a proprio agio con l’attivazione e l’uso di VBA, soprattutto quando devono eliminare in modo routinario celle vuote da ampi intervalli o modelli riutilizzabili. Questo metodo modifica direttamente i dati originali, quindi ti consigliamo di eseguire un backup del foglio di lavoro prima di procedere. Fai attenzione se la struttura dei dati è irregolare o contiene formule: la macro opera sui valori e potrebbe compromettere le dipendenze sottostanti.
Suggerimento per la risoluzione dei problemi: Se ottieni risultati imprevisti, la causa potrebbe essere celle unite, formule attive o celle protette. Prima di eseguire la macro, assicurati di annullare l’unione delle celle, rimuovere le formule o sbloccare le celle, se necessario.
Suggerimento riassuntivo: Ogni volta che possibile, usa le formule per trasformazioni dinamiche e non distruttive dei dati e le macro per modifiche批量 direttamente sui dati. Salva sempre una copia dei dati prima di eseguire automazioni e verifica il risultato per assicurarti che il layout del foglio di lavoro sia rimasto conforme alle aspettative.
Inserimento in blocco di Righe vuote o colonne a intervalli specifici nell'intervallo Excel |
| Se si desidera inserire Righe vuote ogni due righe, potrebbe essere necessario farlo una per una, ma Inserisci righe/colonne vuotedi Kutools per Excelpuò risolvere questa operazione in pochi secondi.Fai clic per la prova gratuita di 30 giorni! |
![]() |
| Kutools per Excel: oltre 300 pratici componenti aggiuntivi per Excel, da provare gratuitamente e senza limitazioni per 30 giorni. |
Articoli correlati
- Come si fa a copiare e incollare solo le celle non vuote in Excel?
- Come contare i valori ignorando gli zeri e le celle vuote in Excel?
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi



