Как быстро преобразовать дату в слова в Excel?
Обычно мы привыкли преобразовывать дату в другие форматы дат или цифры в Excel, но сталкивались ли вы с задачей преобразования даты в английские слова, как показано на скриншоте ниже? На самом деле, в Excel нет встроенной функции для этого, кроме кода VBA.
Преобразование даты в слова с помощью определённой функции
Преобразование даты в слова с помощью определённой функции
Вот макрос, который поможет вам преобразовать даты в слова.
1. Откройте нужный лист и нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в сценарий.
VBA: Преобразование даты в слова
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. Сохраните код и вернитесь на лист, выберите ячейку, куда будет выведен результат, и введите эту формулу: =DateToWords(A2) (A2 — это используемая вами дата), затем нажмите Enter и перетащите маркер автозаполнения по всем необходимым ячейкам. Смотрите скриншот:
Раскройте удобство мгновенного преобразования чисел в слова в Excel с помощью функции «Преобразовать в слова» из Kutools для Excel, экономя ваше время и усилия при создании профессионально выглядящих документов без лишних хлопот!
Перейти к бесплатной загрузке прямо сейчас
Связанные статьи:
- Как быстро преобразовать формат даты между европейским и американским в Excel?
- Как преобразовать формат даты ДД.ММ.ГГГГ в формат (ММ/ДД/ГГГГ) в Excel?
- Как преобразовать дату и временные метки Unix в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!