Sử dụng Ngày có hai ký tự trong tuần ở định dạng ngày (Microsoft Excel)
Công việc của Raymond yêu cầu anh phải định dạng ngày tháng để chúng hiển thị theo những gì anh tin là một định dạng khá kỳ quặc. Ví dụ: nếu một ô chứa ngày 20/10/19, thì ô đó cần hiển thị là “SU 10/20”, không có dấu ngoặc kép. (SU là đại diện hai ký tự của ngày trong tuần, trong trường hợp này là Chủ nhật.) Raymond tự hỏi liệu có cách nào để làm điều này, có lẽ, là một định dạng tùy chỉnh.
Không có cách nào để làm điều này chính xác bằng cách sử dụng một định dạng tùy chỉnh. Lý do là không có mã nào ở các định dạng tùy chỉnh cho phép bạn tạo một ngày gồm hai ký tự trong tuần. Gần nhất có thể được thực hiện ở định dạng tùy chỉnh là cho một ngày ba ký tự trong tuần:
ddd m/d
Mặc dù vậy, điều đó có một chút sai lệch vì nó sẽ không viết hoa ngày có ba ký tự trong tuần.
Vì vậy, điều đó dẫn chúng ta đến việc sử dụng công thức để tìm ra ngày tháng đã định dạng.
Nếu bạn có ngày trong ô A1, bạn có thể sử dụng công thức sau:
=LEFT(UPPER(TEXT(A1,"ddd")), 2) & " " & TEXT(A1,"m/d")
Điều này sử dụng hàm TEXT để trả về, đầu tiên, ngày có ba ký tự trong tuần được chuyển đổi thành chữ hoa bằng cách sử dụng công thức UPPER. Sau đó, hàm LEFT được sử dụng để lấy hai ký tự đầu tiên của ngày trong tuần đó, sau đó được thêm vào tổ hợp tháng / ngày. Điều này trả lại chính xác những gì Raymond muốn.
Nhược điểm khi sử dụng phương pháp này là ngày được công thức trả về là văn bản; nó không phải là một ngày thực tế. Nếu chúng tôi có thể sử dụng định dạng tùy chỉnh, giá trị ngày cơ bản sẽ không thay đổi.
Tuy nhiên, đây sẽ là trường hợp cho bất kỳ định dạng ngày kỳ lạ nào như thế này.
Vì nhược điểm tiềm ẩn này, bạn có thể muốn giữ lại ngày thực tế dưới dạng ngày tháng, ngay cả khi nó nằm trong cột ẩn hoặc trang tính ẩn.
Bạn cũng có thể, nếu muốn, tạo một macro sẽ trả về một chuỗi có ngày tháng được định dạng. Đây là một chức năng đơn giản do người dùng định nghĩa:
Function FmtDate(d As Date) As String Dim s As String s = UCase(Left(WeekdayName(Weekday(d)), 2)) s = s & " " & Format(d, "m/d") FmtDate = s End Sub
Sau đó, bạn có thể sử dụng hàm theo cách sau trong trang tính của mình:
=FmtDate(A1)
Điều này giả sử ngày tháng nằm trong A1 và hàm trả về một chuỗi ngày tháng được định dạng như Raymond mong muốn.
_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 (13704) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.