Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để nhanh chóng chuyển đổi ngày thành từ trong Excel?

Nói chung, chúng ta thường chuyển đổi ngày tháng sang các định dạng ngày tháng hoặc chữ số khác trong Excel, nhưng bạn đã bao giờ gặp sự cố về việc chuyển đổi ngày tháng sang các từ tiếng Anh như hình minh họa bên dưới chưa? Trên thực tế, không có chức năng tích hợp nào có thể xử lý nó ngoài một mã VBA.
ngày doc đến từ 1

Chuyển đổi ngày thành từng từ với Hàm xác định


Chuyển đổi ngày thành từng từ với Hàm xác định

Đây là một đoạn mã macro có thể giúp bạn chuyển đổi ngày tháng sang từ ngữ.

1. Bật trang tính bạn sử dụng và nhấn Alt + F11 chìa khóa để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đun và dán mã bên dưới vào tập lệnh.

VBA: Chuyển ngày thành từ

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

ngày doc đến từ 2

3. Lưu mã và quay lại trang tính, chọn một ô mà bạn sẽ xuất kết quả, nhập công thức này = DateToWords (A1) (A1 là ngày bạn sử dụng), nhấn đăng ký hạng mục thi và kéo chốt tự động điền vào các ô bạn cần. Xem ảnh chụp màn hình:
ngày doc đến từ 3


Số thành từ

doc đánh vần số 1

Các bài báo tương đối:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (23)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
datetowords Công thức không hoạt động trong tất cả các tệp exall
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi, bạn có thể cho tôi biết loại tệp excel nào không hoạt động được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này đặt một dấu gạch ngang sau nhiều thập kỷ hơn 20 kết thúc bằng không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đã sửa dấu gạch nối sau 20, 30, 40, v.v.

Thêm cái này sau "If CInt (Decades) <20 then
Thập kỷ = xCardArr (CInt (Thập kỷ)) "

KhácNếu CInt (Thập kỷ) Giống như "* 0" Sau đó
Thập kỷ = xTensArr (CInt (Trái $ (Thập kỷ, 1)) - 2)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chà, công việc của nó, hay đấy, nhưng một số vấn đề về định dạng là ở đây, như năm 1975 (Mười chín nghìn bảy mươi lăm) không phải (Một nghìn chín trăm bảy mươi lăm), Nhưng trong trường hợp 20+ thì định dạng đúng là 2011 (Hai nghìn mười một ), và vấn đề thứ hai là (số ít / số nhiều), ở đây (Một nghìn, Hai nghìn, Một trăm, Chín trăm), Vui lòng giải quyết chúng, cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thông minh...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
công việc của nó tốt nhưng tôi muốn "Mười chín trăm" của năm 90 chứ không phải "Một nghìn chín trăm" ... cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi , zia khan, tôi không hiểu ý bạn là chuyển 90 thành mười chín trăm. VBA chỉ có thể chuyển đổi ngày thành từ, tính năng Split Out Number chuyển đổi số sang các từ đơn vị tiền tệ tiếng Anh
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
"Nineteen Hundred" được nói bằng tiếng Anh, thực ra nó sai.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, chúng tôi cũng có thể làm điều này trong word docx?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ngày đến từ trong ngôn ngữ gujarati có sẵn không? xin hãy trả lời tôi. 9427909038
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi nghĩ rằng nó không hoạt động cho các ngôn ngữ khác ngoại trừ tiếng Anh.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cách sử dụng mã này trong vb6 cho hộp văn bản
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ông / bà

Nó rất hữu ích cho tôi.

Thực sự tuyệt vời và đã giúp giải quyết vấn đề trong vòng một phút.

Cảm ơn bạn đã tải lên tài liệu này. Rất đẹp
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cảm ơn bạn đã giúp tôi. rất hữu ích trong việc chuyển đổi ngày sinh trong word
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn thêm văn bản vào đầu ra, ví dụ, năm 1958 được chuyển đổi thành Một nghìn chín trăm năm mươi tám và tôi muốn nó nói là Một nghìn mười chín trăm Năm muơi Tam. Ai đó có thể cho tôi một ví dụ về cách tôi có thể làm điều này được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó đang đưa ra #NAME? Lỗi
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
آپ کا بہت شکریہ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
07/08/1998 BẢY THÁNG XNUMX KỲ VỌNG TRĂM TÁM
Tôi cần dob thành các từ ở định dạng trên nhưng tôi sử dụng micro này trong excel, tôi đã nhận được điều này
07/08/1998 BẢY THÁNG XNUMX MỘT NGÀN HÀNG TRĂM NĂM TÁM KHÔNG hữu ích
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, MAX, tôi đã sửa đổi VBA, vui lòng thử và cho tôi biết nếu nó hoạt động. Cảm ơn.
Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Decades As String
    Dim years As String
    Dim xTensArr As Variant
    Dim xyearArr 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))
    
    
      xyearArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")

    years = xyearArr(CInt(Year(xRgVal) / 100)) & " Hundred"
    
    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

    DateToWords = UCase(xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  years & " " & Decades)
End Function

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
07/08/1998 BẢY THÁNG TÁM HAI TRĂM MƯƠI TÁM
Trong vba này có lỗi
chuyển đổi nó1998 nhưng nó hiển thị HAI TRĂM CHín MƯỜI TÁM
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, hãy thử vba này:
Function DateToWords(ByVal xRgVal As Date) As String
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Decades As String
    Dim years As String
    Dim xTensArr As Variant
    Dim xyearArr 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))
    
    
      xyearArr = Array("", "One", "Two", "Three", "Four", _
                   "Five", "Six", "Seven", "Eight", "Nine", _
                   "Ten", "Eleven", "Twelve", "Thirteen", _
                   "Fourteen", "Fifteen", "Sixteen", _
                   "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", _
               "Sixty", "Seventy", "Eighty", "Ninety")

    years = xyearArr(Fix(Year(xRgVal) / 100)) & " Hundred"
    
    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

    DateToWords = UCase(xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  years & " " & Decades)
End Function

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
07/08/1998 BẢY THÁNG TÁM HAI TRĂM MƯƠI TÁM
Trong vba này có lỗi
chuyển đổi nó1998 nhưng nó hiển thị HAI TRĂM CHín MƯỜI TÁM
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL