¿Cómo convertir rápidamente una fecha a palabras en Excel?
Por lo general, solemos convertir la fecha a otros formatos de fecha u otros dígitos en Excel, pero ¿te has encontrado con un problema relacionado con la conversión de una fecha a palabras en inglés como se muestra en la captura de pantalla a continuación? En realidad, no hay una función integrada que pueda manejarlo, excepto mediante un código VBA.
Convertir fecha a palabras con Función Definida
Convertir fecha a palabras con Función Definida
Aquí tienes un código macro que puede ayudarte a convertir fechas a palabras.
1. Activa la hoja que estás utilizando y presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo y pega el siguiente código en el script.
VBA: Convertir fecha a palabras
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. Guarda el código y regresa a la hoja, selecciona una celda donde deseas obtener el resultado e introduce esta fórmula =DateToWords(A2) (A2 es la fecha que utilizas), presiona Enter y arrastra el controlador de autollenado sobre las celdas que necesitas. Ver captura de pantalla:
¡Desbloquea la comodidad de convertir instantáneamente números a palabras en Excel con la función Números a Palabras de Kutools para Excel, ahorrándote tiempo y esfuerzo al crear documentos con un aspecto profesional sin esfuerzo!
Artículos Relacionados:
- ¿Cómo convertir rápidamente el formato de fecha entre europeo y estadounidense en Excel?
- ¿Cómo convertir dD.MM.YYYY al formato de fecha (mM/DD/YYYY) en Excel?
- ¿Cómo convertir entre fecha y marca de tiempo Unix en Excel?
Las mejores herramientas de productividad para Office
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!