Tôi có một cột được định dạng văn bản như thế nào 20110408_2041
. Làm cách nào tôi có thể định dạng nó thành định dạng ngày / giờ?
Tôi có một cột được định dạng văn bản như thế nào 20110408_2041
. Làm cách nào tôi có thể định dạng nó thành định dạng ngày / giờ?
Câu trả lời:
Giả sử rằng chuỗi của bạn được mã hóa YYYMMDD_HHMM cho Năm, Tháng, Ngày, Giờ, Phút, sau đó bạn có thể xây dựng một công thức Excel để tạo một ô theo định dạng ngày / giờ.
Nếu chuỗi nằm trong ô A1, thì công thức này phải thực hiện:
=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)
Bạn sẽ cần định dạng ô đúng cách để xem phần thời gian. Điều này đã được thử nghiệm trong LibreScript calc, nhưng Excel dường như có các chức năng tương tự.
Giả sử toàn bộ định dạng là YYYYMMDD_HHMM
và giá trị đầu tiên như vậy nằm trong ô A1, bạn có thể sử dụng công thức sau trong B1:
=DATEVALUE(MID(A1,7,2) & "/" & MID(A1,5,2) & "/" & MID(A1,1,4)) + TIMEVALUE(MID(A1,10,2) & ":" & MID(A1,12,2))
Điều này tạo ra một số sê-ri ngày dựa trên DD / MM / YYYY bằng cách sử dụng hàm MID để thu thập từng phần và hàm DATEVALUE để trả về số sê-ri. Sau đó, nó thêm vào số sê-ri thời gian này sử dụng hàm MID theo cách tương tự để thu thập giờ và phút.
Sau đó, bạn có thể định dạng ô dưới dạng định dạng Ngày, định dạng Thời gian hoặc định dạng tùy chỉnh của dd / mm / yyyy hh: mm để xem kết quả cuối cùng. Chỉ cần nhấp chuột phải vào ô, chọn Định dạng ô sau đó định cấu hình tương tự như ảnh chụp màn hình bên dưới:
Đây là một ảnh chụp màn hình của kết quả cuối cùng:
Tôi có cùng một vấn đề và tôi chỉ làm một điều đơn giản:
=R1*1
trong S1, với định dạng được chọn là Thời gian, và nó đã hoạt động. Không có mã phức tạp hoặc bất cứ điều gì khác là cần thiết.
Bạn có thể làm điều đó bằng cách viết một tập lệnh nhỏ (ví dụ với C #) để đọc các chuỗi từ cột chuyển đổi chúng thành định dạng thời gian ngày và sau đó lưu chúng trở lại cột Excel.
Xin lỗi, tôi không biết nếu bạn có thể làm điều đó trực tiếp từ Excel.