Ordina i compleanni solo per mese in Excel - Guida completa
Normalmente, quando si utilizzano le funzionalità di ordinamento standard di Excel su una colonna contenente date di nascita, le voci vengono organizzate prima per anno, poi per mese e infine per giorno. Tuttavia, ci sono molte situazioni – come la creazione di un calendario dei compleanni, la pianificazione di riconoscimenti mensili o la generazione di promemoria per eventi – in cui ci interessa solo il mese, indipendentemente dall'anno. Ordinare i compleanni per mese (o anche per mese e giorno ignorando l'anno) rende molto più facile gestire queste liste e individuare rapidamente i compleanni imminenti. Questa guida passo-passo introduce diversi metodi e suggerimenti per ottimizzare l'ordinamento dei compleanni solo per mese in Excel, o anche per mese e giorno se necessario, soddisfacendo diverse esigenze pratiche.
- Ordina i compleanni solo per mese con una colonna ausiliaria
- Ordina i compleanni solo per mese con Kutools per Excel
- Codice VBA - Automatizza l'ordinamento dei compleanni solo per mese
- Formula Excel - Ordina i compleanni per mese e giorno con una colonna ausiliaria combinata
Ordina i compleanni solo per mese con una colonna ausiliaria
Uno dei modi più pratici e flessibili per ordinare i compleanni per mese in Excel è utilizzare una colonna ausiliaria. Questo metodo utilizza la funzione Mese incorporata di Excel per estrarre solo il valore del mese da ciascuna data, che può poi essere ordinato indipendentemente dall'anno. Questo approccio è adatto per gli utenti che desiderano un controllo visivo e preferiscono non utilizzare componenti aggiuntivi o macro ed è compatibile con tutte le versioni di Excel. Nota, tuttavia, che aggiungerai temporaneamente una nuova colonna al tuo foglio di lavoro.
1. In una colonna vuota accanto alla tua lista di date di nascita (supponendo che le tue date di nascita inizino nella cella B2), inserisci la formula seguente nella prima cella della colonna ausiliaria, come C2:
=MONTH(B2)
Questa formula estrae la parte del mese (come numero, da 1 a 12) dalla data nella cella B2. Se i tuoi dati iniziano altrove, regola i riferimenti di cella di conseguenza.
2. Trascina la Maniglia di Riempimento Automatico verso il basso per riempire la formula per tutte le righe contenenti date. Questo genererà i rispettivi numeri di mese per ogni compleanno. Vedi screenshot:

3. Seleziona tutte le celle nella colonna ausiliaria che hai appena creato (i numeri di mese). Nella barra multifunzione di Excel, vai su Dati > Ordina dal più piccolo al più grande o Ordina dal più grande al più piccolo a seconda dell'ordine che preferisci.

4. Quando viene visualizzata la finestra di dialogo "Avviso di ordinamento", assicurati di selezionare l'opzione Espandi la selezione in modo che l'intera riga (tutti i dati del compleanno) rimanga unita, quindi fai clic su Ordina.

I tuoi compleanni sono ora ordinati solo per mese, ignorando le informazioni sull'anno. Dopo aver confermato che l'ordinamento è corretto, puoi eliminare o nascondere la colonna ausiliaria temporanea se lo desideri.

Suggerimenti e promemoria:
- Se i tuoi dati contengono righe vuote, Excel le tratterà come 1/0 durante l'ordinamento, il che potrebbe portare a un ordine confuso—assicurati che la colonna sia completamente popolata o filtra gli spazi vuoti.
- Quando condividi o stampi, ricorda di nascondere o rimuovere la colonna ausiliaria per un risultato più pulito.
A volte, semplicemente ordinare per mese non è sufficiente; potresti dover organizzare i compleanni sia per mese che per giorno ignorando completamente l'anno—ad esempio, quando prepari un calendario di celebrazioni annuali. In questo caso, un approccio basato su una formula diversa funziona bene. In una cella vuota accanto alla tua prima data (ad esempio, C2), inserisci:
=TEXT(B2,"MMDD")
Questa formula converte la data in una stringa di quattro cifre che rappresenta il mese e il giorno (formato "MMGG"). Trascina la formula verso il basso per tutte le righe, quindi ordina come di consueto su questa colonna ausiliaria. Vedi screenshot:


Precauzioni:
- Se hai formati di data regionali o date non standard, verifica che il risultato della colonna ausiliaria corrisponda alle date previste prima di ordinare.
- Dopo l'ordinamento, potresti voler nascondere o cancellare questa colonna ausiliaria se non è più necessaria.
Ordina i compleanni solo per mese con Kutools per Excel
Se gestisci spesso grandi elenchi di compleanni e desideri un modo più rapido e diretto per ordinare per mese, utilizzare la funzione Ordinamento avanzato di Kutools per Excel può farti risparmiare notevole tempo. Kutools per Excel consente di ordinare direttamente per mese, giorno o persino giorno della settimana, senza dover impostare colonne ausiliarie o formule.
1. Seleziona l'intervallo che desideri ordinare per mese, quindi vai su Kutools Plus > Ordinamento avanzato dalla barra multifunzione. Vedi screenshot:
2. Nella finestra di dialogo Ordinamento avanzato, specifica la colonna dei compleanni sotto Colonna, scegli Mese dall'elenco a discesa Ordina per e seleziona l'ordine di ordinamento desiderato (crescente o decrescente). Fai clic su OK per applicare l'ordinamento. Vedi screenshot:

I compleanni sono ora ordinati rapidamente solo per mese. Non sono richieste colonne aggiuntive, rendendo questa soluzione particolarmente adatta per gli utenti che gestiscono regolarmente tali attività o preferiscono non modificare la struttura del foglio di calcolo.

Note:
- Se i tuoi dati sui compleanni includono voci duplicate o spazi vuoti, rivedi i risultati ordinati per confermare che tutti i dati corrispondano come previsto.
- Kutools per Excel supporta l'ordinamento in batch e molti altri filtri avanzati che possono ulteriormente migliorare il tuo flusso di lavoro quotidiano in Excel.
Codice VBA - Automatizza l'ordinamento dei compleanni solo per mese
Per gli utenti avanzati, o chiunque voglia automatizzare l'ordinamento dei compleanni per mese senza utilizzare colonne ausiliarie o componenti aggiuntivi di terze parti, una macro VBA può essere una soluzione efficiente e flessibile. Questo è particolarmente prezioso se aggiorni o importi nuove liste regolarmente e desideri un'azione con un solo clic per l'ordinamento.
Scenario applicabile: Ordina direttamente l'intervallo di date selezionato per mese senza aggiungere colonne extra. Consigliato per utenti intermedi di Excel o chiunque voglia velocizzare le attività ripetitive.
Limitazioni: L'esecuzione di questa macro modifica la sequenza basandosi solo sul mese. Ignora il giorno e l'anno, quindi se hai bisogno di un ordine più fine (mese e giorno), consulta ulteriori soluzioni di seguito.
1. Fai clic su Strumenti di sviluppo > Visual Basic. Nella finestra dell'editor VBA che si apre, scegli Inserisci > Modulo, quindi incolla il codice seguente nel modulo:
Sub SortByMonthOnly()
Dim rng As Range
Dim ws As Worksheet
Dim lastRow As Long
Dim sortCol As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Prompt user for the range
Set rng = Application.Selection
Set rng = Application.InputBox("Please select the range with birth dates to sort by month:", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
Set ws = rng.Worksheet
lastRow = rng.Rows.Count + rng.Row - 1
sortCol = rng.Columns(1).Address(False, False)
' Add a temporary helper column
ws.Columns(rng.Columns(rng.Columns.Count).Column + 1).Insert
ws.Cells(rng.Row, rng.Columns(rng.Columns.Count).Column + 1).Value = "MonthTmp"
ws.Range(ws.Cells(rng.Row + 1, rng.Columns(rng.Columns.Count).Column + 1), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).FormulaR1C1 = _
"=MONTH(" & sortCol & rng.Row & ")"
ws.Range(ws.Cells(rng.Row + 1, rng.Columns(rng.Columns.Count).Column + 1), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).Formula = _
"=MONTH(" & ws.Cells(rng.Row, rng.Columns(1).Column).Address(False, False) & ")"
ws.Range(ws.Cells(rng.Row, rng.Columns(1).Column), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).Sort _
Key1:=ws.Cells(rng.Row, rng.Columns(rng.Columns.Count).Column + 1), _
Order1:=xlAscending, Header:=xlYes
ws.Columns(rng.Columns(rng.Columns.Count).Column + 1).Delete
End Sub
2. Per eseguire il codice: Nella finestra VBA, fai clic sul pulsante Esegui . Una finestra di dialogo ti chiederà di selezionare l'intervallo dei compleanni. Scegli le tue celle di data e conferma. La macro ordinerà automaticamente l'intervallo in base al mese di ciascuna data.
Trappole e suggerimenti:
- Questa macro VBA ordina solo la colonna delle date selezionate, lasciando invariati i dati nelle colonne adiacenti.
- Esegui il backup dei tuoi dati prima di eseguire script VBA, poiché le azioni sono spesso irreversibili.
- Se ricevi un errore relativo a riferimenti non qualificati, verifica di aver selezionato solo la colonna delle date—se i tuoi dati includono intestazioni, includile nella selezione.
- Questa macro aggiunge e rimuove temporaneamente una colonna ausiliaria; se la formattazione è critica, rivedi le colonne dopo l'esecuzione.
Formula Excel - Ordina i compleanni per mese e giorno con una colonna ausiliaria combinata
Se hai bisogno di un ordinamento preciso dei compleanni sia per mese che per giorno (ignorando l'anno), utilizza questa formula in una colonna ausiliaria per creare un valore ordinabile che combini entrambi:
1. In una colonna vuota accanto alla tua lista di compleanni (ad esempio, cella C2), inserisci la seguente formula:
=MONTH(B2)&TEXT(DAY(B2),"00")
Questa formula estrae il mese come numero e il giorno come stringa di due cifre, concatenandoli (ad esempio, il 5 febbraio diventerà "205"). Questo assicura che i compleanni siano ordinati prima per mese, poi per giorni all'interno di ogni mese, indipendentemente dall'anno. Regola il riferimento (B2) se necessario per la posizione dei tuoi dati.
2. Dopo aver inserito la formula, premi Invio. Quindi, trascina la formula verso il basso per riempire tutte le righe. Con la nuova colonna ausiliaria compilata, ordina i dati per questa colonna (utilizzando Dati > Ordina). La tua lista di compleanni sarà ora organizzata accuratamente per mese e giorno.
Consigli pratici:
- Se i compleanni includono giorni a una cifra,
TEXT(DAY(B2),"00")
assicura "01", "02", ..., quindi l'ordinamento sarà sempre corretto. - Se necessario, nascondi o cancella la colonna ausiliaria dopo l'ordinamento per mantenere il foglio di lavoro ordinato.
Articoli correlati:
Ordina le celle per ultimo carattere o numero in Excel
Ordina nomi completi per cognome in Excel
Ordinamento automatico di una colonna per valore in Excel
I 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 oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in