Luis nhận được ngày ở định dạng “04A09” trong đó hai chữ số đầu tiên là ngày, chữ cái ở giữa là tháng (A là tháng Giêng, B là tháng Hai, C là tháng Ba, v.v.) và hai chữ số cuối cùng là năm. Anh ta cần chuyển đổi các ngày được mã hóa này thành các giá trị ngày thông thường mà anh ta có thể làm việc với trong Excel.

Điều lớn nhất làm cho định dạng ngày này không theo tiêu chuẩn là việc sử dụng ký tự chữ cái cho tháng. Vì vậy, việc đầu tiên cần làm là tìm cách chuyển ký tự đó thành tháng số. Đây là nơi mà hàm CODE có thể hữu ích; nó trả về mã ASCII cho ký tự. Chữ A trả về giá trị 65, B trả về 66, v.v. Vì vậy, tất cả những gì bạn cần làm để chuyển các ký tự thành các số từ 1 đến 12 là sử dụng một cái gì đó như sau:

=CODE(UPPER(MID(A1,3,1)))-64

Hàm UPPER được sử dụng để chuyển đổi ký tự tháng thành chữ hoa, đề phòng trường hợp mã cho phép ký tự viết thường trong tháng.

Một cách khác để chuyển đổi các tháng là sử dụng hàm FIND, theo cách này:

=FIND(UPPER(MID(A1,3,1)),"ABCDEFGHIJKL",1)

Kỹ thuật này tìm ký tự trong chuỗi chữ cái và trả về giá trị bù trong chuỗi đó, từ 1 đến 12.

Sau đó, có thể sử dụng một trong hai phương pháp chuyển đổi tháng bên trong hàm DATE để trả về ngày dựa trên năm, tháng và ngày. Ví dụ này sử dụng phương thức CODE, nhưng bạn có thể dễ dàng sử dụng phương thức FIND:

=DATE(2000+RIGHT(A1,2),CODE(UPPER(MID(A1,3,1)))-64,LEFT(A1,2))

Nếu có khả năng các ngày được mã hóa có thể bao gồm một số ngày trước năm 2000, thì việc sử dụng hàm DATEVALUE để ghép ngày lại với nhau sẽ cho kết quả chính xác hơn:

=DATEVALUE(CODE(UPPER(MID(A1,3,1)))-64&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

Nếu bạn sử dụng phương pháp DATEVALUE, hãy hiểu rằng công thức trả về số sê-ri ngày và bạn sẽ cần định dạng ô để hiển thị ngày như bạn muốn.

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

Mẹo này (7163) á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: