Aggiunta della notazione ordinale alle date (Microsoft Excel)
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 c’è modo di 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ò impedisce 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 utilizzare:
=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 (2510) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: