Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як швидко перетворити дату на слова в Excel?

Загалом, ми зазвичай перетворюємо дату в інші формати чи цифри дати в Excel, але чи стикалися ви з проблемою перетворення дати в англійські слова, як показано на знімку екрана нижче? Насправді, немає вбудованої функції, яка може це впоратись, крім коду VBA.
doc дата до слів 1

Перетворити дату в слово за допомогою визначеної функції


Перетворити дату в слово за допомогою визначеної функції

Ось макрокод, який допоможе вам перетворити дати на слова.

1. Увімкніть аркуш, який ви використовуєте, і натисніть Alt + F11 клавіші, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модулі і вставте нижче код у сценарій.

VBA: Перетворення дати в слово

Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Hundreds As String
    Dim Decades As String
    Dim xTensArr As Variant
    Dim xOrdArr As Variant
    Dim xCardArr As Variant
    xOrdArr = Array("First", "Second", "Third", _
                   "Fourth", "Fifth", "Sixth", _
                   "Seventh", "Eighth", "Nineth", _
                   "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-nineth", "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")
    xYear = CStr(Year(xRgVal))
    Decades = Mid$(xYear, 3)
    If CInt(Decades) < 20 Then
        Decades = xCardArr(CInt(Decades))
    Else
        Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & _
                xCardArr(CInt(Right$(Decades, 1)))
    End If
        Hundreds = Mid$(xYear, 2, 1)
    If CInt(Hundreds) Then
        Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
    Else
        Hundreds = ""
    End If
    DateToWords = xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  xCardArr(CInt(Left$(xYear, 1))) & _
                  " Thousand " & Hundreds & Decades
End Function

doc дата до слів 2

3. Збережіть код і поверніться до аркуша, виберіть клітинку, в якій буде виводитись результат, введіть цю формулу = DateToWords (A1) (A1 - дата, яку ви використовуєте), натисніть вводити клавішу та перетягніть маркер автоматичного заповнення до потрібних комірок. Дивіться знімок екрана:
doc дата до слів 3


Числа до слів

в документі викласти номер 1

Відносні статті:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    sheynes · 5 months ago
    I would like to add text to the output, for instance, 1958 gets converted to One Thousand Nineteen Hundred Fifty Eight and I would like it to say One Thousand Nineteen Hundred and Fifty Eight. Can someone give me an example of how I can do this please?
  • To post as a guest, your comment is unpublished.
    niraj · 6 months ago
    thank u for helping me . very useful in converting date of birth in word
  • To post as a guest, your comment is unpublished.
    JAYANTHI KRISHNAN · 1 years ago
    Sir/Madam

    It is very useful for me.

    Really Amazing and helped to solve the problem within a minute.

    Thank you for uploading this document. Very nice


  • To post as a guest, your comment is unpublished.
    rahul · 1 years ago
    how to use this code in vb6 for a textbox

  • To post as a guest, your comment is unpublished.
    Prajapati Gunvant · 2 years ago
    date to word in gujarati language avilable ? please answer me. 9427909038
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      I think it does not work for other languages except english.
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    Hello can we also do this in word docx?
  • To post as a guest, your comment is unpublished.
    kzia303@gmail.com · 3 years ago
    its work good but i want for 90's "Nineteen Hundred " not "One thousand Nine hundred "... thanks!
    • To post as a guest, your comment is unpublished.
      Arjun · 2 years ago
      "Nineteen Hundred" is spoken English, it's wrong actually.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Sorry, zia khan, I do not what you mean that convert 90 to nineteen hundred. The VBA only can convert date to words, the Split Out Number utiity convert numbers to English currency words
  • To post as a guest, your comment is unpublished.
    Alok Ghosh · 3 years ago
    Excellent...
  • To post as a guest, your comment is unpublished.
    arthurpwiggle@gmail.com · 3 years ago
    Fixed the hyphen after the 20, 30, 40, etc.

    Add this after "If CInt(Decades) < 20 Then
    Decades = xCardArr(CInt(Decades))"

    ElseIf CInt(Decades) Like "*0" Then
    Decades = xTensArr(CInt(Left$(Decades, 1)) - 2)
    • To post as a guest, your comment is unpublished.
      Shahzad Ahmad · 1 years ago
      Well, its work, nice, but some problems of format are here, as 1975 (Nineteen Thousands Seventy-Five) not (One Thousands Nine Hundred Seventy-Five), But in 20+ case the format is correct as 2011 (Two Thousands Eleven), and also the second problem is (singular/plural), here (One Thousands, Two Thousand, One Hundreds, Nine Hundred), Please solve these, thanks
  • To post as a guest, your comment is unpublished.
    Ben · 3 years ago
    This puts a hyphen after decades over 20 that end in zero.
  • To post as a guest, your comment is unpublished.
    Muhammad Hafiz · 3 years ago
    datetowords Formula has not working in all exall files

    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Sorry, could you tell me which type of excel files cannot work?