Funzione DROP in Excel: rimuovere righe e colonne senza modificare i dati originali
Importante: DROP richiede almeno l’argomento dell’array e almeno uno tra le quantità di righe o colonne da rimuovere. I risultati sono dinamici e possono “spillare” in celle adiacenti; non possono essere usati direttamente in colonne di una tabella strutturata.

Link rapidi
- Sintassi di DROP
- Esempi: come usare DROP
- Usare DROP con altre funzioni
- Guida rapida, checklist e casi di test
Panoramica veloce
DROP è uno strumento semplice ma potente per creare una vista derivata di un dataset: si dice “rimuovere dai bordi” perché può eliminare solo righe/colonne all’esterno dell’array (alto, basso, sinistra, destra). Utile per anonimizzare colonne, escludere top/bottom N, creare set di test/train, ecc.
Versioni: disponibile in Excel per Microsoft 365, Excel per il web e le app mobili/tablet.

Microsoft 365 Personal
Sistemi operativi: Windows, macOS, iPhone, iPad, Android
Prova gratuita: 1 mese
Microsoft 365 include Word, Excel e PowerPoint su più dispositivi e 1 TB di OneDrive.
Prezzo stimato: 100 USD su Microsoft
Sintassi di DROP
La sintassi base è:
=DROP(a,b,c)Dove:
- a è l’array (o il riferimento alla tabella) da cui vuoi rimuovere righe/colonne.
- b è il numero di righe da rimuovere. Un numero positivo rimuove righe dall’alto; un numero negativo rimuove righe dal basso.
- c è il numero di colonne da rimuovere. Un numero positivo rimuove colonne da sinistra; un numero negativo rimuove colonne da destra.
Regole e note pratiche:
- L’argomento a è obbligatorio; almeno uno tra b e c deve essere fornito.
- Se b o c supera il numero di righe/colonne nell’array vedrai l’errore CALC!.
- DROP è una funzione di array dinamico: i risultati si estendono (spill) nelle celle vicine. Non può essere fatta spillare dentro una tabella strutturata.
Esempi pratici: la funzione DROP in azione
In tutti gli esempi seguenti useremo tabelle Excel di esempio con colonne: ID studente (colonna A), Genere (B), Classe (C), Punteggio (D). Per replicare gli esempi scarica la cartella di lavoro di esempio ed esegui gli esercizi in fogli separati.

Suggerimento pratico: estrarre dati da tabelle strutturate è spesso più semplice rispetto a intervalli normali perché i riferimenti strutturati aggiornano automaticamente le nuove righe.
Esercizio 1: rimuovere le righe dall’inizio dell’array
Scenario: vuoi un nuovo dataset con tutti gli studenti che non sono nella top 10. Prima ordina la tabella per punteggio: clicca sul filtro nell’intestazione della colonna e scegli “Ordina dal più grande al più piccolo”.

Una formula che rimuove le prime 10 righe:
=DROP(T_Stud,10)Dove T_Stud è la tabella di origine e 10 è il numero di righe da rimuovere dall’alto. L’argomento c è omesso per mantenere tutte le colonne.
Per rendere la soluzione dinamica, evita i valori codificati. Metti il valore 10 in una cella, per esempio H1, e usa:
=DROP(T_Stud,H1)Ora modificando H1 cambi immediatamente il numero di righe rimosse.

Esercizio 2: rimuovere le righe dalla fine dell’array
Per rimuovere righe dalla fine, usa un numero negativo per b. Per mostrare tutti gli studenti eccetto gli ultimi 10, dopo aver ordinato la tabella T_Stud2 in ordine decrescente per punteggio e inserito 10 in H1, usa:
=DROP(T_Stud2,-H1)Il segno meno davanti a H1 rende il valore negativo.

Esercizio 3: rimuovere colonne da sinistra
Se vuoi anonimizzare i dati rimuovendo la prima colonna (ID studente) dalla tabella T_Stud3, usa:
=DROP(T_Stud3,,1)La formula salta l’argomento b e specifica solo c = 1.

Esercizio 4: rimuovere colonne da destra
Per ottenere solo ID, Genere e Classe senza il Punteggio (ultima colonna) nella tabella T_Stud4:
=DROP(T_Stud4,,-1)Un c negativo rimuove le colonne a destra. Se più colonne venissero aggiunte a destra del punteggio, sarebbero comunque rimosse.

Esercizio 5: rimuovere righe e colonne contemporaneamente
Per ottenere ID e Genere degli studenti che non sono negli ultimi 10 della tabella T_Stud5, ordina per punteggio e poi usa:
=DROP(T_Stud5,-H1,-2)Qui -H1 rimuove le ultime 10 righe e -2 rimuove le due colonne più a destra.

Usare DROP con altre funzioni dinamiche
DROP brilla quando viene annidata con altre funzioni di array dinamico come SORT, VSTACK, HSTACK, CHOOSECOLS o CHOOSEROWS.
Esercizio 6: ordinare e rimuovere contemporaneamente
Per assicurare che il risultato sia sempre ordinato per punteggio indipendentemente dall’ordinamento della tabella sorgente, annida SORT dentro DROP. Esempio con T_Stud6:
=DROP(SORT(T_Stud6,4,-1),-H1,1)Dove:
- 4 indica la quarta colonna (Punteggio),
- -1 indica ordine decrescente,
- -H1 rimuove le ultime 10 righe,
- 1 rimuove la prima colonna.

Anche se la tabella sorgente viene riordinata per Classe, il risultato rimarrà ordinato per Punteggio.

Esercizio 7: combinare più tabelle e rimuovere
Supponiamo che ogni classe abbia la sua tabella: T_Blue, T_Green, T_Yellow. Per ottenere tutti gli studenti non nella top 10 tra le classi, usa VSTACK per unire e poi SORT + DROP:
=DROP(SORT(VSTACK(T_Blue,T_Green,T_Yellow),3,-1),G1)Qui VSTACK concatena verticalmente le tabelle, SORT ordina per la terza colonna (Punteggio), e DROP rimuove le prime G1 righe.

Per dati impilati orizzontalmente, usa HSTACK nello stesso modo.
Esercizio 8: rimuovere sui dati selezionati e ritagliare ulteriormente
Se vuoi estrarre solo la colonna Classe da T_Stud8, ordinarla per punteggio e rimuovere le ultime 10 righe:
=DROP(CHOOSECOLS(SORT(T_Stud8,4,-1),3),-I1)Nota: quando annidi CHOOSECOLS dentro DROP puoi specificare solo il numero di righe da rimuovere (b). Se annidi CHOOSEROWS, puoi specificare solo colonne da rimuovere (c). Questo evita ambiguità tra le funzioni.

Confronto rapido: DROP vs TAKE
Dove DROP rimuove dai bordi, TAKE conserva dai bordi. Entrambe condividono la stessa sintassi e logica di segno per indicare alto/basso o sinistra/destra.
Tabella di confronto (riassunto):
- DROP(a,b,c): rimuove b righe e c colonne
- TAKE(a,b,c): mantiene b righe e c colonne
Scelta pratica: usa DROP per escludere top/bottom/edge; usa TAKE per isolare una porzione iniziale o finale.
Strategie, regole empiriche e modelli mentali
- Modello mentale “bordo e clip”: pensa a DROP come a delle forbici che tagliano il bordo di una matrice.
- Heuristics:
- Se rimuovi sempre la stessa quantità, mettila in una cella di controllo (es. H1) per modifiche rapide.
- Per evitare dipendenze dall’ordinamento della tabella sorgente, annida SORT prima di DROP.
- Per unire più dataset prima di filtrare, usa VSTACK/HSTACK.
- Quando usare valori negativi: negativo = rimuovere dal fondo/destro; positivo = rimuovere da cima/sinistra.
Esempi di fallimento e casi limite
- Errore CALC! se provi a rimuovere più righe/colonne di quelle presenti nell’array.
- Spill non possibile dentro una tabella strutturata: assicurati di inserire la formula in una cella fuori da tabelle.
- Ambiguità se annidi CHOOSECOLS/CHOOSEROWS: ricordati delle limitazioni descritte sopra.
- DROP non può rimuovere righe/colonne da posizioni interne (non è uno strumento di eliminazione selettiva): per rimuovere righe interne, usa FILTRO o formule basate su INDEX/SEQUENZA.
Checklist per ruoli (Data Analyst, Manager, Sviluppatore Excel)
Per il Data Analyst:
- Verificare che i riferimenti siano tabelle strutturate o intervalli coerenti.
- Mettere parametri come N (numero di righe/colonne) in celle di controllo.
- Usare SORT per garantire l’ordinamento desiderato.
Per il Manager che condivide report:
- Controllare che i risultati siano dinamici e non sovrascrivano dati.
- Documentare la cella di controllo per modifiche rapide.
Per lo Sviluppatore Excel/Automazione:
- Inserire commenti/istruzioni vicino alle celle di controllo.
- Definire test automatici per confermare che DROP non generi CALC! in condizioni edge.
Piccola metodologia: come progettare una vista derivata con DROP (passi rapidi)
- Identifica la porzione da rimuovere (top N, bottom N, colonne sensibili).
- Metti N in una cella di controllo.
- Se necessario, annida SORT per l’ordinamento desiderato.
- Usa VSTACK/HSTACK se devi unire fonti prima di rimuovere.
- Posiziona la formula fuori da tabelle per permettere lo spill.
- Verifica errori edge (CALC!, riferimenti vuoti).
Test case e criteri di accettazione
Casi di test consigliati (acceptance):
- Inserire N = 0: DROP restituisce l’array originale.
- N positivo <= numero di righe/colonne: risultato corretto (le righe/colonne corrette sono rimosse).
- N > dimensione dell’array: la formula deve restituire CALC!.
- Usare -N per rimuovere dal fondo/destra: controllare che il comportamento sia coerente.
- Annidare SORT: verificare che l’ordine risulti corretto indipendentemente dall’ordine sorgente.
Esempi di configurazioni rapide e cheat sheet
Formule comuni:
- Rimuovere prime 5 righe: =DROP(Range,5)
- Rimuovere ultime 5 righe: =DROP(Range,-5)
- Rimuovere prima colonna: =DROP(Tabella,,1)
- Rimuovere ultime 2 colonne: =DROP(Tabella,,-2)
- Unire 3 tabelle, ordinare per colonna 3 e rimuovere prime 10 righe: =DROP(SORT(VSTACK(T1,T2,T3),3,-1),10)
Snippet per anonimizzazione (rimuovere ID):
=DROP(T_Data,,1)Snippet per creare set di test (escludere top 20):
=DROP(SORT(T_Data,4,-1),20)Matrice di decisione veloce
- Voglio rimuovere dati dai bordi? => usa DROP
- Voglio mantenere solo le prime/ultime righe? => usa TAKE
- Voglio rimuovere righe interne in base a una condizione? => usa FILTRO
- Devo unire più tabelle prima di filtrare? => usa VSTACK/HSTACK
Diagramma decisionale (Mermaid)
flowchart TD
A[Hai bisogno di tagliare i bordi di un array?] -->|Sì| B{Vuoi mantenere o rimuovere?}
B -->|Rimuovere| C[Usa DROP]
B -->|Mantenere| D[Usa TAKE]
A -->|No, devo filtrare condizioni| E[Usa FILTRO]
C --> F{Devi unire più fonti?}
F -->|Sì| G[Usa VSTACK/HSTACK prima di DROP]
F -->|No| H[Annida SORT se hai bisogno di ordinare]Problemi comuni e soluzioni
Problema: ottengo CALC! dopo aver cambiato il parametro N.
- Soluzione: controlla che N non sia maggiore della dimensione dell’array; aggiungi una funzione MIN per limitare N: =DROP(Range,MIN(H1,ROWS(Range)))
Problema: la formula non “spill”.
- Soluzione: verifica che la cella di destinazione non sia all’interno di una tabella; cancella eventuali contenuti nelle celle di spill.
Problema: voglio rimuovere righe interne.
- Soluzione: usa FILTRO con una condizione oppure combina INDEX e SEQUENZA per ricostruire la sequenza desiderata.
Sicurezza e privacy
- Quando usi DROP per anonimizzare dati (rimuovere ID), verifica che eventuali colonne sensibili non siano duplicate altrove nel foglio.
- DROP agisce solo sui dati restituiti; non elimina i dati sorgente. Se hai vincoli di privacy sul file sorgente, gestisci controlli di accesso sul file.
Esempi avanzati e varianti d’uso
- Generare set di training/test casuali: puoi combinare RANDARRAY con SORTBY e poi usare DROP/TAKE per separare i due insiemi.
- Rimuovere headline o footer da esportazioni: usa DROP per scartare le prime o ultime righe importate da CSV.
- Estrazione di colonne selezionate e trimming: CHOOSECOLS + DROP è utile per estrarre colonne specifiche e poi rimuovere righe di coda.
Sommario e raccomandazioni finali
DROP è una funzione semplice da padroneggiare ma estremamente utile in pipeline di trasformazione dati leggere dentro Excel. Usala insieme a SORT, VSTACK e CHOOSECOLS per creare viste riciclabili e facilmente parametrizzabili.
Punti chiave:
- Usa celle di controllo per N (es. H1) per flessibilità.
- Annida SORT se l’ordinamento del risultato deve essere indipendente dalla tabella sorgente.
- Evita lo spill dentro tabelle strutturate: inserisci la formula in celle libere.
Ulteriore lettura: la funzione TAKE è l’opposto di DROP: una volta che hai imparato una, è semplice adattarsi all’altra.