Menu

Cộng ngày, tháng, năm vào ngày tháng trong Excel

=A2+30 trả về ngày sau A2 đúng 30 ngày. Để cộng tháng, dùng =EDATE(A2,3); để lấy ngày cuối tháng, dùng =EOMONTH(A2,0); còn để cộng năm, dùng EDATE với 12 tháng cho mỗi năm.

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.

=A2+30 trả về ngày sau ngày trong A2 đúng 30 ngày. Excel lưu ngày tháng dưới dạng số ngày, nên cộng một con số sẽ đẩy ngày tới trước đúng chừng ấy ngày. Với tháng, vốn dài ngắn khác nhau, hãy dùng =EDATE(A2,3): cùng ngày đó, ba tháng sau.

Hạn thanh toán 30 ngày sau ngày hóa đơn
B2
ABCD
1Invoice dateDue (30 days)Due (90 days)Two weeks later
22026-03-102026-04-092026-06-082026-03-24
32026-03-252026-04-242026-06-232026-04-08
42026-04-022026-05-022026-07-012026-04-16
52026-12-152027-01-142027-03-152026-12-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.

Hóa đơn ngày 2026-03-10 đến hạn vào 2026-04-09 nếu là 30 ngày và 2026-06-08 nếu là 90 ngày. Hóa đơn tháng 12 sang năm 2027 mà không cần làm gì thêm. Muốn lùi về trước thì trừ: =A2-30 là 30 ngày trước đó. Với tuần, hãy nhân: =A2+7*2 là hai tuần sau.

Cộng tháng bằng EDATE

"Một tháng sau" không phải một số ngày cố định, nên +30 sẽ lệch dần: từ ngày 1 tháng 2, nó rơi vào ngày 3 tháng 3. EDATE(start_date, months) giữ nguyên ngày trong tháng và chỉ đổi tháng. Số tháng âm sẽ lùi về trước.

Gia hạn gói đăng ký
C2
ABCD
1StartMonthsRenewsReminder
22026-01-1512026-02-152026-01-15
32026-02-0132026-05-012026-04-01
42026-03-20122027-03-202027-02-20
52026-11-0562027-05-052027-04-05
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.

Gói theo năm bắt đầu ngày 2026-03-20 sẽ gia hạn vào 2027-03-20, còn gói sáu tháng bắt đầu từ tháng 11 gia hạn vào 2027-05-05. Cột D gửi lời nhắc một tháng trước mỗi lần gia hạn. Đổi số tháng trong cột B để xem ngày thay đổi.

Khi ngày bắt đầu không tồn tại trong tháng đích, EDATE lấy ngày cuối cùng của tháng đó. Đây là kết quả Excel trả về:

=EDATE("2026-01-31", 1)    2026-02-28
=EDATE("2026-08-31", 1)    2026-09-30
=EDATE("2024-03-31", -1)   2024-02-29

Cộng năm vào một ngày

Một năm có 12 tháng, nên =EDATE(A2,12*B2) cộng thêm B2 năm. Với bảo hành, hợp đồng và ngày kỷ niệm, cách này giữ nguyên ngày và tháng.

Ngày hết hạn bảo hành
C2
ABCD
1BoughtYearsWarranty endsWith DATE
22026-03-1422028-03-142028-03-14
32025-07-0152030-07-012030-07-01
42026-11-2832029-11-282029-11-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.

Cả hai cột đều cho 2028-03-14, 2030-07-01 và 2029-11-28. Chúng chỉ khác nhau ở một ngày duy nhất: 29 tháng 2. =DATE(2027,2,29) tràn sang 2027-03-01, còn EDATE trả về 2027-02-28.

Ngày cuối tháng với EOMONTH

EOMONTH(start_date, months) trả về ngày cuối cùng của một tháng: 0 là cùng tháng, 1 là tháng sau, -1 là tháng trước. Ngày đầu tháng là ngày liền sau ngày cuối của tháng trước, tức EOMONTH(A2,-1)+1.

Ngày cuối tháng và ngày đầu tháng
B2
ABCD
1DateEnd of monthEnd of next monthFirst of month
22026-02-102026-02-282026-03-312026-02-01
32024-02-102024-02-292024-03-312024-02-01
42026-12-312026-12-312027-01-312026-12-01
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.

Tháng 2 năm 2026 kết thúc vào ngày 28, còn tháng 2 năm 2024 vào ngày 29. Từ 2026-12-31, ngày cuối tháng sau là 2027-01-31. EOMONTH chính là công thức cho kiểu "thanh toán vào cuối tháng sau tháng xuất hóa đơn": =EOMONTH(A2,1). Với ngày làm việc, hãy dùng WORKDAY: =WORKDAY(A2,10) là 10 ngày làm việc sau A2, bỏ qua cuối tuần (xem NETWORKDAYS và WORKDAY).

Luyện tập: ngày gia hạn và ngày cuối tháng

Đến lượt bạn: ngày gia hạn
C2
ABC
1StartMonthsRenews
22026-03-106
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 C2, trả về ngày sau ngày bắt đầu ở A2 một số tháng bằng giá trị trong B2.

Đến lượt bạn: ngày cuối tháng
B2
AB
1DateMonth end
22026-04-14
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 B2, trả về ngày cuối cùng của tháng chứa ngày trong A2.

Lỗi thường gặp: cộng một tháng bằng DATE và MONTH+1

Công thức như =DATE(YEAR(A2),MONTH(A2)+1,DAY(A2)) trông giống "một tháng sau" và đa phần đều đúng. Nhưng khi ngày đó không tồn tại ở tháng sau, DATE không dừng ở cuối tháng: nó dồn số ngày dư sang tháng kế tiếp.

DATE tràn sang tháng sau, EOMONTH thì không
B2
ABC
1DateMONTH+1 with DATEEnd of next month
22026-01-312026-03-032026-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.

Từ ngày 31 tháng 1, công thức DATE trả về 2026-03-03, vì "ngày 31 tháng 2" nằm sau ngày 28 tháng 2 ba ngày. EDATE trả về 2026-02-28, và khi thứ bạn cần đúng là ngày cuối tháng thì EOMONTH cho ra luôn kết quả đó. Xem thêm cách DATE xử lý tháng và ngày bị tràn: hàm DATE.

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

Làm sao để cộng ngày vào một ngày tháng trong Excel?

Cộng thẳng con số vào: =A2+30 là 30 ngày sau ngày trong A2, còn =A2-30 là 30 ngày trước đó. Excel lưu ngày tháng dưới dạng số ngày, nên phép cộng thông thường vẫn đúng khi vượt qua tháng hay năm.

Làm sao để cộng tháng vào một ngày trong Excel?

Dùng EDATE: =EDATE(A2,3) trả về cùng ngày đó của ba tháng sau, còn =EDATE(A2,-3) là ba tháng trước. Khi ngày đó không tồn tại, EDATE lấy ngày cuối cùng của tháng: =EDATE("2026-01-31",1) là 2026-02-28.

Làm sao để lấy ngày cuối tháng trong Excel?

=EOMONTH(A2,0) trả về ngày cuối cùng của tháng chứa A2. =EOMONTH(A2,1) là cuối tháng sau, còn =EOMONTH(A2,-1)+1 là ngày đầu tiên của tháng chứa A2.

Làm sao để cộng năm vào một ngày trong Excel?

=EDATE(A2,12*5) cộng thêm năm năm. =DATE(YEAR(A2)+5,MONTH(A2),DAY(A2)) cũng được, nhưng sẽ biến ngày 29 tháng 2 thành ngày 1 tháng 3 nếu năm đích không phải năm nhuận, trong khi EDATE cho ra ngày 28 tháng 2.

Vì sao cộng ngày xong lại hiện ra một con số thay vì ngày tháng?

Ô kết quả đang ở định dạng General hoặc Number, nên ngày tháng hiện dưới dạng số sê-ri, ví dụ 46126. Chọn ô đó rồi vào Home > Number Format > Short Date.

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