Chuyển đổi định dạng ngày không được hỗ trợ (Microsoft Excel)
Không có gì lạ khi tải thông tin từ các chương trình khác vào Excel.
Ví dụ: bạn có thể có dữ liệu được tạo bởi một chương trình khác và bạn muốn phân tích dữ liệu đó trong Excel. Khi bạn nhập dữ liệu vào Excel, nó thực hiện khá tốt việc gán các kiểu dữ liệu thích hợp cho thông tin và thậm chí nó có thể phân tích cú pháp và chuyển đổi một số dữ liệu.
Tuy nhiên, khi nói đến ngày và giờ, không phải tất cả các chương trình đều nói theo cách mà Excel có thể hiểu được. Ví dụ: nếu chương trình khác của bạn lưu trữ ngày ở định dạng “Thứ Hai 10 tháng 1, 14:33:03 2011”, thì Excel sẽ không thể phân tích cú pháp ngày đó và bạn sẽ cần thực hiện chuyển đổi theo một số cách khác.
May mắn thay, hầu hết các chương trình đều tạo ngày và giờ của chúng ở định dạng tuân theo một mẫu. Ví dụ, giả sử rằng “Thứ Hai 10 tháng 1 14:33:03 2001” đại diện cho định dạng theo sau là tất cả các ngày, bạn có thể thực hiện chuyển đổi bằng công thức đơn giản:
=DATEVALUE(MID(A1,9,2)&MID(A1,5,3)&RIGHT(A1,4)) + TIMEVALUE(MID(A1,12,8))
Công thức này giả định rằng định dạng ngày / giờ ngoại lai nằm trong ô A1.
Chỉ cần định dạng kết quả của công thức bằng một trong các định dạng ngày / giờ của Excel và bạn sẽ không gặp vấn đề gì.
Nếu muốn, bạn có thể sử dụng hàm Text to Columns để chia định dạng ngày / giờ ngoại lai thành các phần không thể tách rời của nó:
-
Đảm bảo rằng có bốn cột trống ở bên phải của ngày / giờ.
Đây là nơi Excel sẽ đặt các phần khác nhau của ngày / giờ.
-
Chọn tất cả các ô có chứa ngày / giờ ngoại lai.
-
Chọn Văn bản thành Cột từ menu Dữ liệu. Excel khởi động Trình hướng dẫn Chuyển đổi Văn bản thành Cột. (Xem Hình 1.)
-
Đảm bảo rằng Delimited được chọn, sau đó nhấp vào Tiếp theo. Excel hiển thị bước thứ hai của trình hướng dẫn.
-
Đảm bảo rằng hộp kiểm Dấu cách được chọn.
-
Nhấp vào Kết thúc.
Ngày và giờ hiện được tách thành năm cột riêng lẻ. Bây giờ bạn có thể sử dụng công thức để đặt ngày / giờ hợp lệ lại với nhau. Ví dụ: giả sử rằng phiên bản bùng nổ của ngày / giờ nằm trong ô A1: E1, bạn có thể sử dụng như sau:
=(C1&B1&E1)+D2
Một lần nữa, hãy định dạng kết quả bằng cách sử dụng định dạng ngày / giờ và bạn đã sẵn sàng.
Nếu bạn muốn sử dụng macro để thực hiện chuyển đổi, thì macro sau sẽ đi qua tất cả các ô đã chọn và thực hiện chuyển đổi:
Sub ConvDate() Dim c As Range For Each c In Selection.Cells c = DateValue(Mid(c, 5, 6) & ", " _ & Mid(c, 21, 4)) + TimeValue(Mid(c, 12, 8)) c.NumberFormat = "dd MMMM yyyy h:mm:ss" Next c End Sub
Macro chuyển đổi chuỗi văn bản thành ngày / giờ có thể chấp nhận được (sử dụng DateValue) và sau đó định dạng ô để hiển thị thuộc tính giá trị.
_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 (3014) á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: