Bài 14 · THVP

Hàm ngày tháng trong Excel

DAY, MONTH, YEAR, TODAY, NOW, DATE, TEXT kèm bảng mẫu và bài tập thực hành

🎯 Mục tiêu bài học

  • Hiểu cách Excel lưu trữ ngày tháng và nhận biết ô ngày hợp lệ.
  • Dùng DAY, MONTH, YEAR để tách ngày, tháng, năm từ một ô ngày.
  • Dùng TODAY và NOW để lấy ngày hiện tại, ngày giờ hiện tại và đóng dấu thời gian.
  • Dùng DATE để ghép năm - tháng - ngày thành một ngày hoàn chỉnh.
  • Dùng TEXT để đổi ngày thành văn bản theo mẫu dd/mm/yyyy, tên thứ, tên tháng.
  • Tính tuổi, thâm niên, hạn thanh toán và số ngày còn lại.
  • Hoàn thành 2 bài tập mẫu về hồ sơ nhân sự và theo dõi đơn hàng.

📋 Bảng mẫu để thực hành

Nhập lại bảng mẫu trong Excel, sau đó thực hiện các yêu cầu bên phải.

Danh sách nhân viên công ty TCMaster
HàngB — Mã NVC — Họ và tênD — Ngày sinhE — Ngày vào làmF — Phòng ban
4NV001Nguyễn Văn An15/04/199001/03/2018Kinh doanh
5NV002Trần Thị Bình22/11/199212/07/2019Nhân sự
6NV003Lê Quốc Cường05/01/198825/12/2016Kỹ thuật
7NV004Phạm Thị Dung30/07/199508/09/2021Kế toán
8NV005Hoàng Văn Đức12/03/199103/02/2020Kinh doanh
9NV006Vũ Thị Hương17/09/199319/05/2022Marketing

📅 Ghi nhớ nhanh cấu trúc 7 hàm ngày tháng

HàmCấu trúcCông dụng
DAY=DAY(ngày)Lấy phần ngày (1 – 31)
MONTH=MONTH(ngày)Lấy phần tháng (1 – 12)
YEAR=YEAR(ngày)Lấy phần năm (4 chữ số)
TODAY=TODAY()Ngày hiện tại, không có đối số
NOW=NOW()Ngày và giờ hiện tại
DATE=DATE(năm; tháng; ngày)Ghép 3 số thành một ngày hoàn chỉnh
TEXT=TEXT(giá_trị; "mẫu_định_dạng")Đổi ngày/số thành văn bản theo mẫu

💡 Dấu ngăn cách đối số là ; hoặc , tuỳ cài đặt máy. Nếu Excel báo lỗi công thức, hãy đổi sang dấu còn lại.

Hướng dẫn chi tiết 7 hàm ngày tháng trong Excel

Mỗi phần đều nêu cấu trúc hàm, cách sử dụng từng bước và ảnh minh hoạ thực tế trong Excel.

1

Hàm DAY — lấy phần ngày

  1. Cấu trúc: =DAY(ngày). Công dụng: trả về số ngày trong tháng, từ 1 đến 31.
  2. Nhấn vào ô kết quả, ví dụ ô G4 ở cột Ngày.
  3. Gõ =DAY( rồi nhấn chuột vào ô D4 chứa ngày sinh.
  4. Đóng ngoặc ) và nhấn Enter — 15/04/1990 cho ra 15.
  5. Kéo Fill Handle (ô vuông nhỏ góc dưới phải) xuống hết cột.
  6. Nếu kết quả hiện ra dạng ngày tháng, chọn ô → Ctrl + 1 → Number → General.
  7. Nếu báo lỗi #VALUE!, ô gốc đang là văn bản: chọn cột → Data → Text to Columns → Finish để đổi về ngày thật.

💡 Lọc nhanh danh sách sinh nhật trong ngày: =AND(DAY(D4)=DAY(TODAY());MONTH(D4)=MONTH(TODAY())).

Excel 2019 với công thức =DAY(D4) tách phần ngày từ cột Ngày sinh
Hình 1: Hàm DAY — lấy phần ngày
2

Hàm MONTH — lấy phần tháng

  1. Cấu trúc: =MONTH(ngày). Công dụng: trả về số tháng từ 1 đến 12.
  2. Nhấn ô kết quả, gõ =MONTH( rồi chọn ô chứa ngày, ví dụ D4.
  3. Đóng ngoặc ) và nhấn Enter — 15/01/2024 cho ra 1.
  4. Kéo Fill Handle xuống hết cột để lấy tháng cho toàn bộ danh sách.
  5. Dùng cột Tháng vừa tạo để tổng hợp doanh thu theo tháng bằng SUMIF hoặc PivotTable.
  6. Hiện tên tháng thay vì số: =TEXT(D4;"mmmm") hoặc ="Tháng "&MONTH(D4).

💡 Tính doanh thu tháng 3: =SUMIF(cột_tháng;3;cột_thành_tiền).

Excel 2019 với công thức =MONTH(D4) tách tháng từ cột Ngày hoá đơn
Hình 2: Hàm MONTH — lấy phần tháng
3

Hàm YEAR — lấy phần năm

  1. Cấu trúc: =YEAR(ngày). Công dụng: trả về năm gồm 4 chữ số.
  2. Nhấn ô kết quả, gõ =YEAR( rồi chọn ô D4.
  3. Đóng ngoặc ) và nhấn Enter — 15/06/1990 cho ra 1990.
  4. Kéo Fill Handle xuống hết cột.
  5. Tính tuổi gần đúng: =YEAR(TODAY())-YEAR(D4).
  6. Tính tuổi chính xác theo ngày: =DATEDIF(D4;TODAY();"y").
  7. Lưu ý: kết quả là số nên có thể sắp xếp, lọc và tính toán bình thường.

💡 Đếm nhân viên sinh năm 1990: =COUNTIF(cột_năm_sinh;1990).

Excel 2019 với công thức =YEAR(D4) tách năm sinh từ cột Ngày sinh
Hình 3: Hàm YEAR — lấy phần năm
4

Hàm TODAY — ngày hiện tại

  1. Cấu trúc: =TODAY(). Hàm này không có đối số nhưng vẫn phải gõ đủ hai dấu ngoặc.
  2. Nhấn vào ô muốn hiện ngày lập báo cáo, ví dụ ô B2.
  3. Gõ =TODAY() rồi nhấn Enter — ô hiện ngày hôm nay theo đồng hồ máy tính.
  4. Chỉnh kiểu hiển thị: Ctrl + 1 → Number → Custom → gõ dd/mm/yyyy.
  5. Kết quả tự cập nhật mỗi khi mở file hoặc nhấn F9 — đây là hàm động (volatile).
  6. Tính số ngày còn lại đến hạn: =Ngày_hết_hạn-TODAY().
  7. Muốn giữ ngày cố định (không đổi), gõ tay hoặc nhấn Ctrl + ; (dấu chấm phẩy).

💡 Cảnh báo hoá đơn quá hạn bằng Conditional Formatting với công thức =TODAY()>ngày_hết_hạn.

Excel 2019 với công thức =TODAY() hiển thị ngày lập báo cáo
Hình 4: Hàm TODAY — ngày hiện tại
5

Hàm NOW — ngày và giờ hiện tại

  1. Cấu trúc: =NOW(). Công dụng: trả về cả ngày lẫn giờ hiện tại của máy tính.
  2. Nhấn ô cần đóng dấu thời gian, gõ =NOW() rồi nhấn Enter.
  3. Nếu ô chỉ hiện ngày, chọn ô → Ctrl + 1 → Custom → gõ dd/mm/yyyy hh:mm.
  4. Chỉ lấy phần giờ: =NOW()-TODAY() rồi định dạng ô kiểu Time (hh:mm).
  5. Kết quả tự cập nhật khi bảng tính tính lại; nhấn F9 để làm mới ngay.
  6. Muốn ghi giờ cố định lúc nhập liệu, nhấn Ctrl + Shift + ; thay vì dùng hàm.

💡 Ghép ngày giờ vào tiêu đề báo cáo: ="Cập nhật lúc "&TEXT(NOW();"hh:mm dd/mm/yyyy").

Excel 2019 với công thức =NOW() hiển thị ngày và giờ hiện tại trên báo cáo
Hình 5: Hàm NOW — ngày và giờ hiện tại
6

Hàm DATE — ghép năm, tháng, ngày thành một ngày

  1. Cấu trúc: =DATE(năm; tháng; ngày). Công dụng: tạo một giá trị ngày thật từ ba số rời.
  2. Nhấn ô kết quả, gõ =DATE( rồi chọn ô chứa Năm.
  3. Gõ ; rồi chọn ô chứa Tháng, gõ ; rồi chọn ô chứa Ngày.
  4. Đóng ngoặc ) và nhấn Enter — 2024, 6, 15 cho ra 15/06/2024.
  5. Kéo Fill Handle xuống hết cột và định dạng ô kiểu Date cho đẹp.
  6. Excel tự dồn số vượt phạm vi: DATE(2024;13;1) cho ra 01/01/2025.
  7. Tính ngày hết hạn sau 30 ngày: =DATE(YEAR(D4);MONTH(D4);DAY(D4)+30).
  8. Ghép ngày từ chuỗi dạng 20240615: =DATE(LEFT(B4;4);MID(B4;5;2);RIGHT(B4;2)).

💡 Lấy ngày cuối tháng: =DATE(YEAR(D4);MONTH(D4)+1;0) — số 0 nghĩa là ngày trước mùng 1 tháng sau.

Excel 2019 với công thức =DATE ghép 3 cột Năm, Tháng, Ngày thành ngày hoàn chỉnh
Hình 6: Hàm DATE — ghép năm, tháng, ngày thành một ngày
7

Hàm TEXT — đổi ngày thành văn bản theo mẫu

  1. Cấu trúc: =TEXT(giá_trị; "mẫu_định_dạng"). Công dụng: đổi ngày hoặc số thành chuỗi văn bản theo đúng mẫu mong muốn.
  2. Nhấn ô kết quả, gõ =TEXT( rồi chọn ô D4 chứa ngày.
  3. Gõ ; rồi nhập mẫu trong dấu nháy kép, ví dụ "dd/mm/yyyy".
  4. Đóng ngoặc ) và nhấn Enter — kết quả canh trái vì đã là văn bản.
  5. Một số mẫu hay dùng: "dd/mm/yyyy", "mm/yyyy", "dddd" (thứ), "mmmm" (tên tháng), "hh:mm".
  6. Định dạng số tiền: =TEXT(F4;"#,##0")&" đ" cho ra 15,250,000 đ.
  7. Dùng TEXT khi cần ghép ngày vào câu chữ, vì ghép trực tiếp sẽ ra dãy số khó đọc.
  8. Lưu ý: kết quả là văn bản nên không dùng để cộng trừ ngày được nữa.

💡 Câu thông báo tự động: ="Hợp đồng ký ngày "&TEXT(E4;"dd/mm/yyyy").

Excel 2019 với công thức =TEXT(D4;"dd/mm/yyyy") đổi ngày thành văn bản
Hình 7: Hàm TEXT — đổi ngày thành văn bản theo mẫu

📝 Bài tập mẫu để luyện tập

Hai bài tập dưới đây bao quát cả 7 hàm vừa học. Hãy tự làm trước rồi mới mở phần đáp án gợi ý.

1

Bài tập 1 — Hồ sơ nhân sự

Nhập bảng sau vào Excel (tiêu đề ở hàng 3, dữ liệu từ hàng 4) rồi dùng DAY, MONTH, YEAR, TODAY để phân tích ngày tháng.

Hồ sơ nhân sự phòng Kinh doanh
HàngB — Mã NVC — Họ và tênD — Ngày sinhE — Ngày vào làm
4KD001Nguyễn Thị Mai15/04/199001/03/2018
5KD002Trần Quốc Bảo22/11/199212/07/2019
6KD003Lê Hoàng Nam05/01/198825/12/2016
7KD004Phạm Thu Hà30/07/199508/09/2021
8KD005Võ Minh Trí12/03/199103/02/2020
Xem đáp án gợi ý
  • H1: =TODAY()
  • F4: =DAY(D4)
  • G4: =MONTH(D4)
  • H4: =YEAR(D4)
  • I4: =YEAR(TODAY())-YEAR(D4)
  • J4: =YEAR(TODAY())-YEAR(E4)
  • K4: =TEXT(E4;"dd/mm/yyyy")
2

Bài tập 2 — Theo dõi đơn hàng và hạn thanh toán

Nhập bảng sau rồi dùng DATE, TEXT, TODAY, NOW để lập bảng theo dõi hạn thanh toán.

Bảng theo dõi đơn hàng tháng 6
HàngB — Mã đơnC — Khách hàngD — NămE — ThángF — NgàyG — Trị giá
4DH001Công ty TNHH An Phát202451515,250,000
5DH002Công ty CP Bình Minh20245228,750,000
6DH003Công ty TNHH Đại Nam20246112,400,000
7DH004Công ty CP Thịnh Vượng20246105,980,000
8DH005Công ty TNHH Phú Quý20246189,300,000
Xem đáp án gợi ý
  • H4: =DATE(D4;E4;F4)
  • I4: =H4+30
  • J4: =I4-TODAY()
  • K4: =TEXT(H4;"dddd")
  • L4: =CONCAT(B4;" - đặt ngày ";TEXT(H4;"dd/mm/yyyy");" - ";TEXT(G4;"#,##0");" đ")
  • B1: =NOW()

Bài tập thực hành

Tài liệu đang được cập nhật.

ZaloEmail