Menu

Hàm DATE trong Excel: tạo ngày từ năm, tháng, ngày

=DATE(2026,3,15) trả về ngày 15 tháng 3 năm 2026 từ một năm, một tháng và một ngày. YEAR, MONTH và DAY tách một ngày ra thành từng phần, còn DATE tự chuyển tháng 13 sang năm sau.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=DATE(2026,3,15) trả về ngày 15 tháng 3 năm 2026. Ba tham số lần lượt là năm, tháng và ngày, theo đúng thứ tự đó, dưới dạng số hoặc tham chiếu ô. Các hàm ngược lại, YEAR, MONTH và DAY, tách một ngày ra thành ba số đó.

Tạo ngày từ ba cột
D2
ABCD
1YearMonthDayDate
220263152026-03-15
3202612312026-12-31
42027112027-01-01
520242292024-02-29
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Mỗi hàng trở thành một ngày thật mà Excel có thể sắp xếp, trừ và định dạng. Đổi tháng trong B2 thành 7 thì D2 thành 2026-07-15. Thứ tự là cố định, năm trước, dù nước bạn viết ngày theo thứ tự nào: =DATE(15,3,2026) không phải ngày 15 tháng 3.

YEAR, MONTH và DAY: tách một ngày ra

Mỗi hàm trả về một phần của ngày dưới dạng số. Đây là cách thường dùng để nhóm hoặc lọc theo năm hay theo tháng, chẳng hạn trong một cột phụ mà SUMIF hoặc Pivot Table đọc.

Các phần của một ngày
B2
ABCDE
1DateYearMonthDayMonth name
22026-03-152026315March
32025-11-022025112November
42024-02-292024229February
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Hàng đầu tiên cho 2026, 3 và 15. MONTH trả về một số; để lấy tên tháng, dùng TEXT với "mmmm" (March) hoặc "mmm" (Mar), xem hàm TEXT.

Tháng 13, ngày 0: cách DATE tự chuyển tiếp

DATE chấp nhận tháng lớn hơn 12 và ngày vượt quá cuối tháng, rồi chuyển phần dư sang kỳ tiếp theo như một cuốn lịch. Tháng 13 là tháng 1 của năm sau, còn ngày 0 là ngày cuối của tháng trước. Nhờ vậy, ngày đầu và ngày cuối của bất kỳ tháng nào chỉ cần một công thức một dòng.

Chuyển tiếp, ngày đầu và ngày cuối tháng
B5
ABCD
1FormulaResultDate
2Month 132027-01-012026-02-17
3February 302026-03-02
4Day 0 of March2026-02-28
5First of the month2026-02-01
6Last of the month2026-02-28
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

DATE(2026,13,1) là 2027-01-01, ngày 30 tháng 2 thành 2026-03-02, và ngày 0 của tháng 3 là 2026-02-28. Hàng 5 và 6 dùng ngày trong D2: đổi nó thành ngày bất kỳ, bạn sẽ có ngày đầu và ngày cuối của tháng đó, kể cả năm nhuận (thử 2024-02-17). EOMONTH làm được việc tương tự cho ngày cuối tháng, xem cộng ngày và tháng.

Chuyển văn bản thành ngày

Ngày nhập từ hệ thống khác thường đến dưới dạng văn bản. Excel không tính toán ngày trên văn bản được, nên hãy chuyển đổi trước. DATEVALUE đọc văn bản ở định dạng Excel nhận ra được, chẳng hạn 2026-03-15. Các mã như 20260315 và ngày kiểu châu Âu như 15.03.2026 cần được cắt ra bằng LEFT, MID và RIGHT rồi ghép lại bằng DATE.

Văn bản lẽ ra phải là ngày
B3
AB
1TextDate
22026-03-152026-03-15
3202603152026-03-15
415.03.20262026-03-15
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Cả ba hàng đều trả về 2026-03-15. LEFT, MID và RIGHT trả về văn bản, và DATE tự chuyển "2026" và "03" thành số. DATEVALUE phụ thuộc vào cài đặt ngày của hệ thống: "3/15/2026" được đọc là ngày 15 tháng 3 với cài đặt Mỹ và báo lỗi #VALUE! ở nơi viết ngày trước, như Việt Nam. Với một cột chỉ cần đổi một lần, Data > Text to Columns chuyển đổi tại chỗ mà không cần công thức: ở bước 3, chọn Date và thứ tự mà văn bản đang dùng (DMY cho 15.03.2026).

Luyện tập: tạo ngày

Đến lượt bạn: từ ba cột thành một ngày
D2
ABCD
1YearMonthDayDate
22026417
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Trong D2, tạo ngày từ năm trong A2, tháng trong B2 và ngày trong C2.

Đến lượt bạn: một mã ngày
B2
AB
1CodeDate
220260917
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: A2 chứa ngày dưới dạng văn bản theo mẫu yyyymmdd. Trong B2, chuyển nó thành một ngày thật.

Lỗi thường gặp: năm có hai chữ số

DATE đọc năm từ 0 đến 1899 như một khoảng cộng thêm vào 1900, nên năm hai chữ số sẽ rơi vào sai thế kỷ mà không báo lỗi gì.

Năm có hai chữ số
B2
ABC
1YearDATEFixed
2261926-03-152026-03-15
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=DATE(26,3,15) trả về 1926-03-15, không phải 2026. Hãy cộng 2000 khi dữ liệu gốc có năm hai chữ số, như ở C2, hoặc tốt hơn, sửa dữ liệu gốc để nó chứa đủ năm.

Câu hỏi thường gặp

Hàm DATE trong Excel hoạt động thế nào?

=DATE(year,month,day) trả về một ngày từ ba số: =DATE(2026,3,15) là ngày 15 tháng 3 năm 2026. Các tham số có thể là tham chiếu ô, chẳng hạn =DATE(A2,B2,C2).

Làm sao lấy năm, tháng hoặc ngày từ một ngày?

=YEAR(A2), =MONTH(A2) và =DAY(A2) trả về từng phần dưới dạng số. Để lấy tên tháng, dùng =TEXT(A2,"mmmm").

Làm sao lấy ngày đầu tháng trong Excel?

=DATE(YEAR(A2),MONTH(A2),1) trả về ngày đầu tiên của tháng chứa A2. =DATE(YEAR(A2),MONTH(A2)+1,0) trả về ngày cuối tháng, vì ngày 0 của một tháng là ngày cuối của tháng trước.

Làm sao chuyển văn bản thành ngày trong Excel?

Nếu văn bản ở định dạng Excel nhận ra được, =DATEVALUE(A2) sẽ chuyển nó. Với các mã như 20260315, hãy cắt từng phần ra rồi tạo lại ngày: =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)).

Điều gì xảy ra nếu tháng trong DATE lớn hơn 12?

DATE chuyển phần dư sang năm sau: =DATE(2026,13,1) là 2027-01-01 và =DATE(2026,14,1) là 2027-02-01. Ngày cũng được chuyển theo cách tương tự, còn giá trị 0 hoặc âm sẽ lùi về trước.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu