Có thể bạn quan tâm: Bỏ Chữ “page” Trong Excel: Hướng Dẫn Chi Tiết, Thực Hành Và Mẹo Tối Ưu
Mở Đầu
Ngày tháng là một trong những yếu tố quan trọng nhất trong công việc văn phòng, đặc biệt là khi bạn làm việc với các báo cáo, kế hoạch, bảng chấm công hay dự toán. Việc tự động tăng (tự nhảy) ngày tháng trong Excel sẽ giúp bạn tiết kiệm thời gian, giảm thiểu sai sót và nâng cao hiệu suất làm việc. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những thao tác cơ bản nhất đến các kỹ thuật nâng cao, giúp bạn làm chủ việc tự nhảy ngày tháng trong Excel một cách hiệu quả.
Có thể bạn quan tâm: Cách Tính Số Ngày Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Kiến Thức Cơ Bản Về Định Dạng Ngày Tháng Trong Excel
1.1. Kiểu Dữ Liệu Ngày Tháng
Excel lưu trữ ngày tháng dưới dạng số nguyên dương, trong đó:
- Ngày 1 tương ứng với 1/1/1900 (hoặc 1/1/1904 tùy vào tùy chọn hệ thống).
- Mỗi ngày tăng lên 1 đơn vị.
- Thời gian (giờ, phút, giây) được biểu diễn dưới dạng phần thập phân của ngày.
Ví dụ:
- 44562 = 31/12/2026
- 44563 = 1/1/2026
1.2. Định Dạng Hiển Thị
Bạn có thể thay đổi cách hiển thị ngày tháng bằng cách Format Cells → Number → Date hoặc tùy chỉnh bằng Custom (VD: dd/mm/yyyy, yyyy-mm-dd, dd-mmm-yy…).
1.3. Kiểm Tra Kiểu Dữ Liệu
Để chắc chắn ô chứa ngày tháng thực sự là dạng ngày, bạn có thể:
- Sử dụng công thức
=ISTEXT(A1)(trả về FALSE nếu là ngày). - Hoặc
=ISNUMBER(A1)(trả về TRUE nếu là ngày).
Có thể bạn quan tâm: Pivot Table Excel Là Gì? – Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
2. Các Cách Tự Nhảy Ngày Tháng Cơ Bản
2.1. Kéo Fill Handle (Sao Chép Tự Động)
Đây là cách nhanh nhất và thường được dùng nhất.
Bước thực hiện:
- Nhập ngày đầu tiên vào ô A1 (VD:
01/01/2026). - Đặt con trỏ vào góc dưới bên phải của ô A1 cho tới khi xuất hiện dấu “+” (Fill Handle).
- Kéo xuống hoặc sang phải bao nhiêu dòng/ cột bạn muốn.
- Excel sẽ tự động tăng ngày theo một ngày cho mỗi ô.
Lưu ý: Nếu bạn kéo chuột trong khi nhấn Ctrl, Excel sẽ sao chép giá trị mà không tăng ngày.
2.2. Sử Dụng Công Thức Cơ Bản
Công thức =A1+1 sẽ tăng ngày hiện tại lên một ngày.
Ví dụ:
- Ô A1:
01/01/2026 - Ô A2:
=A1+1→ hiển thị02/01/2026 - Kéo công thức này xuống để tạo dãy ngày.
Bạn có thể thay đổi số cộng để tự nhảy n ngày:
=A1+7→ nhảy một tuần.=A1+30→ nhảy một tháng (không hoàn hảo vì tháng có độ dài khác nhau).
2.3. Dòng Lệnh =DATE(year, month, day)
Công thức này giúp tạo ngày dựa trên các thành phần riêng biệt.
Ví dụ:
=DATE(2026,1,1) + ROW()-1
ROW()trả về số dòng hiện tại, vì công thức bắt đầu ở dòng 1,ROW()-1= 0 → ngày đầu tiên.- Khi sao chép xuống,
ROW()tăng lên 2, 3, … → ngày tự tăng.
2.4. Dùng Hàm EDATE Để Nhảy Tháng
EDATE(start_date, months)
start_date: ngày bắt đầu.months: số tháng muốn dịch chuyển (có thể âm).
Ví dụ:
=EDATE(A1,1) → ngày trong tháng kế tiếp, giữ nguyên ngày trong tháng (nếu ngày không tồn tại, Excel sẽ tự động chuyển sang ngày cuối tháng).
2.5. Hàm EOMONTH Để Lấy Ngày Cuối Tháng
=EOMONTH(start_date, months)
- Trả về ngày cuối cùng của tháng, dịch chuyển
monthstháng.
Ví dụ:
=EOMONTH(A1,0) → ngày cuối tháng hiện tại của ô A1.
3. Tự Nhảy Ngày Tháng Với Điều Kiện và Logic
3.1. Bỏ Ngày Cuối Tuần (Chỉ Nhảy Ngày Làm Việc)
Bạn muốn tạo dãy ngày chỉ bao gồm các ngày làm việc (Thứ Hai – Thứ Sáu), bỏ qua thứ Bảy và Chủ Nhật.
Công thức:
=WORKDAY(A1,1)
WORKDAY(start_date, days, holidays)dayslà số ngày làm việc cần dịch chuyển.holidayslà phạm vi chứa ngày lễ (nếu có).
Ví dụ:
- A1:
01/01/2026(Chủ nhật) - B1:
=WORKDAY(A1,1)→ trả về02/01/2026(Thứ Hai).
Kéo công thức này xuống để tạo dãy ngày làm việc.
3.2. Bỏ Ngày Lễ
Giả sử bạn có danh sách ngày lễ trong phạm vi H2:H10. Khi sử dụng WORKDAY, bạn chỉ cần truyền phạm vi này vào tham số thứ ba.

Có thể bạn quan tâm: Chuyển Đổi Csv Sang Excel: Hướng Dẫn Chi Tiết, Công Cụ Hữu Ích Và Mẹo Tối Ưu Hóa Dữ Liệu
=WORKDAY(A1,1,$H$2:$H$10)
3.3. Tự Nhảy Theo Chu Kỳ Tuần
Nếu muốn tạo dãy ngày lặp lại theo chu kỳ Thứ Hai – Thứ Sáu, Thứ Bảy – Chủ Nhật, bạn có thể dùng công thức:
=IF(WEEKDAY(A1,2)<=5, A1+1, A1+2)
WEEKDAY(date,2)trả về 1 (Thứ Hai) tới 7 (Chủ Nhật).- Nếu ngày hiện tại là ngày làm việc (≤5), tăng 1 ngày; nếu là cuối tuần, tăng 2 ngày để quay lại Thứ Hai.
3.4. Tự Nhảy Theo Chu Kỳ Tháng
Bạn muốn tạo dãy ngày ngày 1 của mỗi tháng trong một năm.
Công thức:
=DATE(YEAR(A1), MONTH(A1)+1, 1)
- Đặt A1 =
01/01/2026. - Kéo công thức này xuống:
01/02/2026,01/03/2026, …,01/12/2026.
Nếu muốn dừng ở cuối năm, bạn có thể dùng IF:
=IF(MONTH(A1)=12, "", DATE(YEAR(A1), MONTH(A1)+1, 1))
Khi đạt tháng 12, ô sẽ trả về rỗng.
4. Tự Nhảy Ngày Tháng Với VBA (Macro)
Đối với các dự án lớn hoặc yêu cầu tùy biến sâu, VBA là công cụ mạnh mẽ.
4.1. Macro Nhảy Ngày Cơ Bản
Sub AutoFillDate() Dim rng As Range Dim startDate As Date Dim i As Long, n As Long Set rng = Selection ' Vùng được chọn startDate = rng.Cells(1, 1).Value n = rng.Rows.Count ' Số dòng cần điền For i = 1 To n rng.Cells(i, 1).Value = DateAdd("d", i - 1, startDate) Next i
End Sub
Cách dùng:
- Nhập ngày bắt đầu vào ô đầu tiên của vùng chọn.
- Chọn vùng cần điền (số dòng tương ứng).
- Chạy macro → các ô sẽ tự động điền ngày tăng dần.
4.2. Macro Nhảy Ngày Làm Việc (Bỏ Cuối Tuần + Lễ)
Sub FillWorkdays() Dim rng As Range, cell As Range Dim startDate As Date, curDate As Date Dim holidays As Variant, hol As Variant Set rng = Selection startDate = rng.Cells(1, 1).Value holidays = Array(#1/1/2026#, #4/30/2026#, #12/25/2026#) ' Thêm ngày lễ ở đây curDate = startDate For Each cell In rng Do While Weekday(curDate, vbMonday) > 5 Or IsHoliday(curDate, holidays) curDate = curDate + 1 Loop cell.Value = curDate curDate = curDate + 1 Next cell
End Sub Function IsHoliday(d As Date, holArr As Variant) As Boolean Dim h As Variant IsHoliday = False For Each h In holArr If d = h Then IsHoliday = True Exit Function End If Next h
End Function
Giải thích:
Weekday(curDate, vbMonday)trả về 1‑7 (Thứ Hai‑Chủ Nhật). Nếu >5 → cuối tuần.IsHolidaykiểm tra ngày hiện tại có nằm trong mảng ngày lễ không.- Vòng
Do Whilebỏ qua ngày không mong muốn, sau đó điền ngày hợp lệ.
4.3. Macro Tự Nhảy Theo Chu Kỳ Định Số Ngày
Nếu bạn muốn mỗi ô tăng n ngày (ví dụ: 15 ngày), chỉ cần sửa DateAdd:
curDate = DateAdd("d", 15, curDate)
Bạn cũng có thể làm cho n là tham số nhập từ ô B1:
Dim stepDays As Long
stepDays = Range("B1").Value
curDate = DateAdd("d", stepDays, curDate)
4.4. Gán Nút Thực Thi Macro
- Vào Developer → Insert → Button (Form Control).
- Vẽ nút trên sheet, gán macro
AutoFillDatehoặcFillWorkdays. - Đặt tên nút (VD: “Tự Nhảy Ngày”).
5. Ứng Dụng Thực Tế
5.1. Lập Kế Hoạch Dự Án
- Bảng Gantt: Tạo cột ngày bắt đầu, ngày kết thúc, tự động tính thời gian bằng
=WORKDAY(start, duration). - Cột Tiến Độ: Dùng
=IF(TODAY()>end_date, "Hoàn thành", "Chưa").
5.2. Bảng Chấm Công
- Cột ngày: tự nhảy ngày công.
- Cột công ngày:
=IF(WEEKDAY(A2,2)>5,0,1)→ đánh dấu ngày làm việc.
5.3. Báo Cáo Tài Chính
- Tự động tạo cột tháng:
=EDATE(start_month, ROW()-1). - Đánh dấu kỳ kết thúc:
=EOMONTH(start_month,0).
5.4. Lịch Trình Giao Hàng
- Dùng
WORKDAY+ danh sách ngày lễ để xác định ngày giao hàng thực tế. - Công thức:
=WORKDAY(order_date, lead_time, holidays_range).
6. Các Lưu Ý Khi Sử Dụng Tự Nhảy Ngày Tháng
- Kiểm Tra Định Dạng: Đảm bảo ô chứa ngày được định dạng là Date, tránh lỗi “#VALUE!” khi cộng.
- Tháng Ngắn vs Dài: Khi cộng 30 ngày để “đi tới tháng sau”, có thể dừng ở ngày 30/31 không tồn tại. Sử dụng
EDATEđể chính xác hơn. - Năm Nhuận: Excel tự xử lý năm nhuận (29/2). Khi cộng ngày, không cần lo lắng.
- Ngày Lễ Quốc Gia: Cập nhật danh sách ngày lễ thường xuyên để
WORKDAYhoạt động đúng. - Vùng Địa Lý: Hàm
WORKDAY.INTLcho phép tùy chỉnh ngày cuối tuần (VD: ở một số quốc gia, cuối tuần là Thứ Bảy – Chủ Nhật, ở các nơi khác là Thứ Bảy – Chủ Nhật).
excel =WORKDAY.INTL(A1,1,"0000011",$H$2:$H$10)
– "0000011": 1 = ngày nghỉ, 0 = ngày làm việc; chuỗi 7 ký tự bắt đầu từ Thứ Hai.
7. Tổng Kết
Việc tự nhảy ngày tháng trong Excel không chỉ là một kỹ năng “đẹp mắt” mà còn là công cụ thiết yếu giúp bạn:
- Tạo lịch trình, kế hoạch nhanh chóng.
- Giảm thiểu lỗi nhập liệu thủ công.
- Tự động tính toán thời gian, ngày làm việc, ngày lễ.
- Tùy biến linh hoạt cho mọi nhu cầu kinh doanh và cá nhân.
Bạn đã nắm vững các cách:
- Kéo Fill Handle – nhanh nhất cho dãy ngày liên tục.
- Công thức cơ bản (
=A1+1,EDATE,EOMONTH) – linh hoạt cho các khoảng thời gian khác nhau. - Công thức có điều kiện (
WORKDAY,WORKDAY.INTL) – bỏ cuối tuần và ngày lễ. - VBA macro – tự động hoá cho khối lượng lớn, tùy chỉnh sâu.
Hãy áp dụng những kiến thức này vào công việc hằng ngày của bạn, và bạn sẽ thấy Excel trở thành trợ thủ đắc lực, giúp bạn tiết kiệm thời gian và giảm thiểu sai sót đáng kể. Nếu còn thắc mắc hoặc muốn mở rộng thêm các ví dụ thực tế, đừng ngần ngại tìm hiểu tài liệu Microsoft Office hoặc tham gia các cộng đồng Excel để trao đổi kinh nghiệm.
Chúc bạn thành công trong việc tự nhảy ngày tháng trong Excel và đạt được hiệu suất làm việc tối ưu!

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