Đơn giản nhất là bạn định dạng ô nhập theo dạng Text, đỡ phải dùng thêm ký tự '.
Cúng có cái bất tiện anh Hướng ơi, khi nhập phải nhập đủ thay vì chỉ cần nhập ngày tháng.
Việc nhập ngày tháng năm đã được Excel nhận dạng ngay từ đầu. Ví dụ bạn nhập 04/05/2012 theo dd/mm/yyyy thì sang máy khác nó cũng hiểu định dạng thời gian đó chỉ khác hiển thị (vẫn là ngày 4 thang 5 năm 2012 còn hiển thị là 05/04/2012)Mục đích của mình muốn thêm dấu ( ' ) vào phía trước ngày tháng là để khi chuyển file có chứa ngày tháng sang máy khác nó không bị chuyển đổi định dạng lung tung (VD: ở máy mình định dạng ngày tháng là 15/4/2012 ==> máy khác thành 4/15/2012; 4/1/2012 ==> 1/4/2012. Mình cũng đã thử chuyển ngày tháng từ máy mình thành dạng text nhưng sang máy khác nó vẫn bị chuyển định dạng, không mặc định được. .
Mình hiểu ý bạn, nó chỉ khác nhau về sự hiển thị nhưng đây lại là vấn đề lớn đối với mình vì với trường hợp ngày tháng năm sinh là 15/4/2012 => 4/15/2012 thì dễ hiểu được đâu là tháng đâu là ngày, tuy nhiên khi đặt công thức để tính tuổi với cách chuyển đổi là 4/15/2012 thì excel lại báo lỗi #Value. Còn trường hợp ngày 1/4/2012 => 4/1/2012 thì người xem khó hiểu đâu là ngày, đâu là tháng.Việc nhập ngày tháng năm đã được Excel nhận dạng ngay từ đầu. Ví dụ bạn nhập 04/05/2012 theo dd/mm/yyyy thì sang máy khác nó cũng hiểu định dạng thời gian đó chỉ khác hiển thị (vẫn là ngày 4 thang 5 năm 2012 còn hiển thị là 05/04/2012)
Bạn có thể thử với hàm Day(), Month() sẽ rõ. Bạn xem lại cách chuyển đổi định dạng của tiện ích bạn làm
Thân!
Cách này của bạn hay và ngắn gọn, nhưng như mình nói ở trên là đối tượng sử dụng máy vi tính ở chỗ mình không tốt lắm vì vậy việc hướng dẫn để maco hoạt động là khó khăn. Còn cách nào tối ưu hơn không các bạnPrivate Sub Workbook_Open() Sheet1.Range("A:A").Select Selection.NumberFormat = "dd/mm/yyyy" End Sub
Không phải mình muốn tìm ngày tháng năm sinh. mà minh muốn mặc định ngày tháng năm sinh với tất cả các máy. Bạn xem giúp mình với nhé. Cảm ơn nhiều.View attachment 92040Nói thì khó, bạn đưa File lên là tôt nhất. Gợi ý cho bạn, nếu chỉ là tìm ngày tháng năm sinh thì bạn đừng tìm theo kiể chuỗi như thế, khả năng sai là rất lớn. Bạn hãy dùng hàm Date (ví dụ: Date(2012,5,15)..) Với kiểu này thì bất cứ định dạng mặc định nào của máy tính dd/mm/yyyy hay mm/dd/yyyy cũng đều cho kết quả chính xác
Thân!
-phần Custom fomat (cái này chắc bạn biết)" ngày "dd" tháng "mm" năm "yyyy
Mình hiểu ý bạn, nó chỉ khác nhau về sự hiển thị nhưng đây lại là vấn đề lớn đối với mình vì với trường hợp ngày tháng năm sinh là 15/4/2012 => 4/15/2012 thì dễ hiểu được đâu là tháng đâu là ngày, tuy nhiên khi đặt công thức để tính tuổi với cách chuyển đổi là 4/15/2012 thì excel lại báo lỗi #Value. Còn trường hợp ngày 1/4/2012 => 4/1/2012 thì người xem khó hiểu đâu là ngày, đâu là tháng.
=IF(E6="","",DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"y")&"N/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"ym")&"T/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"md")&"Ng")
Dám cá với bạn không bao giờ có chuyện đó, ngoại trừ:
- Công thức của bạn sai
- Ngày tháng bạn nhập không đúng chuẩn Date
Còn lại thì ngày tháng cho dù có hiển thị thế nào thì nó vẫn không bao giờ ảnh hưởng đến độ chính xác của kết quả
--------------------
Nói thật là tôi rất lấy làm lạ tại sao vấn đề ngày tháng lại khiến các bạn dùng Excel lúng túng thế nhỉ?
Vấn đề mình hỏi là phát sinh từ thực tế mà bạn, mình đã chuyển tất cả ngày tháng thành dạng DATE rồi nhưng công thức vẫn không tính được. mình cũng đã thử chuyển ngày tháng thành dạng text nhưng khi sang máy khác vẫn bị sai định dạng mà mình mong muốn. Vì khó khăn như vậy mình rất mong nhận được sự giúp đỡ từ diễn đàn. Có lẽ phải dùng VBA vậy.