Khi phát triển sổ làm việc, bạn có thể cần đặt các hậu tố như “st, nd, rd, hoặc th” vào cuối ngày, như trong “9 tháng 3”.

Thật không may, không có cách nào để thực hiện việc này bằng cách sử dụng các định dạng ngày có sẵn mà bạn có thể áp dụng cho các ô riêng lẻ. Bạn có thể tạo các định dạng tùy chỉnh cho từng loại trong số bốn loại hậu tố, nếu muốn, nhưng chúng sẽ phải được áp dụng riêng lẻ dựa trên nội dung của chính ô.

Tùy chọn khác duy nhất là sử dụng một số loại công thức chuyển đổi. Chúng đủ dễ để ghép lại với nhau, nhưng ô kết quả sẽ không chứa ngày tháng Excel thực sự mà là văn bản. Điều này ngăn không cho nội dung ô được sử dụng trong các chức năng khác liên quan đến ngày tháng. Sau đây là ví dụ về loại công thức chuyển đổi bạn có thể sử dụng:

=DAY(A1)&IF(OR(DAY(A1)={1,2,3,21,22,23,31}), CHOOSE(1*RIGHT(DAY(A1),1),"st","nd ","rd "),"th")

&TEXT(A1,"mmmm, yyyy")

Có những người khác, nhưng về cơ bản tất cả đều làm cùng một điều – kéo các phần khác nhau của ngày ra xa nhau và đặt chúng lại với nhau bằng hậu tố thích hợp.

Nếu muốn, bạn cũng có thể tạo một hàm macro trả về một ngày được định dạng đúng, với hậu tố thứ tự. Sau đây là một trong những macro như vậy:

Function OrdinalDate(myDate As Date)

Dim dDate As Integer     Dim dText As String     Dim mDate As Integer     Dim mmmText As String

dDate = Day(myDate)

mDate = Month(myDate)



Select Case dDate         Case 1: dText = "st"

Case 2: dText = "nd"

Case 3: dText = "rd"

Case 21: dText = "st"

Case 22: dText = "nd"

Case 23: dText = "rd"

Case 31: dText = "st"

Case Else: dText = "th"

End Select

Select Case mDate         Case 1: mmmText = " January"

Case 2: mmmText = " February"

Case 3: mmmText = " March"

Case 4: mmmText = " April"

Case 5: mmmText = " May"

Case 6: mmmText = " June"

Case 7: mmmText = " July"

Case 8: mmmText = " August"

Case 9: mmmText = " September"

Case 10: mmmText = " October"

Case 11: mmmText = " November"

Case 12: mmmText = " December"

End Select

OrdinalDate = dDate & dText & mmmText End Function

Bạn sử dụng macro bằng cách chỉ cần gọi nó trong một công thức ô. Ví dụ: nếu bạn có một ngày được lưu trữ trong ô B7, bạn có thể sử dụng thông tin sau trong bất kỳ ô nào khác:

=OrdinalDate(B7)

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2510) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: