Có thể bạn quan tâm: Cách Vẽ Biểu Đồ Pareto Bằng Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
Giới thiệu
Trong môi trường giáo dục và doanh nghiệp, việc quản lý và theo dõi sự hiện diện của học sinh, sinh viên hay nhân viên là một công việc quan trọng nhưng không kém phần phức tạp. Trước đây, hầu hết các trường học và công ty vẫn còn sử dụng sổ tay, giấy tờ để ghi chép thời gian, ngày tháng và số lần vắng mặt. Tuy nhiên, với sự phát triển mạnh mẽ của công nghệ thông tin, Excel đã trở thành một công cụ mạnh mẽ, linh hoạt, dễ tiếp cận và có khả năng tùy biến cao, giúp chúng ta thực hiện việc điểm danh một cách nhanh chóng, chính xác và hiệu quả.
Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết về cách điểm danh bằng Excel, bao gồm:
- Chuẩn bị dữ liệu và cấu trúc bảng điểm danh
- Sử dụng các hàm cơ bản (IF, COUNTIF, SUMIF, VLOOKUP, XLOOKUP) để tự động tính toán
- Tạo dropdown list, ô kiểm (checkbox) và form nhập liệu
- Áp dụng Conditional Formatting để hiển thị màu sắc trực quan
- Tự động tạo báo cáo tổng hợp, biểu đồ thống kê
- Bảo mật và chia sẻ file điểm danh
- Mở rộng và tích hợp với Power Query, Power Pivot và VBA
Mục tiêu cuối cùng là giúp bạn có thể tự xây dựng một hệ thống điểm danh hoàn chỉnh chỉ với Excel, đáp ứng nhu cầu từ lớp học nhỏ, lớp học trực tuyến, đến các phòng ban trong doanh nghiệp.
Có thể bạn quan tâm: Cách Vẽ Bản Đồ Trên Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
1. Chuẩn bị dữ liệu và cấu trúc bảng điểm danh
1.1. Xác định yêu cầu
Trước khi bắt đầu xây dựng bảng điểm danh, bạn cần trả lời một số câu hỏi:
| Câu hỏi | Mô tả |
|---|---|
| Ai là đối tượng điểm danh? | Học sinh, sinh viên, nhân viên, thành viên dự án… |
| Tần suất điểm danh? | Hàng ngày, hàng tuần, theo buổi học (sáng/chiều), theo ca làm việc… |
| Thông tin cần lưu trữ? | Họ và tên, mã số, lớp/phòng ban, ngày, giờ vào/ra, lý do vắng… |
| Báo cáo nào cần? | Tổng số ngày vắng, tỉ lệ hiện diện, danh sách vắng liên tục, xu hướng theo thời gian… |
| Ai sẽ sử dụng? | Giảng viên, quản trị nhân sự, trưởng phòng… |
1.2. Thiết kế bảng dữ liệu gốc (Master List)
Tạo một sheet mới, đặt tên “Danh sách”. Đây là bảng chứa thông tin cố định của mỗi người:
| A | B | C | D | E |
|---|---|---|---|---|
| Mã số | Họ và tên | Lớp/Phòng ban | Ngày sinh | |
| 001 | Nguyễn Văn A | L01 | 01/01/2005 | a.nguyen@email.com |
| 002 | Trần Thị B | L01 | 12/03/2005 | b.tran@email.com |
| … | … | … | … | … |
- Mã số là khóa chính, không trùng lặp, dùng để tra cứu nhanh.
- Định dạng Ngày sinh là
dd/mm/yyyyđể đồng nhất. - Đảm bảo cột A (Mã số) không có khoảng trống; nếu có, Excel sẽ gặp lỗi khi dùng VLOOKUP/XLOOKUP.
1.3. Thiết kế bảng điểm danh (Attendance Sheet)
Tạo một sheet mới, đặt tên “Điểm danh”. Bảng này sẽ lưu trữ mỗi lần điểm danh:
| A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|
| Ngày | Buổi | Mã số | Họ và tên | Phòng ban | Trạng thái | Ghi chú |
| 01/09/2026 | Sáng | 001 | (tự động) | (tự động) | Có mặt | |
| 01/09/2026 | Sáng | 002 | (tự động) | (tự động) | Vắng | Ốm |
| … | … | … | … | … | … | … |
- Cột A (Ngày): Định dạng ngày (
dd/mm/yyyy). Có thể tạo dropdown list cho ngày bằng Data Validation → List →=TODAY()-30tới=TODAY()+30hoặc để nhập tự do. - Cột B (Buổi): Dropdown list:
Sáng,Chiều,Tối(tùy nhu cầu). - Cột C (Mã số): Nhập trực tiếp hoặc dùng Data Validation để chọn từ danh sách “Danh sách”.
- Cột D, E: Tự động lấy Họ và tên, Phòng ban dựa trên Mã số (sử dụng VLOOKUP/XLOOKUP).
- Cột F (Trạng thái): Dropdown list:
Có mặt,Vắng,Nghỉ phép,Trễ. - Cột G (Ghi chú): Ô nhập văn bản tự do.
1.3.1. Tự động điền Họ và Tên, Phòng ban
Trong ô D2 (họ và tên), nhập công thức:
=IFERROR(VLOOKUP($C2, Danh_sách!$A:$E, 2, FALSE), "")
Trong ô E2 (phòng ban), nhập:
=IFERROR(VLOOKUP($C2, Danh_sách!$A:$E, 3, FALSE), "")
Sau đó kéo công thức xuống hết cột.
Lưu ý: Nếu dùng Excel 365/2026, bạn có thể dùng XLOOKUP:
excel
=XLOOKUP($C2, Danh_sách!$A:$A, Danh_sách!$B:$B, "", 0)
1.4. Tạo Dropdown List cho Mã số
- Chọn cột C (hoặc các ô bạn muốn).
- Vào Data → Data Validation.
- Allow: List.
- Source:
=Danh_sách!$A$2:$A$1000(điều chỉnh tới số dòng thực tế). - Tick In‑cell dropdown và OK.
Bây giờ, khi nhập Mã số, Excel sẽ tự động hiện danh sách các mã có sẵn, giảm thiểu lỗi nhập.
Có thể bạn quan tâm: Cách Nhập Số 0 Trên Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Sử dụng các hàm để tự động tính toán
2.1. Đếm số ngày có mặt / vắng
Giả sử muốn tính tổng số buổi “Có mặt” của một học sinh trong tháng. Tạo một sheet “Báo cáo”.
2.1.1. Tổng số buổi có mặt
Trong ô B2 (Mã số), nhập mã cần kiểm tra (ví dụ 001).
Ô C2 (Tên) có thể dùng VLOOKUP để hiển thị tên:
=VLOOKUP(B2, Danh_sách!$A:$B, 2, FALSE)
Ô D2 (Tổng có mặt) dùng COUNTIFS:
=COUNTIFS('Điểm danh'!$C:$C, B2, 'Điểm danh'!$F:$F, "Có mặt")
2.1.2. Tổng số buổi vắng
Ô E2:
=COUNTIFS('Điểm danh'!$C:$C, B2, 'Điểm danh'!$F:$F, "Vắng")
2.1.3. Tỷ lệ hiện diện
Ô F2:
=IF(D2+E2=0, "", D2/(D2+E2))
Định dạng ô F2 dưới dạng Percentage với 2 chữ số thập phân.
2.2. Đếm số ngày vắng liên tục (cảnh báo)
Để phát hiện một học sinh vắng 3 ngày liên tục, chúng ta có thể dùng công thức mảng (Array Formula) trong Excel 365:
=LET( data, FILTER('Điểm danh'!$A:$F, ('Điểm danh'!$C:$C=B2)( 'Điểm danh'!$F:$F="Vắng")), dates, SORT(UNIQUE(dataNgày)), diffs, dates - LAG(dates,1,dates), seq, SEQUENCE(ROWS(dates)), grp, SUMIFS(seq, diffs, 1), maxStreak, MAX(COUNTIFS(grp, grp)), maxStreak
)
Công thức trên tính số ngày vắng liên tục lớn nhất. Nếu maxStreak >= 3, bạn có thể hiển thị cảnh báo bằng Conditional Formatting.
2.3. Tính tổng giờ làm việc (trong doanh nghiệp)
Nếu mỗi buổi có thời gian bắt đầu và kết thúc, bạn có thể thêm 2 cột “Giờ vào” và “Giờ ra”. Sau đó tính thời gian làm việc:
=IF(F2="Có mặt", (Giờ ra - Giờ vào)24, 0)
Sử dụng hàm TEXT để hiển thị dưới dạng giờ: =TEXT((Giờ ra - Giờ vào), "h:mm").
3. Tạo Dropdown List, Ô Kiểm (Checkbox) và Form Nhập Liệu
3.1. Sử dụng Form Controls – Checkbox
Nếu bạn muốn người dùng chỉ cần đánh dấu để ghi nhận “Có mặt”, bạn có thể chèn Checkbox:
- Vào Developer → Insert → Form Controls → Checkbox.
- Đặt Checkbox vào cột F (trong một cột mới “Check”).
- Liên kết Checkbox với ô (Right‑click → Format Control → Cell link).
- Khi Checkbox được tick, ô liên kết sẽ hiển thị TRUE, ngược lại FALSE.
Sau đó, dùng công thức để chuyển TRUE/FALSE thành “Có mặt”/“Vắng”:
=IF(G2=TRUE, "Có mặt", "Vắng")
3.2. Sử dụng Data Validation cho ngày và buổi
- Ngày: Bạn có thể tạo danh sách các ngày trong một cột phụ (ví dụ Sheet “Helper” cột A) và dùng Data Validation để tham chiếu.
- Buổi: Tạo danh sách tĩnh
Sáng, Chiều, Tốitrong Name Manager → New Name → Refers to:={"Sáng","Chiều","Tối"}và dùng trong Data Validation.
3.3. Form nhập liệu (UserForm) bằng VBA (tùy chọn)
Nếu muốn một giao diện nhập liệu đẹp hơn, bạn có thể tạo UserForm:
- Mở VBA (Alt+F11).
- Insert → UserForm.
- Thêm các điều khiển: ComboBox (Mã số), TextBox (Ngày), ComboBox (Buổi), OptionButton (Có mặt/Vắng), TextBox (Ghi chú).
- Viết mã để khi người dùng nhấn “Lưu”, dữ liệu sẽ được chèn vào bảng “Điểm danh” cuối cùng.
Private Sub btnSave_Click() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Điểm danh") Dim nextRow As Long nextRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1 ws.Cells(nextRow, 1).Value = Me.txtDate.Value ws.Cells(nextRow, 2).Value = Me.cmbShift.Value ws.Cells(nextRow, 3).Value = Me.cmbID.Value ws.Cells(nextRow, 4).Formula = "=VLOOKUP(C" & nextRow & ",Danh_sách!A:E,2,FALSE)" ws.Cells(nextRow, 5).Formula = "=VLOOKUP(C" & nextRow & ",Danh_sách!A:E,3,FALSE)" ws.Cells(nextRow, 6).Value = IIf(Me.optPresent.Value, "Có mặt", "Vắng") ws.Cells(nextRow, 7).Value = Me.txtNote.Value MsgBox "Đã lưu điểm danh!", vbInformation Unload Me
End Sub
Sau khi lưu, bạn có thể gán macro mở UserForm cho một Button trên sheet “Điểm danh”.
4. Áp dụng Conditional Formatting (Định dạng có điều kiện)
Conditional Formatting giúp hiển thị trực quan trạng thái điểm danh.
4.1. Màu xanh cho “Có mặt”, màu đỏ cho “Vắng”
- Chọn cột F (Trạng thái).
- Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format.
- Công thức cho “Có mặt”:
=$F2="Có mặt"
Định dạng: Fill màu Xanh lá nhạt.
Thêm rule cho “Vắng”:
=$F2="Vắng"
- Định dạng: Fill màu Đỏ nhạt.
4.2. Highlight học sinh/vị trí vắng 3 ngày liên tục

Có thể bạn quan tâm: Cách Xuất Excel Ra Word: Hướng Dẫn Chi Tiết Từ A Đến Z
Giả sử bạn đã có cột “Streak” (đánh dấu số ngày vắng liên tục) ở cột H. Định dạng:
=$H2>=3
- Fill màu Cam.
4.3. Đánh dấu ngày cuối tuần
Nếu không điểm danh vào cuối tuần, bạn muốn ô ngày (cột A) có nền màu xám:
=WEEKDAY($A2,2)>5 // 6 = Thứ 7, 7 = Chủ nhật
- Fill màu Xám nhạt.
5. Tự động tạo báo cáo tổng hợp và biểu đồ thống kê
5.1. PivotTable (Bảng tổng hợp)
- Chọn bất kỳ ô nào trong bảng “Điểm danh”.
- Insert → PivotTable → New Worksheet.
- Kéo Mã số (hoặc Họ và tên) vào Rows.
- Kéo Trạng thái vào Columns.
- Kéo Trạng thái (đếm) vào Values (Count of Trạng thái).
Kết quả: Bảng tổng hợp số buổi “Có mặt”, “Vắng”, “Nghỉ phép” cho mỗi học sinh.
5.2. PivotChart (Biểu đồ)
- Với PivotTable đã tạo, chọn PivotChart → Chọn loại biểu đồ Column Clustered hoặc Stacked Bar.
- Biểu đồ sẽ hiển thị tỉ lệ hiện diện của từng học sinh/nhân viên.
5.3. Báo cáo theo thời gian
Nếu muốn xem xu hướng điểm danh theo ngày:
- Tạo PivotTable mới, kéo Ngày vào Rows (Group by Days, Weeks, Months).
- Kéo Trạng thái (Count) vào Values.
- Vẽ Line Chart để thấy xu hướng “Có mặt” giảm hay tăng theo thời gian.
5.4. Sử dụng Power Query để làm sạch dữ liệu
Nếu dữ liệu điểm danh được nhập từ nhiều nguồn (Google Form, CSV…), bạn có thể:
- Data → Get Data → From File → From Text/CSV.
- Dùng Power Query Editor để hợp nhất, lọc, chuyển đổi kiểu dữ liệu.
- Tải dữ liệu vào sheet “Điểm danh” dưới dạng Table.
Power Query giúp tự động cập nhật mỗi khi file nguồn thay đổi, giảm công việc nhập liệu thủ công.
5.5. Power Pivot (Data Model) cho phân tích nâng cao
Khi dữ liệu lớn (hàng ngàn dòng), bạn có thể bật Power Pivot:
- File → Options → Add‑ins → Manage: COM Add‑ins → Go → Tick “Microsoft Power Pivot for Excel”.
- Tạo Data Model bằng cách “Add to Data Model” khi tạo Table.
- Sử dụng DAX để tính các chỉ số như:
AttendanceRate = DIVIDE( CALCULATE(COUNTROWS('Điểm danh'), 'Điểm danh'Trạng thái="Có mặt"), CALCULATE(COUNTROWS('Điểm danh'), NOT(ISBLANK('Điểm danh'Trạng thái)))
)
Kết quả có thể được dùng trong Power BI hoặc PivotTable.
6. Bảo mật và chia sẻ file điểm danh
6.1. Bảo vệ sheet và workbook
- Protect Sheet: Cho phép người dùng chỉ nhập dữ liệu vào cột C (Mã số) và F (Trạng thái), ngăn sửa công thức.
- Review → Protect Sheet → Đánh dấu các ô cho phép chỉnh sửa.
- Protect Workbook: Ngăn người khác thêm hoặc xóa sheet.
6.2. Mật khẩu và quyền truy cập
- File → Info → Protect Workbook → Encrypt with Password để đặt mật khẩu mở file.
- File → Share → Share with People (trong Office 365) để chia sẻ qua OneDrive, chỉ cấp Can Edit hoặc Can View.
6.3. Tự động sao lưu
- Sử dụng OneDrive/SharePoint để lưu file, bật Version History tự động lưu các phiên bản.
- Hoặc tạo macro tự động sao lưu mỗi khi file được đóng:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.SaveCopyAs "C:\Backup\Attendance_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsx"
End Sub
7. Mở rộng và tích hợp với các công cụ khác
7.1. Kết nối Google Form → Excel
Nếu bạn muốn học sinh/nhân viên tự nhập điểm danh qua Google Form:
- Tạo Google Form với các trường: Ngày, Buổi, Mã số, Trạng thái, Ghi chú.
- Đặt Google Sheet làm nơi lưu trữ trả lời.
- Trong Excel, dùng Data → Get Data → From Online Services → From Google Sheets (cần cài Power Query connector).
- Thiết lập Refresh tự động mỗi 5 phút để cập nhật dữ liệu.
7.2. Tích hợp Power Automate (Flow)
- Khi một hàng mới được thêm vào “Điểm danh” (qua Form hoặc VBA), Power Automate có thể gửi email thông báo tới giáo viên hoặc trưởng phòng.
- Hoặc tự động tạo task trong Microsoft Planner nếu có học sinh/vị trí vắng quá 3 ngày.
7.3. Sử dụng Power BI để báo cáo tương tác
- Import file Excel vào Power BI Desktop.
- Tạo Dashboard: Thống kê tỉ lệ hiện diện, biểu đồ heatmap ngày vắng, danh sách học sinh cần chú ý.
- Publish lên Power BI Service, chia sẻ link tới các bên liên quan (giảng viên, quản lý).
7.4. VBA nâng cao: Tự động đánh dấu ngày nghỉ lễ
Bạn có thể lập một danh sách ngày nghỉ (Sheet “Holiday”) và dùng VBA để tự động đánh dấu các ngày này trong sheet “Điểm danh”:
Sub MarkHoliday() Dim ws As Worksheet, wsHoliday As Worksheet Set ws = ThisWorkbook.Sheets("Điểm danh") Set wsHoliday = ThisWorkbook.Sheets("Holiday") Dim rngHoliday As Range, cell As Range Set rngHoliday = wsHoliday.Range("A2:A50") ' danh sách ngày nghỉ Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim i As Long For i = 2 To lastRow If Not IsError(Application.Match(ws.Cells(i, "A").Value, rngHoliday, 0)) Then ws.Cells(i, "F").Value = "Ngày nghỉ" ws.Cells(i, "F").Interior.Color = RGB(200, 200, 200) End If Next i
End Sub
Chạy macro này mỗi khi cập nhật danh sách ngày nghỉ.
8. Tổng kết – Các bước thực hiện nhanh
| Bước | Nội dung | Công cụ/ Hàm |
|---|---|---|
| 1 | Tạo Danh sách (Mã số, Họ tên, Phòng ban) | Table |
| 2 | Xây dựng Điểm danh (Ngày, Buổi, Mã số, Trạng thái) | Data Validation, Dropdown |
| 3 | Tự động lấy Họ tên, Phòng ban | VLOOKUP / XLOOKUP |
| 4 | Đánh dấu trạng thái bằng Dropdown hoặc Checkbox | Form Controls |
| 5 | Tính tổng, tỷ lệ, streak | COUNTIFS, LET, SEQUENCE, DAX (Power Pivot) |
| 6 | Định dạng có điều kiện để hiển thị màu | Conditional Formatting |
| 7 | Tạo báo cáo PivotTable / PivotChart | PivotTable, Power Query |
| 8 | Bảo mật, chia sẻ, sao lưu | Protect Sheet, OneDrive, VBA backup |
| 9 | Mở rộng: Google Form, Power Automate, Power BI | Power Query, Power Automate, Power BI |
| 10 | Tự động đánh dấu ngày nghỉ | VBA |
Với các bước trên, bạn đã có một hệ thống điểm danh hoàn chỉnh chỉ sử dụng Excel, đáp ứng nhu cầu từ lớp học cơ bản tới quản lý nhân sự phức tạp. Hãy bắt đầu triển khai ngay hôm nay, tùy chỉnh các công thức và giao diện sao cho phù hợp với quy trình làm việc của bạn.
Một vài mẹo nhỏ để tối ưu hiệu suất
- Sử dụng Table (Ctrl+T) cho các dải dữ liệu. Khi bạn thêm dòng mới, công thức và định dạng sẽ tự động mở rộng.
- Giới hạn phạm vi công thức (không dùng toàn bộ cột A:A) để giảm tải tính toán, nhất là khi dữ liệu lớn.
- Tắt tính năng Automatic Calculation khi đang nhập dữ liệu nhiều; chuyển sang Manual và nhấn F9 để tính lại khi cần.
- Sử dụng Named Ranges cho các danh sách tĩnh (Buổi, Trạng thái) để dễ quản lý và tái sử dụng.
- Kiểm tra lỗi: Dùng Formulas → Error Checking để phát hiện #N/A, #REF! nhanh chóng.
Kết luận
Excel không chỉ là một công cụ tính toán số liệu mà còn là một nền tảng mạnh mẽ để quản lý dữ liệu điểm danh. Bằng cách kết hợp các tính năng như Data Validation, hàm tra cứu, Conditional Formatting, PivotTable, Power Query và thậm chí là VBA, bạn có thể xây dựng một hệ thống điểm danh đầy đủ chức năng, độ tin cậy cao, và dễ dàng mở rộng.
Hãy áp dụng những kiến thức trên vào thực tiễn, tùy chỉnh sao cho phù hợp với môi trường giáo dục hoặc doanh nghiệp của bạn. Khi đã thành công, bạn sẽ nhận ra rằng việc điểm danh không còn là gánh nặng, mà trở thành một quy trình tự động, nhanh chóng và minh bạch, giúp tập trung thời gian và năng lượng vào việc giảng dạy, quản lý và phát triển.
Chúc bạn thành công!

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