Cách Thêm Tháng Vào Ngày Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành

Mở Đầu

Excel là công cụ mạnh mẽ cho việc xử lý dữ liệu, tính toán và phân tích. Một trong những nhu cầu phổ biến khi làm việc với ngày tháng là thêm một số tháng vào một ngày cho trước – ví dụ, tính ngày đáo hạn, dự báo thời gian giao hàng, hoặc lên kế hoạch tài chính. Tuy nhiên, nhiều người dùng Excel vẫn gặp khó khăn khi thực hiện thao tác này vì không biết hàm nào phù hợp, cách sử dụng đúng cú pháp, hoặc cách xử lý các trường hợp đặc biệt như tháng có số ngày khác nhau, năm nhuận, và các định dạng ngày.

Bài viết này sẽ cung cấp cho bạn một hướng dẫn toàn diện về cách thêm tháng vào ngày trong Excel, bao gồm:

  1. Giới thiệu các hàm cơ bản: EDATE, DATE, MONTH, YEAR, DAY.
  2. Cách sử dụng hàm EDATE và các ví dụ thực tế.
  3. Thực hiện phép tính thêm tháng bằng công thức tự xây dựng khi không có EDATE.
  4. Xử lý các trường hợp đặc biệt (ngày cuối tháng, năm nhuận, ngày không hợp lệ).
  5. Ứng dụng thực tế: lập kế hoạch thanh toán, tính ngày đáo hạn, tạo lịch làm việc.
  6. Mẹo tối ưu và các lỗi thường gặp khi làm việc với ngày tháng trong Excel.
  7. Tham khảo các hàm liên quan và cách tích hợp với Power Query, VBA.

Sau khi đọc xong, bạn sẽ nắm vững cách thêm tháng vào ngày trong Excel một cách nhanh chóng, chính xác và linh hoạt, đồng thời tránh được những lỗi phổ biến khiến kết quả sai lệch.

1. Hiểu Rõ Kiểu Dữ Liệu Ngày Trong Excel

Trước khi đi vào chi tiết hàm, chúng ta cần nắm rõ cách Excel lưu trữ ngày:

  • Ngày trong Excel là một số nguyên biểu thị số ngày tính từ ngày 0 (01/01/1900 trong Windows, 01/01/1904 trong Mac). Ví dụ, ngày 01/01/2026 tương đương với giá trị 43831.
  • Thời gian (giờ, phút, giây) được lưu dưới dạng phần thập phân của số ngày. Ví dụ, 12:00 PM là 0.5.
  • Khi bạn nhập một ngày, Excel sẽ tự động chuyển nó thành số nguyên này và hiển thị dưới dạng định dạng ngày mà bạn chọn.

Lưu ý: Khi thực hiện các phép tính ngày, bạn đang thực chất thao tác trên các số nguyên, vì vậy các công thức sẽ trả về giá trị số ngày, và sau đó bạn cần định dạng lại thành ngày để hiển thị.

2. Hàm EDATE – Giải Pháp Nhanh Chóng

2.1. Cú Pháp Cơ Bản

EDATE(start_date, months)
  • start_date: ngày bắt đầu (có thể là ô chứa ngày, hoặc hàm DATE).
  • months: số tháng muốn cộng (có thể là số âm để trừ tháng).

Ví dụ 1: Thêm 3 tháng vào ngày 15/01/2026.

=EDATE("15/01/2026", 3) → 15/04/2026

Nếu start_date nằm trong ô A2, công thức sẽ là:

=EDATE(A2, 3)

2.2. Tính Ngày Đáo Hạn

Giả sử bạn có ngày thanh toán trong cột A và muốn tính ngày đáo hạn sau 30 ngày (khoảng 1 tháng). Bạn có thể dùng:

=EDATE(A2, 1) // Thêm 1 tháng

Nếu muốn tính đáo hạn sau 6 tháng:

=EDATE(A2, 6)

2.3. Trừ Tháng

Để tính ngày trước đó, chỉ cần đưa số tháng âm:

=EDATE(A2, -2) // Trừ 2 tháng

2.4. Định Dạng Kết Quả

Kết quả trả về là kiểu ngày, nhưng nếu Excel hiển thị dưới dạng số, hãy:

  1. Chọn ô chứa công thức.
  2. Nhấn Ctrl + 1 → Number → Date → chọn định dạng mong muốn (VD: dd/mm/yyyy).

3. Khi EDATE Không Có Sẵn (Excel 2003 và các phiên bản cũ)

Trong một số môi trường, hàm EDATE có thể không khả dụng (đặc biệt trong Excel 2003 trước khi cài Analysis ToolPak). Khi đó, chúng ta có thể xây dựng công thức thủ công bằng cách kết hợp DATE, YEAR, MONTH, DAY.

3.1. Công Thức Cơ Bản

=DATE(YEAR(start_date) + INT((MONTH(start_date) - 1 + months) / 12), MOD(MONTH(start_date) - 1 + months, 12) + 1, DAY(start_date))
  • INT((MONTH(start_date) - 1 + months) / 12): tính số năm tăng thêm.
  • MOD(...,12) + 1: tính tháng mới.
  • DAY(start_date): giữ nguyên ngày trong tháng.

Ví dụ 2: Thêm 5 tháng vào ngày 31/01/2026.

=DATE(YEAR(A2) + INT((MONTH(A2) - 1 + 5) / 12), MOD(MONTH(A2) - 1 + 5, 12) + 1, DAY(A2))

Kết quả sẽ là 31/06/2026. Tuy nhiên, tháng 6 không có ngày 31, nên Excel sẽ tự động điều chỉnh thành 30/06/2026 (ngày cuối tháng). Đây là một tính năng quan trọng cần hiểu.

3.2. Xử Lý Ngày Cuối Tháng

Nếu bạn muốn giữ nguyên ngày cuối tháng khi tháng mới không đủ ngày, hãy dùng hàm EOMONTH (cũng thuộc Analysis ToolPak) hoặc tự viết công thức:

=IF(DAY(start_date) > DAY(DATE(YEAR(start_date), MONTH(start_date) + months + 1, 0)), DATE(YEAR(start_date) + INT((MONTH(start_date) - 1 + months) / 12), MOD(MONTH(start_date) - 1 + months, 12) + 1, DAY(DATE(YEAR(start_date) + INT((MONTH(start_date) - 1 + months) / 12), MOD(MONTH(start_date) - 1 + months, 12) + 2, 0))), DATE(YEAR(start_date) + INT((MONTH(start_date) - 1 + months) / 12), MOD(MONTH(start_date) - 1 + months, 12) + 1, DAY(start_date)))

Công thức trên kiểm tra nếu ngày trong tháng gốc lớn hơn ngày cuối tháng mới, thì trả về ngày cuối tháng mới; ngược lại giữ nguyên ngày.

4. Các Trường Hợp Đặc Biệt

4.1. Năm Nhuận

Excel Add Months To Date
Excel Add Months To Date

Năm nhuận (leap year) có 29 ngày trong tháng 2. Khi cộng tháng, Excel tự động xử lý:

  • Ví dụ: Thêm 1 tháng vào 31/01/2026 (năm nhuận). Kết quả là 29/02/2026 (ngày cuối tháng 2).

Nếu bạn muốn luôn trả về ngày 28/02 trong năm không nhuận, hàm EDATE sẽ tự điều chỉnh:

  • 31/01/2026 + 1 tháng → 28/02/2026.

4.2. Thêm Tháng và Giữ Giờ, Phút, Giây

Nếu ô chứa ngày có cả thời gian (VD: 15/01/2026 14:35), EDATE sẽ giữ lại phần thời gian:

=EDATE(A2, 2) // Kết quả: 15/03/2026 14:35

Nếu muốn chỉ thay đổi ngày mà không ảnh hưởng thời gian, công thức trên vẫn hoạt động tốt. Nếu muốn đặt lại thời gian về 00:00, bạn có thể dùng:

=INT(EDATE(A2, 2))

INT loại bỏ phần thập phân (giờ, phút).

4.3. Kết Hợp Với IF Để Tránh Lỗi #VALUE!

Khi người dùng nhập dữ liệu không phải ngày (VD: chuỗi ký tự), hàm EDATE sẽ trả về lỗi #VALUE!. Để bảo vệ bảng tính:

=IF(ISNUMBER(A2), EDATE(A2, 3), "")

Nếu A2 không phải là ngày hợp lệ, công thức trả về ô trống.

5. Ứng Dụng Thực Tế

5.1. Lập Kế Hoạch Thanh Toán Hàng Tháng

Giả sử cột A chứa ngày giao dịch, cột B chứa số tháng thanh toán (kỳ hạn). Bạn muốn tính ngày thanh toán cuối cùng (đáo hạn) trong cột C.

C2 = EDATE(A2, B2)

Kéo công thức xuống toàn bộ danh sách. Bạn có thể thêm định dạng điều kiện để màu sắc các ô đáo hạn sớm.

5.2. Tạo Lịch Đánh Giá Hiệu Suất Hàng Quý

  • Ngày bắt đầu: ô D2.
  • Số quý (mỗi quý = 3 tháng) trong ô E2.
F2 = EDATE(D2, E23)

Kết quả là ngày kết thúc quý thứ E2.

5.3. Tính Ngày Hết Hạn Hợp Đồng

Hợp đồng ký ngày Ngày ký (cột G) và thời hạn Số năm (cột H). Để tính ngày hết hạn, chúng ta có thể:

=EDATE(G2, H212)

Nếu muốn hiển thị ngày cuối tháng (để hợp đồng hết hạn vào cuối tháng), dùng:

=EOMONTH(EDATE(G2, H212), 0)

5.4. Tích Hợp Với Power Query

Trong Power Query, bạn có thể sử dụng hàm Date.AddMonths:

= Table.AddColumn(Source, "Ngày Cộng Tháng", each Date.AddMonths(NgàyBanĐầu, SốTháng))

Điều này giúp xử lý dữ liệu lớn mà không cần công thức trong sheet.

5.5. Tự Động Nhắc Nhở Bằng VBA

Nếu muốn tạo macro thông báo khi ngày đáo hạn gần tới, bạn có thể:

Sub CheckDueDates() Dim rng As Range, cell As Range Set rng = ThisWorkbook.Sheets("Sheet1").Range("C2:C100") For Each cell In rng If IsDate(cell.Value) Then If cell.Value - Date <= 7 Then MsgBox "Hợp đồng " & cell.Offset(0, -2).Value & " sắp đến hạn vào " & cell.Value, vbInformation End If End If Next cell
End Sub

Macro này quét cột C (ngày đáo hạn) và hiển thị thông báo nếu còn ít hơn 7 ngày.

6. Mẹo Tối Ưu và Tránh Lỗi Thường Gặp

LỗiNguyên NhânCách Khắc Phục
#VALUE!start_date không phải ngày hợp lệ hoặc months không phải sốKiểm tra dữ liệu, dùng IF(ISNUMBER(...))
Ngày lệch (VD: 31/01 + 1 tháng → 03/03)Khi ngày trong tháng gốc lớn hơn ngày cuối tháng mớiSử dụng EDATE (tự động chuẩn) hoặc công thức IF để ép ngày cuối tháng
Định dạng sai (hiển thị số)Ô chưa được định dạng dưới dạng ngàyÁp dụng định dạng ngày (Ctrl+1)
Không cập nhật khi chèn dòngCông thức cố định (dùng $)Sử dụng tham chiếu tương đối hoặc bảng (Table) để tự mở rộng
Lỗi năm 1900/1904Phiên bản Excel trên Mac dùng hệ thống ngày 1904Kiểm tra tùy chọn File → Options → Advanced → Use 1904 date system và đồng nhất hệ thống ngày

6.1. Sử Dụng Bảng (Excel Table)

Khi dữ liệu được chuyển thành Table (Ctrl+T), công thức tự mở rộng khi thêm dòng mới:

=EDATE(@NgàyBắtĐầu, @SốTháng)

6.2. Định Dạng Ngày Động

Bạn có thể tạo định dạng tùy chỉnh để hiển thị ngày kèm “tháng”:

dd/mm/yyyy "(+ " & TEXT(@SốTháng,"0") & " tháng)"

(Áp dụng qua Conditional Formatting → Custom Number Format)

7. Tổng Kết

Việc thêm tháng vào ngày trong Excel không còn là thách thức khi bạn nắm vững các hàm và công thức phù hợp. Dưới đây là các bước nhanh gọn:

  1. Ưu tiên dùng EDATE – ngắn gọn, chính xác, tự động xử lý ngày cuối tháng và năm nhuận.
  2. Khi EDATE không khả dụng, xây dựng công thức với DATE, YEAR, MONTH, DAY.
  3. Xử lý các trường hợp đặc biệt (ngày cuối tháng, năm nhuận, thời gian kèm ngày) bằng IF, EOMONTH hoặc VBA.
  4. Áp dụng trong thực tế: lịch thanh toán, đáo hạn hợp đồng, kế hoạch quý, Power Query, macro nhắc nhở.
  5. Kiểm tra dữ liệu và định dạng để tránh lỗi #VALUE! và hiển thị ngày đúng cách.

Bằng cách áp dụng những kiến thức trên, bạn sẽ tăng năng suất làm việc, giảm thiểu sai sót và tạo ra các báo cáo ngày tháng chuyên nghiệp trong Excel. Hãy thử ngay trên bảng tính của mình và cảm nhận sự khác biệt!

⚠️
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