Quando si sviluppa una cartella di lavoro, potrebbe essere necessario inserire suffissi come “st, nd, rd o th” alla fine delle date, come in “9 marzo”.

Sfortunatamente, non è possibile farlo utilizzando i formati di data incorporati che puoi applicare alle singole celle. È possibile creare formati personalizzati per ciascuno dei quattro tipi di suffisso, se lo si desidera, ma dovrebbero essere applicati individualmente in base al contenuto della cella stessa.

L’unica altra opzione è utilizzare una sorta di formula di conversione. Questi sono abbastanza facili da mettere insieme, ma la cella risultante non conterrà una vera data di Excel, ma del testo. Ciò preclude l’utilizzo del contenuto della cella in altre funzioni relative alla data. Quello che segue è un esempio del tipo di formula di conversione che puoi usare:

=DAY(A1)&IF(OR(DAY(A1)={1,2,3,21,22,23,31}), CHOOSE(1*RIGHT(DAY(A1),1),"st","nd ","rd "),"th")

&TEXT(A1,"mmmm, yyyy")

Ce ne sono altri, ma essenzialmente fanno tutti la stessa cosa: separare le varie parti di una data e rimetterle insieme con il suffisso appropriato.

Se preferisci, puoi anche creare una funzione macro che restituisca una data formattata correttamente, con il suffisso ordinale. La seguente è una di queste macro:

Function OrdinalDate(myDate As Date)

Dim dDate As Integer     Dim dText As String     Dim mDate As Integer     Dim mmmText As String

dDate = Day(myDate)

mDate = Month(myDate)



Select Case dDate         Case 1: dText = "st"

Case 2: dText = "nd"

Case 3: dText = "rd"

Case 21: dText = "st"

Case 22: dText = "nd"

Case 23: dText = "rd"

Case 31: dText = "st"

Case Else: dText = "th"

End Select

Select Case mDate         Case 1: mmmText = " January"

Case 2: mmmText = " February"

Case 3: mmmText = " March"

Case 4: mmmText = " April"

Case 5: mmmText = " May"

Case 6: mmmText = " June"

Case 7: mmmText = " July"

Case 8: mmmText = " August"

Case 9: mmmText = " September"

Case 10: mmmText = " October"

Case 11: mmmText = " November"

Case 12: mmmText = " December"

End Select

OrdinalDate = dDate & dText & mmmText End Function

Si utilizza la macro semplicemente invocandola all’interno di una formula di cella. Ad esempio, se hai una data memorizzata nella cella B7, puoi utilizzare quanto segue in qualsiasi altra cella:

=OrdinalDate(B7)

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (10033) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: