Trong môi trường làm việc hiện đại, Excel luôn là công cụ không thể thiếu đối với hầu hết các chuyên gia, nhà phân tích và nhân viên văn phòng. Một trong những thách thức thường gặp khi xử lý dữ liệu trong Excel là chuyển đổi các giá trị ngày tháng được lưu dưới dạng văn bản (text) sang dạng ngày thực (date). Việc này không chỉ ảnh hưởng đến khả năng tính toán, lọc, sắp xếp mà còn quyết định độ chính xác của các báo cáo, biểu đồ và mô hình phân tích.
Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn toàn diện, chi tiết và thực tiễn, giúp bạn biến mọi chuỗi ngày tháng dạng text thành ngày chuẩn trong Excel. Chúng tôi sẽ đi từ các phương pháp cơ bản nhất, sử dụng các công cụ sẵn có trong Excel, tới các kỹ thuật nâng cao hơn bằng công thức, hàm, Power Query và VBA. Ngoài ra, chúng tôi còn liệt kê các lỗi phổ biến, cách khắc phục và một số mẹo tối ưu giúp bạn làm việc nhanh chóng, hiệu quả.
Lưu ý: Bài viết này hướng tới người dùng ở mọi trình độ, từ người mới bắt đầu cho tới các chuyên gia dữ liệu. Bạn có thể chỉ cần một phần nào đó trong số các phương pháp được trình bày, tùy vào nhu cầu và mức độ phức tạp của dữ liệu.
Có thể bạn quan tâm: Cách Đếm Ô Chứa Văn Bản Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành
1. Hiểu Rõ Kiểu Dữ Liệu Ngày (Date) Và Văn Bản (Text) Trong Excel
1.1. Kiểu dữ liệu ngày trong Excel
- Ngày trong Excel thực chất là một số nguyên: 1 tương đương ngày 1/1/1900, 2 tương đương ngày 2/1/1900, …, 44561 tương đương ngày 1/1/2026, v.v.
- Giá trị thời gian được lưu dưới dạng phần thập phân: 0.5 = 12:00 PM, 0.75 = 18:00, …
- Khi ô được định dạng là Date hoặc Custom (định dạng ngày), Excel hiển thị giá trị số này dưới dạng chuỗi ngày tháng mà người dùng dễ đọc.
1.2. Kiểu dữ liệu văn bản (text)
- Khi một chuỗi ngày được nhập dưới dạng text, Excel coi nó là một chuỗi ký tự, không thể thực hiện các phép tính ngày tháng (như
=A2+30,=DATEDIF(A2,B2,"d")). - Văn bản có thể xuất hiện ở nhiều định dạng:
"2026-03-15","15/03/2026","Mar 15, 2026","20230315","15 Mar 23"…
1.3. Vì sao việc chuyển đổi quan trọng?
- Tính toán: Công thức
=TODAY()-A2chỉ hoạt động khi A2 là ngày thực. - Lọc & Sắp xếp: Các tính năng lọc, sắp xếp, pivot table dựa trên giá trị ngày.
- Biểu đồ: Trục thời gian (time axis) trong biểu đồ yêu cầu dữ liệu ngày.
- Chuẩn hoá dữ liệu: Khi dữ liệu đến từ nhiều nguồn (CSV, hệ thống ERP, web), các định dạng ngày thường không đồng nhất.
Có thể bạn quan tâm: Excel Conditional Formatting Formula If: Hướng Dẫn Chi Tiết Từ A Đến Z
2. Các Phương Pháp Cơ Bản Nhất Để Chuyển Đổi Text → Date
2.1. Sử dụng công cụ “Text to Columns”
- Chọn cột chứa ngày dạng text.
- Vào Data → Text to Columns.
- Chọn Delimited → Next → bỏ chọn tất cả delimiter → Next.
- Tại mục Column data format, chọn Date và chọn YMD, DMY, MDY tuỳ định dạng hiện tại.
- Nhấn Finish.
Lưu ý: Phương pháp này sẽ ghi đè dữ liệu gốc. Nếu muốn giữ bản sao, hãy sao chép cột sang vị trí khác trước khi thực hiện.
2.2. Sử dụng hàm DATEVALUE
- Cú pháp:
=DATEVALUE(text) - Chỉ hoạt động nếu
textlà chuỗi ngày có định dạng mà hệ thống ngày của Excel (cài đặt khu vực) nhận ra. - Ví dụ:
=DATEVALUE("15/03/2026")→ trả về 44984 (ngày 15/03/2026).
Kết hợp với hàm TEXT để chuẩn hoá định dạng:
=DATEVALUE(TEXT(A2,"dd/mm/yyyy"))
2.3. Hàm VALUE
=VALUE(text)cũng có thể chuyển đổi chuỗi ngày sang số ngày nếu định dạng hợp lệ.- Thường dùng khi chuỗi ngày có dạng
"2026-03-15"(ISO) và máy tính được cài đặt chuẩn US.
2.4. Định dạng lại ô (Format Cells)
Đôi khi dữ liệu chỉ cần đổi định dạng ô mà không thay đổi giá trị thực:
- Chọn ô/cột → Ctrl+1 (Format Cells).
- Vào tab Number → Date và chọn định dạng mong muốn.
- Nếu giá trị vẫn hiển thị dưới dạng text, có thể cần Convert to Number (thao tác 2.1 hoặc hàm).
Có thể bạn quan tâm: Excel Concat String With Separator: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
3. Xử Lý Các Định Dạng Ngày Phức Tạp
Trong thực tế, dữ liệu ngày thường xuất hiện dưới các dạng “không chuẩn”. Dưới đây là một số ví dụ và cách xử lý.
3.1. Định dạng “YYYYMMDD” (ví dụ: 20230315)
=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))
Giải thích:
LEFT(A2,4)→ năm.MID(A2,5,2)→ tháng.RIGHT(A2,2)→ ngày.
3.2. Định dạng “DD-MMM-YY” (ví dụ: 15-Mar-23)
Excel thường nhận ra tự động, nhưng nếu không, ta có thể:
=DATEVALUE(TEXT(A2,"dd-mmm-yy"))
Hoặc dùng hàm DATE kết hợp MONTH:
=DATE(RIGHT(A2,2)+2000, MONTH(DATEVALUE(MID(A2,4,3)&" 1")), LEFT(A2,2))
3.3. Định dạng “MMM DD, YYYY” (ví dụ: Mar 15, 2026)
=DATEVALUE(A2)
Nếu Excel không nhận, chuyển qua:
=DATE(RIGHT(A2,4), MONTH(DATEVALUE(LEFT(A2,3)&" 1")), MID(A2,5,2))
3.4. Định dạng “DD/MM/YYYY” nhưng máy tính cài US (MM/DD/YYYY)
Trong trường hợp này, DATEVALUE sẽ hiểu sai. Giải pháp:
=DATE(MID(A2,7,4), MID(A2,4,2), LEFT(A2,2))
3.5. Khi chuỗi ngày chứa ký tự không mong muốn (space, ký tự đặc biệt)
- Xóa khoảng trắng thừa:
=TRIM(A2) - Thay thế ký tự:
=SUBSTITUTE(A2,"/","-")hoặc=SUBSTITUTE(A2,".", "/")
Sau khi làm sạch, áp dụng các công thức ở trên.
4. Sử Dụng Power Query (Get & Transform) Để Chuyển Đổi
Power Query là công cụ mạnh mẽ tích hợp trong Excel 2026 trở lên, giúp xử lý dữ liệu lớn, tự động hoá quy trình.

Có thể bạn quan tâm: Excel Countif Not Empty – Hướng Dẫn Chi Tiết Đếm Ô Không Rỗng Trong Bảng Tính
4.1. Nhập dữ liệu vào Power Query
- Chọn Data → From Table/Range (hoặc From Text/CSV).
- Khi mở Power Query Editor, bạn sẽ thấy bảng dữ liệu.
4.2. Đổi kiểu dữ liệu cột
- Chọn cột chứa ngày dạng text.
- Click chuột phải → Change Type → Using Locale…
- Chọn Data Type: Date và Locale phù hợp (ví dụ: English (United Kingdom) cho định dạng
DD/MM/YYYY).
4.3. Xử lý định dạng tùy chỉnh
Nếu định dạng không chuẩn, sử dụng Add Column → Custom Column và viết công thức M:
= Date.FromText(Text.Middle(DateText,5,2) & "/" & Text.Start(DateText,2) & "/" & Text.End(DateText,4))
Sau khi hoàn thành, Close & Load để trả về Excel.
4.4. Lợi ích của Power Query
- Tự động hoá: Lưu lại các bước chuyển đổi, áp dụng cho dữ liệu mới chỉ bằng một click.
- Xử lý dữ liệu lớn: Không làm chậm bảng tính.
- Ghi chú & Auditing: Mỗi bước đều có thể kiểm tra, sửa lỗi.
5. Sử Dụng VBA Để Tự Động Hóa Quá Trình
Khi cần thực hiện chuyển đổi trên hàng ngàn ô, hoặc muốn tích hợp vào macro hiện có, VBA là lựa chọn tốt.
5.1. Macro cơ bản chuyển đổi cột A sang ngày
Sub ConvertTextToDate() Dim rng As Range, cell As Range Set rng = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row) For Each cell In rng If IsDate(cell.Value) Then cell.Value = CDate(cell.Value) ' Chuyển sang ngày thực ElseIf Len(cell.Value) = 8 Then ' Kiểm tra định dạng YYYYMMDD cell.Value = DateSerial(Left(cell.Value, 4), Mid(cell.Value, 5, 2), Right(cell.Value, 2)) End If cell.NumberFormat = "dd/mm/yyyy" Next cell
End Sub
5.2. Hàm VBA tùy chỉnh (User Defined Function – UDF)
Function TextToDate(txt As String) As Date On Error GoTo ErrHandler ' Kiểm tra định dạng ISO If IsDate(txt) Then TextToDate = CDate(txt) ElseIf Len(txt) = 8 Then TextToDate = DateSerial(Left(txt, 4), Mid(txt, 5, 2), Right(txt, 2)) Else TextToDate = DateValue(txt) ' Cố gắng chuyển đổi mặc định End If Exit Function ErrHandler: TextToDate = CVDate("1900-01-01") ' Giá trị mặc định nếu lỗi
End Function
Sau khi lưu macro, bạn có thể dùng trong ô:
=TextToDate(A2)
5.3. Khi nào nên dùng VBA?
- Khi cần tự động hoá quy trình trong workbook nhiều lần.
- Khi định dạng ngày không đồng nhất và cần logic phức tạp.
- Khi muốn tích hợp với các macro khác (import dữ liệu, báo cáo).
6. Xử Lý Lỗi Thường Gặp Khi Chuyển Đổi
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
#VALUE! | Chuỗi không phải là ngày hợp lệ, hoặc định dạng không nhận diện. | Kiểm tra và làm sạch dữ liệu (TRIM, SUBSTITUTE). Sử dụng công thức tùy chỉnh. |
| Ngày hiển thị sai (ví dụ: 01/02/2026 → 02/01/2026) | Thiết lập khu vực (locale) không khớp với định dạng ngày. | Dùng DATEVALUE kèm TEXT hoặc chuyển đổi locale trong Power Query. |
| Số ngày quá lớn (> 2958465) | Đầu vào không phải ngày (ví dụ: “2026-13-01”) hoặc có ký tự không hợp lệ. | Kiểm tra dữ liệu nguồn, dùng ISNUMBER, ISDATE để lọc. |
| Khi sao chép công thức, ngày bị thay đổi | Tham chiếu tuyệt đối/ tương đối không đúng. | Dùng $ để cố định cột/ hàng khi cần. |
| Định dạng hiển thị không thay đổi sau khi chuyển đổi | Ô vẫn có định dạng Text (có dấu ‘ trước giá trị). | Xóa dấu ' (có thể dùng Find & Replace ' → để trống) hoặc sử dụng Text to Columns. |
7. Mẹo Nhanh & Thủ Thuật Tăng Năng Suất
- Sử dụng phím tắt
Ctrl+Shift+~để nhanh chóng chuyển định dạng sang General (số). Sau đó áp dụngDate→ giúp nhận ra giá trị ngày. - Sử dụng “Paste Special → Values” sau khi chuyển đổi để giữ lại giá trị ngày mà không mang theo công thức.
- Sắp xếp dữ liệu trước khi chuyển đổi: Đôi khi dữ liệu đã được sắp xếp theo ngày text sẽ mất thứ tự khi chuyển, vì vậy hãy sắp xếp lại sau khi chuyển.
- Kiểm tra nhanh: Thêm một cột phụ
=ISNUMBER(A2)để xác định ô nào đã thành công (trả về TRUE) và ô nào còn lỗi (FALSE). - Tạo Named Range cho vùng dữ liệu: Giúp công thức dài gọn hơn, ví dụ:
DateTextcho cột A, sau đó dùng=DATEVALUE(DateText). - Sử dụng tính năng “Flash Fill” (Excel 2026+): Gõ một vài ngày mẫu ở cột mới, Excel sẽ tự động nhận dạng mẫu và điền toàn bộ cột.
8. Quy Trình Tổng Hợp – Từ Đầu Đến Cuối
- Kiểm tra dữ liệu gốc: Xác định định dạng, phát hiện các ký tự lạ, khoảng trắng.
- Làm sạch dữ liệu: Dùng
TRIM,CLEAN,SUBSTITUTE. - Chọn phương pháp:
- Nếu định dạng đồng nhất và đơn giản → dùng Text to Columns hoặc DATEVALUE.
- Nếu có nhiều định dạng → dùng công thức tùy chỉnh hoặc Power Query.
- Nếu cần tự động hoá nhiều lần → viết Macro/VBA.
- Áp dụng công thức hoặc công cụ.
- Kiểm tra kết quả: Dùng
ISNUMBER,ISDATEđể xác nhận. - Định dạng hiển thị:
Ctrl+1→ chọn định dạng ngày mong muốn. - Sao chép/đóng gói: Nếu muốn giữ giá trị cố định, dùng Paste Special → Values.
- Lưu lại quy trình: Nếu dùng Power Query, lưu query; nếu dùng VBA, lưu macro; nếu dùng công thức, ghi chú trong sheet.
9. Ví dụ Thực Tế
9.1. Dữ liệu mẫu
| A (Text Date) |
|---|
| 20230315 |
| 15/03/2026 |
| Mar 15, 2026 |
| 03-15-2026 |
| 15.03.2026 |
| 2026/03/15 |
| 15 Mar 23 |
| 2026‑03‑15 (dấu gạch ngang đặc) |
9.2. Giải pháp Power Query
- Import → Power Query → Change Type → Using Locale → Chọn Date, Locale: English (United Kingdom).
- Replace Values: Thay
‑(dash đặc) bằng-. - Add Column: Custom column với công thức:
m = try Date.FromText(DateText) otherwise try Date.FromText(Text.Replace(DateText,".","/")) otherwise null - Result: Cột mới hiển thị ngày chuẩn, các giá trị không chuyển đổi sẽ là
null.
9.3. Giải pháp công thức
Giả sử dữ liệu trong cột A, dùng cột B để chuyển:
=IFERROR( DATEVALUE(A2), IF(LEN(A2)=8, DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)), IFERROR(DATEVALUE(SUBSTITUTE(A2,".", "/")), IFERROR(DATEVALUE(SUBSTITUTE(A2,"‑","-")), "" ) ) )
)
Sau khi sao chép xuống, định dạng cột B thành dd/mm/yyyy.
10. Kết Luận
Việc chuyển đổi văn bản thành ngày trong Excel không còn là một nhiệm vụ khó khăn nếu bạn nắm vững các công cụ và kỹ thuật phù hợp. Từ các cách nhanh gọn như Text to Columns, DATEVALUE, đến các giải pháp mạnh mẽ hơn như Power Query và VBA, mỗi phương pháp đều có ưu và nhược điểm riêng, tùy thuộc vào độ phức tạp và khối lượng dữ liệu của bạn.
Các bước quan trọng nhất mà bạn nên ghi nhớ:
- Hiểu rõ định dạng ngày hiện tại và chuẩn hoá chúng (loại bỏ ký tự thừa, chuẩn hoá dấu phân cách).
- Lựa chọn công cụ phù hợp: công thức nhanh cho dữ liệu ít, Power Query cho dữ liệu lớn, VBA cho tự động hoá.
- Kiểm tra và xác nhận kết quả bằng các hàm kiểm tra (
ISNUMBER,ISDATE). - Định dạng hiển thị để người dùng cuối nhìn thấy ngày đúng cách.
- Lưu lại quy trình (query, macro) để tái sử dụng trong các dự án tương lai.
Hy vọng bài viết này đã cung cấp cho bạn một cẩm nang toàn diện để giải quyết mọi vấn đề liên quan đến chuyển đổi ngày trong Excel. Hãy áp dụng ngay những kiến thức này vào công việc hàng ngày, bạn sẽ tiết kiệm thời gian, giảm sai sót và nâng cao độ chính xác của các báo cáo, phân tích dữ liệu.
Nếu bạn còn thắc mắc hoặc muốn chia sẻ kinh nghiệm của mình, đừng ngần ngại bình luận dưới đây. Chúc bạn làm việc hiệu quả và luôn “đúng ngày” trong mọi bảng tính!

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ẻ.
