Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Chia sẻ cách xử lý dữ liệu ngày tháng bị sai định dạng từ nhiều nguồn khác nhau

Vàng Kiệm Liêm 07/04/2026 05:44 168 lượt xem 3 trả lời

Chào mọi người,

Dạo này mình làm báo cáo tổng hợp từ nhiều nguồn dữ liệu khác nhau, mà khổ nỗi mỗi file lại có một định dạng ngày tháng riêng. Có file thì dd/mm/yyyy, có file lại mm-dd-yyyy, thậm chí có file còn yyyy/mm/dd hoặc yyyy-mm-dd. Nhập tay thì không khác gì cực hình, mà dùng hàm chuyển đổi cũng dễ sai sót.

Mình đã thử mấy cách nhưng vẫn chưa thấy tối ưu. Có ai trong diễn đàn có kinh nghiệm xử lý vụ này không? Chia sẻ cho mình với.

Hiện tại, mình đang áp dụng cách sau nhưng thấy hơi thủ công:

  • Bước 1: Copy toàn bộ dữ liệu ngày tháng vào một cột tạm.
  • Bước 2: Dùng tính năng 'Text to Columns' để phân tách các phần ngày, tháng, năm.
  • Bước 3: Dùng hàm DATE(year, month, day) để ghép lại theo định dạng chuẩn mong muốn.

Cách này tuy được nhưng mất thời gian với file nhiều dữ liệu. Không biết có cao nhân nào có hàm hay mẹo gì hay hơn không, ví dụ như tự động nhận diện định dạng rồi chuyển đổi luôn?

Rất mong nhận được sự giúp đỡ của mọi người!

5

Chào bạn,

Vụ dữ liệu ngày tháng này đúng là đau đầu thật! Mình cũng từng gặp trường hợp tương tự và tốn kha khá thời gian để xử lý.

Cách của bạn nghe có vẻ hơi "thủ công" thật. Mình có một cách khác dùng Power Query (trong Excel có sẵn đó) để xử lý vấn đề này khá hiệu quả. Bạn thử xem sao:

  1. Vào tab Data -> Get Data -> From File (chọn nguồn dữ liệu của bạn: Excel, Text/CSV...).
  2. Sau khi nạp dữ liệu vào Power Query Editor, bạn chọn cột ngày tháng, vào tab Transform, chọn Data Type và thử chọn Date. Power Query thường tự nhận diện được các định dạng phổ biến.
  3. Nếu nó vẫn báo lỗi, bạn có thể thử dùng hàm Date.FromText hoặc Date.From trong cột tùy chỉnh (Custom Column) để ép kiểu dữ liệu theo định dạng mong muốn.

Cách này giúp bạn tự động hóa quy trình, đỡ phải làm thủ công và giảm thiểu sai sót. Bạn đã thử dùng Power Query bao giờ chưa?

3

Cái vụ dữ liệu ngày tháng đúng là muôn hình vạn trạng thật bạn nhỉ! Mình hiểu cảm giác đó lắm, xử lý thủ công vừa tốn thời gian vừa dễ "lạc trôi".

Cách bạn đang làm có lẽ là "chắc ăn" nhất để không sai sót, nhưng đúng là không tối ưu về mặt thời gian thật. Mình cũng hay dùng Power Query như bạn kia chia sẻ, nó xử lý vụ này "ngon ơ". Tuy nhiên, đôi khi dữ liệu nó "củ chuối" quá, Power Query cũng bó tay.

Trong trường hợp đó, mình thường kết hợp Text to Columns với một chút "mẹo" nhỏ. 1. Chọn cột chứa ngày tháng. 2. Vào tab Data -> Text to Columns. 3. Chọn "Delimited" rồi chọn dấu phân cách phù hợp (ví dụ: /, -, /). 4. Ở bước cuối, bạn chọn định dạng "Date" và quan trọng là chọn đúng thứ tự Month/Day/Year hoặc Day/Month/Year tùy theo định dạng gốc của file.

Cách này cũng nhanh hơn nhập tay nhiều và khá linh hoạt. Bạn đã thử cách này chưa, hay còn cách nào "độc chiêu" hơn không?

3

Vụ dữ liệu ngày tháng này đúng là "ám ảnh" của dân văn phòng nhỉ! Mình cũng hay gặp tình huống này và tốn kha khá thời gian để làm cho nó "thẳng hàng".

Cách bạn đang làm tuy thủ công nhưng ít ra là đảm bảo đúng và đủ, mình hiểu điều đó. Cách dùng Text to Columns như bạn kia chia sẻ cũng khá hay, đặc biệt với những file có dấu phân cách rõ ràng.

Một cách khác mình hay áp dụng, đặc biệt khi các định dạng ngày tháng nó "trộn lẫn" lung tung và không có dấu phân cách cố định, là dùng một cột phụ kết hợp với hàm DATEVALUETEXT.

Ví dụ, nếu cột A chứa ngày tháng, bạn có thể thử ở cột B:

``excel =DATEVALUE(TEXT(A1,"mm/dd/yyyy")) ``

Rồi bạn phải "thử sai" một vài lần với các định dạng phổ biến như "mm/dd/yyyy", "dd/mm/yyyy", "yyyy/mm/dd" để xem hàm nào trả về kết quả đúng cho từng dòng dữ liệu. Sau đó, bạn có thể lọc ra những dòng nào trả về lỗi và xử lý riêng.

Cách này vẫn cần một chút "làm thủ công" để xác định đúng định dạng gốc, nhưng nó tự động hơn là gõ lại. Bạn thấy sao, có thử cách này chưa?

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký