Có thể bạn quan tâm: Certificate Of Excellence Là Gì? – Khám Phá Ý Nghĩa, Loại Hình Và Cách Đạt Được Danh Hiệu Danh Giá
Lời mở đầu
Excel là một trong những công cụ mạnh mẽ nhất để xử lý dữ liệu, và ngày tháng là một trong những loại dữ liệu phổ biến mà người dùng thường gặp. Tuy nhiên, việc hiển thị ngày tháng đúng định dạng không chỉ giúp bảng tính trông chuyên nghiệp hơn mà còn ảnh hưởng trực tiếp tới việc tính toán, lọc, sắp xếp và phân tích dữ liệu. Trong bài viết này, chúng ta sẽ đi sâu vào cách thay đổi định dạng ngày (change format date in Excel), từ những thao tác cơ bản nhất cho đến các kỹ thuật nâng cao, bao gồm việc sử dụng hàm, tùy chỉnh định dạng người dùng, làm việc với dữ liệu đa ngôn ngữ và tự động hoá qua VBA.
Có thể bạn quan tâm: Cash Flow Forecast Template Excel: Hướng Dẫn Chi Tiết Từ A Đến Z Để Quản Lý Dòng Tiền Hiệu Quả
1. Kiến Thức Cơ Bản Về Định Dạng Ngày Trong Excel
1.1. Kiểu dữ liệu ngày trong Excel
- Ngày là một số nguyên: Trong Excel, ngày được lưu trữ dưới dạng một số nguyên, trong đó 1 đại diện cho ngày 1/1/1900 (đối với hệ thống Windows). Các ngày sau đó được tính bằng cách cộng thêm số ngày.
- Thời gian là phần thập phân: Thời gian được lưu trữ dưới dạng phần thập phân của một ngày, ví dụ 0.5 tương đương 12:00 PM.
1.2. Định dạng ngày mặc định
Khi nhập một giá trị ngày, Excel tự động nhận dạng và áp dụng định dạng mặc định dựa trên cài đặt khu vực (regional settings) của hệ thống. Ví dụ:
– Ở Việt Nam: dd/mm/yyyy (ngày/tháng/năm).
– Ở Mỹ: mm/dd/yyyy (tháng/ngày/năm).
Nếu muốn thay đổi cách hiển thị, chúng ta cần điều chỉnh định dạng ô.
Có thể bạn quan tâm: Cách Canh Đều Chữ Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Thay Đổi Định Dạng Ngày Cơ Bản
2.1. Sử dụng Ribbon (Thanh công cụ)
- Chọn ô hoặc vùng ô chứa ngày cần thay đổi.
- Vào tab Home → Number → Number Format (hình mũi tên nhỏ ở góc dưới bên phải của nhóm Number).
- Trong hộp thoại Format Cells, chọn Category là Date.
- Tại Locale (location), chọn ngôn ngữ/địa phương phù hợp (ví dụ: Vietnamese (Vietnam)).
- Chọn một trong các mẫu Type có sẵn (VD:
dd-mm-yyyy,dd mmmm yyyy,yyyy-mm-dd…). - Nhấn OK để áp dụng.
2.2. Sử dụng phím tắt
- Ctrl + 1: Mở nhanh hộp thoại Format Cells.
- Sau khi mở, thực hiện các bước như trên (Category → Date → Type).
2.3. Sử dụng thanh Quick Access Toolbar (QAT)
Bạn có thể thêm công cụ Number Format hoặc Short Date / Long Date vào QAT để thay đổi nhanh.
3. Định Dạng Ngày Tùy Chỉnh (Custom Date Format)
Khi các mẫu có sẵn không đáp ứng nhu cầu, bạn có thể tạo định dạng tùy chỉnh.
3.1. Các ký hiệu định dạng cơ bản
| Ký hiệu | Mô tả | Ví dụ |
|---|---|---|
d | Ngày không có số 0 đầu (1‑31) | d → 5 |
dd | Ngày có số 0 đầu (01‑31) | dd → 05 |
ddd | Tên ngày rút gọn (Mon, Tue) | ddd → Tue |
dddd | Tên ngày đầy đủ (Monday) | dddd → Tuesday |
m | Tháng không có số 0 (1‑12) | m → 7 |
mm | Tháng có số 0 (01‑12) | mm → 07 |
mmm | Tên tháng rút gọn (Jan, Feb) | mmm → Jul |
mmmm | Tên tháng đầy đủ (January) | mmmm → July |
yy | Năm 2 chữ số | yy → 23 |
yyyy | Năm 4 chữ số | yyyy → 2026 |
h | Giờ 12h không có số 0 | h → 9 |
hh | Giờ 12h có số 0 | hh → 09 |
H | Giờ 24h không có số 0 | H → 15 |
HH | Giờ 24h có số 0 | HH → 15 |
m (sau giờ) | Phút | mm → 07 |
s | Giây | ss → 05 |
AM/PM | Định dạng 12h | hh:mm AM/PM → 03:45 PM |
Lưu ý: Khi dùng
mcho tháng vàmcho phút, Excel sẽ phân biệt dựa trên vị trí trong chuỗi. Nếumđứng sauhhoặchh, nó được hiểu là phút.
3.2. Ví dụ thực tế
| Mục tiêu | Định dạng tùy chỉnh | Kết quả (giả sử ngày 15/09/2026) |
|---|---|---|
| Ngày/Tháng/Năm ngắn gọn | dd/mm/yy | 15/09/23 |
| Ngày tháng năm đầy đủ, tên tháng | dd mmmm yyyy | 15 September 2026 |
| Ngày dạng ISO (yyyy-mm-dd) | yyyy-mm-dd | 2026-09-15 |
| Tháng viết tắt + năm 2 chữ số | mmm-yy | Sep-23 |
| Thứ trong tuần + ngày | dddd, dd | Friday, 15 |
| Thời gian 24h + ngày | dd/mm/yyyy HH:mm | 15/09/2026 14:30 |
Cách thực hiện
- Chọn ô → Ctrl + 1 → Number → Custom.
- Nhập chuỗi định dạng vào Type.
- Nhấn OK.
4. Thay Đổi Định Dạng Ngày Dựa Trên Nội Dung Ô (Conditional Formatting)
Đôi khi bạn muốn hiển thị ngày theo màu sắc hoặc kiểu chữ khác nhau tùy thuộc vào giá trị ngày (ví dụ: ngày quá hạn, ngày sắp tới).
4.1. Bước thực hiện
- Chọn vùng ô chứa ngày.
- Vào Home → Conditional Formatting → New Rule.
- Chọn Use a formula to determine which cells to format.
- Nhập công thức, ví dụ:
=TODAY()-A2>30→ Đánh dấu các ngày đã quá 30 ngày so với hôm nay.- Nhấn Format → Chọn Number → Custom → Nhập định dạng, ví dụ:
dd/mm/yyyy;Reddd/mm/yyyy(đánh dấu màu đỏ). - Xác nhận và áp dụng.
4.2. Mẹo
- Sử dụng dấu chấm phẩy để phân biệt định dạng positive và negative trong một chuỗi (đối với số). Ví dụ:
dd/mm/yyyy;Reddd/mm/yyyysẽ hiển thị ngày bình thường, nhưng khi công thức trả về FALSE (điều kiện không thỏa), Excel sẽ áp dụng định dạng màu đỏ.
5. Sử Dụng Hàm Để Chuyển Đổi Định Dạng Ngày
5.1. Hàm TEXT
Cú pháp: =TEXT(value, "format_text")
- value: ô chứa ngày hoặc công thức trả về ngày.
- format_text: chuỗi định dạng (the same as custom format).
Ví dụ:
| Công thức | Kết quả |
|---|---|
=TEXT(A2, "dd-mmm-yyyy") | 15-Sep-2026 |
=TEXT(A2, "dddd, dd mmmm yyyy") | Friday, 15 September 2026 |
=TEXT(A2, "yyyy/mm/dd") | 2026/09/15 |
Lưu ý: Kết quả trả về là văn bản (text), không còn là ngày thực sự. Vì vậy, các phép tính ngày (như
=A2+1) sẽ không hoạt động trên kết quả này.
5.2. Hàm DATE, YEAR, MONTH, DAY
Khi muốn tái cấu trúc ngày từ các thành phần riêng lẻ:
=DATE(YEAR(A2), MONTH(A2)+1, DAY(A2))
Hàm trên sẽ cộng 1 tháng vào ngày trong ô A2, đồng thời tự động xử lý chuyển sang tháng tiếp theo nếu ngày vượt quá số ngày trong tháng.
5.3. Hàm TEXTJOIN + TEXT (kết hợp)
Khi cần hiển thị ngày trong một chuỗi dài:
=TEXTJOIN(" - ", TRUE, "Ngày:", TEXT(A2, "dd/mm/yyyy"), "Thứ:", TEXT(A2, "dddd"))
Kết quả: Ngày: 15/09/2026 - Thứ: Friday
6. Xử Lý Dữ Liệu Ngày Không Đồng Nhất (Mixed Date Formats)
Trong thực tế, khi nhập dữ liệu từ nhiều nguồn, chúng ta thường gặp định dạng ngày không đồng nhất (ví dụ: 2026-09-15, 15/09/2026, 09/15/2026). Dưới đây là các cách khắc phục:

Có thể bạn quan tâm: Cách Thay Đổi Định Dạng Ngày Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
6.1. Sử dụng Text to Columns
- Chọn cột chứa ngày.
- Vào Data → Text to Columns.
- Chọn Delimited → Next → bỏ chọn tất cả delimiters → Next.
- Trong Column data format, chọn Date và chọn định dạng phù hợp (MDY, DMY, YMD).
- Nhấn Finish.
6.2. Dùng hàm DATEVALUE
Nếu ngày ở dạng văn bản, hàm DATEVALUE sẽ chuyển thành ngày thực:
=DATEVALUE("15/09/2026") // trả về 45246 (số ngày từ 1/1/1900)
Khi dữ liệu có nhiều định dạng, bạn có thể kết hợp với IFERROR:
=IFERROR(DATEVALUE(A2), IFERROR(DATEVALUE(SUBSTITUTE(A2, "/", "-")), ""))
6.3. Power Query (Get & Transform)
Power Query cung cấp công cụ Data Type Detection mạnh mẽ:
- Chọn Data → Get Data → From Table/Range.
- Trong Power Query Editor, chọn cột ngày → Data Type → Date.
- Power Query sẽ tự động nhận dạng và chuyển đổi các định dạng khác nhau.
Sau khi hoàn thành, nhấn Close & Load để trả về Excel.
7. Định Dạng Ngày Đa Ngôn Ngữ và Địa Phương
7.1. Thay đổi Locale trong Format Cells
Khi làm việc với dữ liệu quốc tế, chúng ta cần chọn Locale phù hợp:
- Vietnamese (Vietnam) →
dd/mm/yyyyvà tháng viết tiếng Việt. - English (United Kingdom) →
dd/mm/yyyynhưng tháng tiếng Anh. - English (United States) →
mm/dd/yyyy.
Cách thực hiện: Ctrl + 1 → Number → Date → Locale (location) → chọn ngôn ngữ.
7.2. Sử dụng hàm TEXT với Locale
Trong Excel 2026 trở lên, hàm TEXT hỗ trợ locale code:
=TEXT(A2, "$-vi-VNdd mmmm yyyy")
Kết quả: 15 tháng 9 2026 (tiếng Việt).
7.3. Định dạng ngày trong Power Pivot / DAX
Khi dùng Power Pivot hoặc Power BI, định dạng ngày được kiểm soát qua Data Type và Format String trong DAX:
FORMAT(OrderDate, "dd mmm yyyy", "en-US")
8. Tự Động Hoá Thay Đổi Định Dạng Ngày Bằng VBA
Khi cần áp dụng định dạng cho hàng ngàn ô hoặc thực hiện các quy tắc phức tạp, VBA là giải pháp nhanh chóng.
8.1. Macro đơn giản: Định dạng toàn bộ cột A thành dd/mm/yyyy
Sub FormatDateColumnA() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws.Columns("A") .NumberFormat = "dd/mm/yyyy" End With
End Sub
8.2. Định dạng dựa trên điều kiện: Đánh dấu ngày quá hạn màu đỏ
Sub HighlightOverdue() Dim rng As Range, cell As Range Set rng = ThisWorkbook.Sheets("Sheet1").Range("B2:B1000") For Each cell In rng If IsDate(cell.Value) Then If cell.Value < Date Then cell.NumberFormat = "dd/mm/yyyy;Reddd/mm/yyyy" End If End If Next cell
End Sub
8.3. Chuyển đổi chuỗi ngày đa định dạng thành ngày thực
Function ConvertToDate(txt As String) As Date Dim dt As Date On Error GoTo ErrHandler ' Cố gắng DMY dt = DateValue(txt) ConvertToDate = dt Exit Function ErrHandler: ' Thử YMD dt = DateSerial(Mid(txt, 1, 4), Mid(txt, 6, 2), Mid(txt, 9, 2)) ConvertToDate = dt
End Function
Sau đó, trong sheet:
=ConvertToDate(A2)
8.4. Tự động áp dụng định dạng khi nhập dữ liệu (Worksheet_Change)
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Set rng = Intersect(Target, Me.Range("C:C")) ' Cột C chứa ngày If Not rng Is Nothing Then Dim cell As Range For Each cell In rng If IsDate(cell.Value) Then cell.NumberFormat = "$-vi-VNdd mmmm yyyy" End If Next cell End If
End Sub
Đoạn mã này sẽ tự động đổi định dạng sang tiếng Việt mỗi khi người dùng nhập ngày vào cột C.
9. Các Vấn Đề Thường Gặp Khi Làm Việc Với Định Dạng Ngày
| Vấn đề | Nguyên nhân | Giải pháp |
|---|---|---|
| Ngày hiển thị thành số (ví dụ: 45246) | Ô được định dạng General hoặc Number | Đổi lại Date hoặc Custom. |
| Ngày không thay đổi khi áp dụng định dạng | Dữ liệu thực tế là text (chuỗi) không phải ngày | Dùng DATEVALUE, Text to Columns, hoặc VBA để chuyển. |
| Excel hiểu sai ngày (ví dụ: 01/02/2026 thành 2/1/2026) | Locale không phù hợp, hoặc nhập theo định dạng khác | Thay đổi Locale trong Format Cells hoặc dùng DATE hàm để xây dựng lại. |
| Không thể sắp xếp theo ngày | Ngày ở dạng text | Chuyển sang dạng ngày thực bằng DATEVALUE hoặc Text to Columns. |
| Công thức trả về lỗi #VALUE! | Định dạng ngày không đồng nhất trong công thức | Kiểm tra và chuẩn hoá ngày trước khi tính toán. |
10. Thực Hành: 5 Bài Tập Thực Tế
Bài 1: Đổi toàn bộ cột B sang định dạng yyyy-mm-dd
- Chọn cột B.
Ctrl + 1→ Custom → nhậpyyyy-mm-dd.- Kiểm tra một vài ô để xác nhận.
Bài 2: Tạo cột C hiển thị ngày dưới dạng “Thứ …, ngày … tháng … năm …”
- Công thức:
excel =TEXT(A2, "$-vi-VNdddd, dd ""tháng"" mmmm ""năm"" yyyy") - Kéo công thức xuống toàn bộ cột.
Bài 3: Đánh dấu màu xanh các ngày trong tương lai (sau hôm nay)
- Chọn vùng ngày.
- Conditional Formatting → New Rule → Use a formula:
excel =A2>TODAY() - Định dạng Fill màu xanh.
Bài 4: Chuyển chuỗi “2026/09/15” thành ngày thực và tính số ngày còn lại tới ngày đó
- Công thức:
excel =DATEVALUE(SUBSTITUTE(A2,"/","-")) =A2-TODAY()
Bài 5: Sử dụng VBA để tự động thay đổi định dạng cột D thành dd mmm yyyy mỗi khi người dùng nhập dữ liệu
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Columns("D")) Is Nothing Then Dim cell As Range For Each cell In Intersect(Target, Me.Columns("D")) If IsDate(cell.Value) Then cell.NumberFormat = "dd mmm yyyy" End If Next cell End If
End Sub
11. Tối Ưu Hóa Khi Làm Việc Với Định Dạng Ngày
- Luôn giữ dữ liệu ngày ở dạng ngày thực (Number) để tính toán chính xác.
- Sử dụng Table (Ctrl + T) để áp dụng định dạng tự động cho các hàng mới.
- Sử dụng Data Validation để giới hạn người dùng nhập ngày hợp lệ:
- Data → Data Validation → Allow: Date → Data: between → Start date:
=TODAY()-365→ End date:=TODAY()+365. - Đặt mặc định địa phương cho workbook:
- File → Options → Advanced → When calculating this workbook → Use system separators (đảm bảo đồng nhất).
- Kết hợp với Power Pivot khi cần xử lý lượng dữ liệu lớn, vì Power Pivot luôn lưu ngày dưới dạng DateTime chuẩn.
12. Kết luận
Việc thay đổi định dạng ngày (change format date in Excel) không chỉ là một thao tác thẩm mỹ mà còn ảnh hưởng sâu rộng tới tính chính xác của các phép tính, báo cáo và quyết định dựa trên dữ liệu. Trong bài viết này, chúng ta đã:
- Nắm vững cách định dạng ngày cơ bản qua Ribbon, phím tắt và Quick Access Toolbar.
- Tự tin tạo định dạng ngày tùy chỉnh bằng các ký hiệu.
- Áp dụng Conditional Formatting để hiển thị ngày theo điều kiện.
- Sử dụng hàm TEXT và các hàm ngày tháng để chuyển đổi và kết hợp.
- Xử lý dữ liệu ngày không đồng nhất bằng Text to Columns, DATEVALUE và Power Query.
- Thực hiện định dạng đa ngôn ngữ và hiểu cách làm việc với Locale.
- Tự động hoá mọi quy trình qua VBA, từ định dạng nhanh cho cột cho tới kiểm tra điều kiện.
- Giải quyết các vấn đề thường gặp và thực hành qua bài tập thực tế.
Với kiến thức này, bạn có thể xử lý bất kỳ tình huống nào liên quan đến ngày tháng trong Excel một cách chuyên nghiệp, nhanh chóng và hiệu quả. Hãy áp dụng ngay vào dự án của mình và chia sẻ kinh nghiệm với đồng nghiệp để cùng nâng cao năng suất làm việc!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
