Как бързо да конвертирате дата в думи в Excel?
По принцип ние обикновено преобразуваме датата в други формати на дата или цифри в Excel, но срещали ли сте някога проблем с преобразуването на датата в английски думи, както е показано на екранната снимка по-долу? Всъщност няма вградена функция, която да може да го обработва, освен VBA код.
Преобразувайте дата в дума с дефинирана функция
Преобразувайте дата в дума с дефинирана функция
Ето един макро код, който може да ви направи услуга при преобразуването на дати в думи.
1. Активирайте листа, който използвате, и натиснете Alt + F11 бутони за отваряне Microsoft Visual Basic за приложения прозорец.
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) (А2 е датата, която използвате), натиснете Въведете и плъзнете манипулатора за автоматично попълване върху клетките, от които се нуждаете. Вижте екранна снимка:
Отключете удобството на незабавното преобразуване на числа в думи в Excel с функцията Kutools за Excel Числа в думи, спестявайки ви време и усилия за създаване на професионално изглеждащи документи без усилие!
Относителни статии:
- Как бързо да конвертирате формат на дата между европейски и американски в Excel?
- Как да конвертирате dD.MM.YYYY във формат на дата (mM/DD/YYYY) в Excel?
- Как да конвертирате между дата и Unix timestamp в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!