Cách Xóa Thời Gian Khỏi Ngày Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở Đầu

Trong công việc hàng ngày, chúng ta thường phải xử lý dữ liệu ngày tháng trong Microsoft Excel. Một trong những vấn đề phổ biến nhất là cách loại bỏ phần thời gian (time) khỏi giá trị ngày (date), đặc biệt khi dữ liệu được nhập từ các hệ thống khác nhau, hoặc khi chúng ta chỉ cần hiển thị ngày mà không quan tâm đến giờ, phút, giây.

Bài viết dưới đây sẽ cung cấp cho bạn hướng dẫn toàn diện, chi tiết và thực tế về cách xóa thời gian khỏi ngày trong Excel, bao gồm:

  • Nguyên lý hoạt động của ngày và thời gian trong Excel.
  • Các phương pháp nhanh chóng dùng công thức.
  • Sử dụng tính năng định dạng ô (Number Format).
  • Áp dụng hàm INT, TRUNC, DATE, TEXT, TEXTJOIN, VALUE và các hàm liên quan.
  • Xử lý dữ liệu hàng loạt bằng Power Query.
  • Tự động hoá qua VBA (Macro).
  • Một số lưu ý, lỗi thường gặp và cách khắc phục.

Hãy cùng khám phá từng bước một để bạn có thể xử lý dữ liệu ngày tháng một cách nhanh chóng, chính xác và hiệu quả.

1. Hiểu Rõ Cấu Trúc Ngày/Thời Gian Trong Excel

1.1. Excel Lưu Trữ Ngày Tháng Dưới Dạng Số Thực

Excel không lưu trữ ngày và thời gian dưới dạng chuỗi ký tự mà lưu thành một số thực:

  • Phần nguyên (integer) đại diện cho số ngày tính từ ngày 0/1/1900 (hoặc 0/1/1904 tùy theo hệ thống).
  • Phần thập phân (fraction) đại diện cho thời gian trong ngày, tính theo tỉ lệ 24 giờ.

Ví dụ:

Giá trị trong ôGiá trị thực (số)Ý nghĩa
01/01/20264520445204 ngày kể từ 1/1/1900, không có phần thập phân → không có thời gian
01/01/2026 12:3045204.5208333345204 ngày + 0.52083333 ngày (12h30)

Lưu ý: Khi bạn nhìn thấy một ô hiển thị “01/01/2026”, thực tế bên trong nó là một số (ví dụ 45204). Khi có thời gian, số sẽ có phần thập phân.

1.2. Tại Sao Phải Xóa Thời Gian?

  • Chuẩn hoá dữ liệu: Khi so sánh, lọc, hoặc thống kê, phần thời gian có thể gây ra sai lệch.
  • Hiển thị đẹp hơn: Đôi khi báo cáo chỉ cần ngày, không cần giờ.
  • Tích hợp với các hệ thống khác: Hệ thống nhập liệu có thể chỉ chấp nhận định dạng ngày.

2. Các Phương Pháp Xóa Thời Gian Khỏi Ngày

2.1. Định Dạng Ô (Number Format)

Đây là cách nhanh nhất, không thay đổi giá trị thực trong ô, chỉ thay đổi cách hiển thị.

2.1.1. Thực Hiện

  1. Chọn ô hoặc vùng dữ liệu chứa ngày có thời gian.
  2. Nhấn Ctrl + 1 (hoặc Right‑click → Format Cells).
  3. Vào tab Number → Date.
  4. Chọn định dạng ngày mong muốn, ví dụ dd/mm/yyyy.
  5. Nhấn OK.

Khi làm như vậy, ô vẫn chứa phần thập phân (thời gian), nhưng người dùng chỉ nhìn thấy ngày. Nếu bạn thực hiện các phép tính (ví dụ =A1+1), thời gian vẫn sẽ được tính.

2.1.2. Khi Nào Dùng

  • Khi không cần thay đổi giá trị thực.
  • Khi muốn giữ lại thời gian để sử dụng trong các công thức khác.

2.2. Sử Dụng Công Thức INT Hoặc TRUNC

Hai hàm này lấy phần nguyên của số thực, tức là loại bỏ phần thập phân (thời gian).

2.2.1. Cú Pháp

  • =INT(A1) – Lấy phần nguyên (làm tròn xuống) của ô A1.
  • =TRUNC(A1) – Tương tự INT, nhưng có thể chỉ định số chữ số thập phân (mặc định 0).

2.2.2. Ví Dụ

Ô ACông thứcKết quả
45204.52083333 (01/01/2026 12:30)=INT(A1)45204 → hiển thị “01/01/2026”
45204.9999 (01/01/2026 23:59)=TRUNC(A1)45204 → “01/01/2026”

2.2.3. Áp Dụng

  • Copy‑Paste Giá Trị: Sau khi nhập công thức, copy cột mới → Paste Special → Values → Đè lên cột gốc nếu muốn.
  • Kết hợp với TEXT: Để hiển thị ngay trong công thức: =TEXT(INT(A1),"dd/mm/yyyy").

2.2.4. Lưu Ý

  • Nếu ngày gốc có giá trị âm (trước 1900), INT sẽ làm tròn xuống (tức là -1.2 → -2). TRUNC sẽ cắt bỏ phần thập phân (tức -1.2 → -1). Đối với dữ liệu ngày âm, nên dùng TRUNC.

2.3. Hàm DATE Kết Hợp Với YEAR, MONTH, DAY

Bạn có thể tái tạo ngày chỉ dựa trên các thành phần ngày, bỏ qua thời gian.

2.3.1. Công Thức

=DATE(YEAR(A1), MONTH(A1), DAY(A1))

2.3.2. Giải Thích

  • YEAR(A1), MONTH(A1), DAY(A1) trả về các thành phần ngày.
  • DATE tạo lại một giá trị ngày không có thời gian.

2.3.3. Ưu Điểm

  • An toàn khi dữ liệu có giá trị ngày không hợp lệ (ví dụ 29/02/2026). Hàm DATE sẽ trả về lỗi #VALUE! nếu ngày không tồn tại, giúp bạn phát hiện lỗi sớm.
  • Dễ đọc trong công thức, thích hợp cho báo cáo.

2.3.4. Nhược Điểm

  • Yêu cầu ba hàm phụ → có thể chậm hơn khi xử lý hàng triệu dòng.

2.4. Hàm TEXT Để Chuyển Đổi Sang Chuỗi

Nếu bạn muốn biến ngày thành chuỗi mà không có thời gian, TEXT là lựa chọn.

=TEXT(A1,"dd/mm/yyyy")
  • Kết quả là một chuỗi ký tự, không còn là ngày thực. Điều này có nghĩa là không thể thực hiện các phép tính ngày (cộng, trừ) trực tiếp trên kết quả này, trừ khi chuyển lại bằng DATEVALUE.

Khi Nào Dùng

  • Khi xuất dữ liệu ra các hệ thống không hỗ trợ kiểu ngày của Excel.
  • Khi định dạng báo cáo cần dạng văn bản cố định.

2.5. Hàm VALUE Kết Hợp Với TEXT

Nếu bạn đã dùng TEXT để loại bỏ thời gian, nhưng muốn đưa lại thành ngày thực (để tính toán), dùng VALUE.

=VALUE(TEXT(A1,"dd/mm/yyyy"))
  • TEXT tạo chuỗi “01/01/2026”.
  • VALUE chuyển chuỗi này thành số ngày 45204.

2.6. Xử Lý Hàng Loạt Bằng Power Query

Khi dữ liệu có hàng nghìn, hàng triệu dòng, việc dùng công thức có thể làm tệp Excel chậm. Power Query (Get & Transform) cung cấp công cụ mạnh mẽ để xóa thời gian trong quá trình tải dữ liệu.

2.6.1. Các Bước Cơ Bản

  1. Select dữ liệu → Data → From Table/Range (hoặc từ nguồn khác như CSV, SQL).
  2. Trong Power Query Editor, chọn cột ngày.
  3. Right‑click → Change Type → Using Locale… → Chọn Date (không có Time). Hoặc:
  4. Add Column → Date → Date Only (tạo cột mới chỉ chứa ngày).
  5. Close & Load → Dữ liệu sẽ được tải lại vào Excel dưới dạng Table hoặc Connection.

2.6.2. Ưu Điểm

  • Không thay đổi dữ liệu gốc; mọi thay đổi được lưu trong query.
  • Tự động cập nhật khi nguồn dữ liệu thay đổi.
  • Hiệu năng cao cho khối lượng lớn.

2.6.3. Lưu Ý

  • Khi nguồn dữ liệu chứa giá trị không phải ngày (text), Power Query sẽ trả về null; cần xử lý trước (replace errors).

2.7. Tự Động Hoá Bằng VBA (Macro)

Excel Remove Time From Date
Excel Remove Time From Date

Đối với các tác vụ lặp lại hoặc định dạng file, viết macro VBA có thể tiết kiệm thời gian.

2.7.1. Mã VBA Cơ Bản

Sub RemoveTimeFromDate() Dim rng As Range, cell As Range ' Chọn vùng dữ liệu; thay đổi "A2:A1000" tùy nhu cầu Set rng = ThisWorkbook.Sheets("Sheet1").Range("A2:A1000") Application.ScreenUpdating = False For Each cell In rng If IsDate(cell.Value) Then cell.Value = Int(cell.Value) ' Loại bỏ thời gian cell.NumberFormat = "dd/mm/yyyy" End If Next cell Application.ScreenUpdating = True
End Sub
  • Giải thích: Vòng lặp duyệt từng ô, kiểm tra nếu là ngày (IsDate), dùng Int để bỏ thời gian và định dạng lại hiển thị.
  • Tùy chỉnh: Thay Range và NumberFormat để phù hợp với ngôn ngữ và định dạng mong muốn.

2.7.2. Khi Nào Dùng

  • Khi cần xử lý nhiều sheet, hoặc định dạng tự động sau khi nhập dữ liệu.
  • Khi người dùng không quen với công thức.

3. So Sánh Các Phương Pháp

Phương phápThay đổi giá trị thực?Dễ thực hiệnPhù hợp với dữ liệu lớnĐộ linh hoạtGhi chú
Định dạng ôKhôngRất cao (Ctrl+1)Có, nhưng vẫn giữ dữ liệu thôThấp (chỉ hiển thị)Không dùng cho tính toán
INT / TRUNCCó (cắt phần thập phân)CaoTrung bình (công thức)Trung bìnhCần copy‑paste giá trị nếu muốn ghi đè
DATE(YEAR,MONTH,DAY)CóTrung bìnhTrung bìnhCao (kiểm tra lỗi ngày)Đảm bảo ngày hợp lệ
TEXT + VALUECó (chuyển qua chuỗi rồi lại)Trung bìnhThấp (tạo chuỗi)ThấpKhông dùng cho tính toán trực tiếp
Power QueryKhông (tạo cột mới)Trung bình (giao diện)Rất caoCaoThích hợp cho dữ liệu >10k dòng
VBA MacroCó (Int)Trung bình (code)Rất caoCaoTự động hoá, cần kích hoạt macro

Kết luận: Nếu bạn chỉ cần hiển thị ngày, dùng định dạng ô. Nếu cần thực hiện tính toán và dữ liệu không quá lớn, dùng INT, TRUNC hoặc DATE(YEAR,MONTH,DAY). Đối với tập dữ liệu lớn hoặc muốn tự động hoá, hãy cân nhắc Power Query hoặc VBA.

4. Các Tình Huống Thực Tế & Giải Pháp

4.1. Nhập Dữ Liệu Từ Hệ Thống ERP

  • Vấn đề: ERP xuất CSV chứa ngày dạng 2026-01-01 00:00:00. Khi mở trong Excel, ô hiển thị 01/01/2026 00:00:00.
  • Giải pháp: Khi import, dùng Power Query → Transform → Data Type → Date → Loại bỏ thời gian. Hoặc dùng =INT(A2) sau khi load.

4.2. So Sánh Hai Cột Ngày Được Nhập Bằng Các Định Dạng Khác

  • Cột A: 01/01/2026 (không thời gian).
  • Cột B: 01/01/2026 12:00 (có thời gian).
  • Mục tiêu: Đánh dấu các dòng trùng ngày.

Công thức:

=IF(INT(A2)=INT(B2),"Trùng","Khác")

Hoặc:

=IF(DATE(YEAR(A2),MONTH(A2),DAY(A2))=DATE(YEAR(B2),MONTH(B2),DAY(B2)),"Trùng","Khác")

4.3. Tính Khoảng Cách Ngày Khi Dữ Liệu Có Thời Gian

  • Dữ liệu: Ngày giao hàng (có thời gian) và Ngày lập đơn (có thời gian).
  • Yêu cầu: Tính số ngày làm việc (không tính giờ).

Công thức:

=INT(C2)-INT(B2)

Hoặc:

=DATEDIF(INT(B2),INT(C2),"d")

4.4. Xử Lý Ngày Trong PivotTable

PivotTable tự động gộp ngày nếu chúng có cùng giá trị ngày thực, bất kể thời gian. Tuy nhiên, nếu thời gian khác nhau, Excel sẽ coi chúng là giá trị khác.

Cách giải: Trước khi tạo PivotTable, tạo một cột trợ giúp:

=INT(@Ngày giao hàng)

Sau đó, dùng cột này làm trường Row/Column trong PivotTable.

4.5. Định Dạng Ngày Động Trong Báo Cáo

Khi báo cáo cần hiển thị ngày hiện tại không có thời gian, dùng:

=TEXT(TODAY(),"dd/mm/yyyy")

Hoặc trong VBA:

Range("A1").Value = Date
Range("A1").NumberFormat = "dd/mm/yyyy"

5. Các Lỗi Thường Gặp Khi Xử Lý Ngày

LỗiNguyên nhânCách khắc phục
#VALUE!Hàm DATE nhận ngày không hợp lệ (ví dụ 31/02).Kiểm tra dữ liệu nguồn, dùng IFERROR hoặc DATEVALUE để chuyển.
#NUM!Sử dụng INT trên giá trị không phải số (text).Đảm bảo cột đã được convert sang Date hoặc Number.
Thời gian vẫn hiển thị sau INTÔ chưa được định dạng lại (vẫn hiển thị định dạng datetime).Đặt NumberFormat = "dd/mm/yyyy" hoặc định dạng ô lại.
Khi copy‑paste, mất công thứcDán giá trị thay vì công thức.Dùng Paste Special → Values để giữ kết quả, hoặc Paste → Formulas nếu muốn công thức.
Power Query không nhận dạng ngàyDữ liệu dạng text không chuẩn (ví dụ “2026/01/01 12:00”).Trong Power Query, dùng Transform → Using Locale hoặc Split Column để tách ngày và thời gian.

6. Thực Hành: Bài Tập Tự Làm

Bài 1: Bạn có cột A chứa ngày giờ dạng dd/mm/yyyy hh:mm. Hãy tạo cột B chỉ hiển thị ngày, dùng ba cách khác nhau (công thức, định dạng, Power Query). Kiểm chứng rằng các giá trị trong B đều bằng INT(A).

Bài 2: Dữ liệu C chứa ngày tháng dạng text "2026-01-01 08:00" (ISO). Chuyển chúng thành ngày thực không thời gian trong Excel.

Gợi ý: Dùng =DATEVALUE(LEFT(C2,10)) hoặc Power Query → Split Column → Date Only.

Bài 3: Viết macro VBA để tự động xóa thời gian cho toàn bộ cột D trong sheet hiện tại và định dạng lại thành yyyy-mm-dd.

7. Kết Luận

Việc xóa thời gian khỏi ngày trong Excel không chỉ là một thao tác thẩm mỹ mà còn là bước quan trọng để chuẩn hoá dữ liệu, tránh lỗi tính toán và tạo ra các báo cáo chuyên nghiệp. Từ định dạng ô đơn giản, công thức mạnh mẽ (INT, TRUNC, DATE…), tới công cụ nâng cao như Power Query và VBA, bạn có rất nhiều lựa chọn tùy vào:

  • Mức độ phức tạp của dữ liệu.
  • Khối lượng bản ghi.
  • Mục tiêu cuối cùng (hiển thị, tính toán, xuất dữ liệu).

Hãy lựa chọn phương pháp phù hợp, áp dụng đúng quy trình và luôn kiểm tra lại kết quả để đảm bảo dữ liệu của bạn luôn chính xác. Khi bạn đã thành thạo các kỹ thuật trên, việc xử lý ngày tháng trong Excel sẽ trở nên nhẹ nhàng, nhanh chóng và đáng tin cậy.

Mở rộng: Nếu bạn muốn tìm hiểu sâu hơn về định dạng ngày quốc tế, điều kiện định dạng (Conditional Formatting) cho ngày quá hạn, hoặc tự động cập nhật ngày hiện tại trong báo cáo, hãy tiếp tục khám phá các tài liệu chuyên sâu và thực hành thường xuyên.

Chúc bạn thành công trong công việc và luôn làm việc hiệu quả với Excel!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận