Come convertire rapidamente una data in parole in Excel?
In generale, di solito convertiamo la data in altri formati di data o cifre in Excel, ma ti sei mai imbattuto in un problema relativo alla conversione della data in parole inglesi come mostrato nello screenshot sottostante? In realtà, non esiste una funzione incorporata che possa gestirla, ma solo un codice VBA.
Converti la data in parole con una Funzione Definita
Converti la data in parole con una Funzione Definita
Ecco un codice macro che può aiutarti a convertire le date in parole.
1. Abilita il foglio di lavoro che stai utilizzando e premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo e incolla il codice sottostante nello script.
VBA: Converti la data in parole
Function DateToWords(ByVal xRgVal As Date) As String
' Update by Extendoffice on 20240926
Dim xYear As String
Dim Hundreds As String
Dim Decades As String
Dim xTensArr As Variant
Dim xOrdArr As Variant
Dim xCardArr As Variant
' Initialize arrays
xOrdArr = Array("First", "Second", "Third", "Fourth", "Fifth", "Sixth", _
"Seventh", "Eighth", "Ninth", "Tenth", "Eleventh", "Twelfth", _
"Thirteenth", "Fourteenth", "Fifteenth", "Sixteenth", _
"Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", _
"Twenty-first", "Twenty-second", "Twenty-third", "Twenty-fourth", _
"Twenty-fifth", "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", _
"Twenty-ninth", "Thirtieth", "Thirty-first")
xCardArr = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", _
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", _
"Seventeen", "Eighteen", "Nineteen")
xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
' Extract year
xYear = CStr(Year(xRgVal))
Decades = Mid$(xYear, 3)
' Handle decades
If CInt(Decades) < 20 Then
Decades = xCardArr(CInt(Decades))
Else
Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & xCardArr(CInt(Right$(Decades, 1)))
End If
' Handle hundreds
Hundreds = Mid$(xYear, 2, 1)
If CInt(Hundreds) Then
Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
Else
Hundreds = ""
End If
' Construct English representation of the date
DateToWords = xOrdArr(Day(xRgVal) - 1) & " " & Format$(xRgVal, "mmmm") & " " & _
xCardArr(CInt(Left$(xYear, 1))) & " Thousand " & Hundreds & Decades
End Function
3. Salva il codice e torna al foglio di lavoro, seleziona una cella in cui vuoi ottenere il risultato, digita questa formula =DateToWords(A2) (A2 è la data che utilizzi), premi Invio e trascina la maniglia di riempimento automatico sulle celle di cui hai bisogno. Vedi screenshot:
Sblocca la comodità di convertire istantaneamente i numeri in parole in Excel con la funzione Numeri in Parole di Kutools per Excel, risparmiandoti tempo e fatica nella creazione di documenti dall'aspetto professionale senza sforzo!
Articoli Correlati:
- Come convertire rapidamente il formato della data tra Europeo e Statunitense in Excel?
- Come convertire gg.MM.aaaa in formato data (MM/GG/AAAA) in Excel?
- Come convertire tra Data e Timestamp Unix in Excel?
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura 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 tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!