# Cách điểm danh học sinh bằng Google Sheets: ký hiệu, đếm buổi, chuyên cần, báo phụ huynh

Điểm danh học sinh bằng Google Sheets gọn nhất là mỗi lớp một tab: mỗi học sinh một dòng, mỗi buổi một cột có ngày, mỗi ô gõ một chữ — C có mặt, M đi muộn, P nghỉ có phép, V vắng không phép. Từ mấy chữ cái đó, COUNTIF đếm ra số buổi, tỷ lệ chuyên cần, cảnh báo em nào nghỉ nhiều và cả học phí theo buổi. Bài đi qua từng công thức với số ví dụ cụ thể, rồi cách soạn sẵn tin báo phụ huynh.

Đăng 2026-10-19 · 12 phút đọc · Điểm danh, Lớp dạy thêm, Chuyên cần, COUNTIF, Google Sheets

## Cách làm bảng điểm danh học sinh trên Google Sheets

Điểm danh bằng sổ thì cuối tháng phải ngồi đếm lại. Trên Google Sheets chỉ cần dựng đúng khung từ đầu để công thức chạy được cả khoá học.

- **Ký hiệu:** C, M, P, V
- **Mỗi lớp:** Một tab, cả khoá trên một dòng
- **Hàm chính:** COUNTIF, SUMPRODUCT
- **Ví dụ:** Lớp Toán 8, 150.000đ/buổi

Khung dùng trong cả bài (tab "Toán 8A"):

- **Dòng 1** — ô B1 là tháng đang xem, gõ ngày đầu tháng: 01/10/2026. Ô D1 là đơn giá một buổi: 150000.
- **Dòng 2** — tiêu đề. Cột A Mã HS, B Họ tên, C đến I là các cột tự tính (có mặt, có phép, không phép, đã điểm danh, chuyên cần, cảnh báo, học phí). Từ cột **J tới AS** là ngày của từng buổi: J2 = 01/10/2026, K2 = 06/10/2026… đủ 36 buổi cho một khoá 4 tháng.
- **Từ dòng 3** — mỗi học sinh một dòng. Sau mỗi buổi chỉ gõ một chữ vào ô giao giữa tên và ngày.

*Quy định P có tính tiền hay không là thoả thuận của lớp — ghi rõ trong phiếu đăng ký để phụ huynh không bất ngờ.*

| Ký hiệu | Nghĩa | Tính là có mặt? | Tính học phí theo buổi? |
|---|---|---|---|
| C | Có mặt, đúng giờ | Có | Có |
| M | Đi muộn | Có | Có |
| P | Nghỉ có phép (phụ huynh báo trước) | Không | Tuỳ quy định — trong bài: không tính |
| V | Vắng không phép | Không | Có (giữ chỗ, giáo viên vẫn dạy) |
| (trống) | Buổi chưa học hoặc học sinh chưa vào lớp | Không đếm | Không |

Ba việc nên làm trước khi điểm danh buổi đầu:

1. **Menu thả xuống cho vùng điểm danh**: chọn J3:AS40 › Dữ liệu › Xác thực dữ liệu › Menu thả xuống với 4 giá trị C, M, P, V, chọn từ chối dữ liệu không hợp lệ. Không ai gõ được "c" thường, "x" hay "có" — những thứ làm COUNTIF đếm sai.
2. **Cố định 2 dòng đầu và cột Họ tên** (menu Xem) để kéo sang buổi thứ 20 vẫn thấy ngày và tên.
3. **Tô màu theo ký hiệu**: Định dạng có điều kiện trên J3:AS40, quy tắc "Văn bản chính xác là" V nền đỏ nhạt, P nền xanh nhạt, M nền vàng. Nhìn lướt là thấy em nào hay vắng.

**Ô đánh dấu (checkbox) hay chữ cái?:** Checkbox chỉ có hai trạng thái — tích hoặc không — nên không phân biệt được nghỉ có phép với vắng không phép, cũng không ghi được đi muộn. Với lớp thu học phí theo buổi, sự khác nhau đó là tiền. Dùng chữ cái từ đầu, đừng đổi giữa khoá.

## Đếm số buổi có mặt bằng COUNTIF

Muốn biết cả khoá một học sinh đã đi học bao nhiêu buổi, đếm ô C và ô M trên dòng của em đó:

**Số buổi có mặt cả khoá** — đi muộn vẫn tính là có mặt:

```
=COUNTIF(J3:AS3;"C")+COUNTIF(J3:AS3;"M")
```

Nhưng học phí và báo cáo thường tính **theo tháng**, trong khi một dòng chứa cả khoá. Lúc này phải đếm có điều kiện ngày: chỉ những cột có ngày ở dòng 2 nằm trong tháng của ô B1. SUMPRODUCT làm được việc đó trong một công thức, chạy cả trên Google Sheets lẫn Excel:

**C3 — số buổi có mặt trong tháng** (C hoặc M, ngày từ B1 tới cuối tháng):

```
=SUMPRODUCT(($J$2:$AS$2>=$B$1)*($J$2:$AS$2<=EOMONTH($B$1;0))*((J3:AS3="C")+(J3:AS3="M")))
```

**D3 — nghỉ có phép**, **E3 — vắng không phép**, **F3 — số buổi đã điểm danh** trong tháng (ô không trống):

```
=SUMPRODUCT(($J$2:$AS$2>=$B$1)*($J$2:$AS$2<=EOMONTH($B$1;0))*(J3:AS3="P"))
=SUMPRODUCT(($J$2:$AS$2>=$B$1)*($J$2:$AS$2<=EOMONTH($B$1;0))*(J3:AS3="V"))
=SUMPRODUCT(($J$2:$AS$2>=$B$1)*($J$2:$AS$2<=EOMONTH($B$1;0))*(J3:AS3<>""))
```

Đọc công thức: ($J$2:$AS$2>=$B$1) cho ra 1 ở những buổi từ 01/10 trở đi, phần thứ hai cho ra 1 ở những buổi tới 31/10, phần cuối cho ra 1 ở ô có chữ cần đếm. Nhân ba dãy với nhau thì chỉ buổi thoả cả ba mới còn 1; SUMPRODUCT cộng lại. Cột ngày còn trống ở cuối khoá được coi là 0 nên tự bị loại.

**Thử lại** với em Trần Gia Bình, tháng 10/2026 có 9 buổi (thứ Ba, thứ Năm): C, C, M, C, P, C, V, C, C; buổi 03/11 ghi C. C3 = 6 chữ C + 1 chữ M = **7** (buổi 03/11 bị loại vì sau 31/10). D3 = **1**, E3 = **1**, F3 = **9**. Đổi B1 thành 01/11/2026 thì C3 ra 1 — cùng một dòng, xem được từng tháng.

![Màn hình Điểm danh nhanh lớp TOAN8-A buổi 5 ngày 15/09/2026: thẻ từng học sinh ghi C, M, P, K hoặc để trống, bên phải đếm có mặt 13, muộn 1, có phép 1, không phép 1, chưa điểm danh 7, nút Tất cả có mặt và Lưu 18 thay đổi](https://www.hitava.cloud/img/blog/cach-diem-danh-hoc-sinh-bang-google-sheets/diem-danh-nhanh.webp)
*Điểm danh nhanh trong mẫu Quản lý lớp học PRO (dữ liệu mẫu, chỉ trên Google Sheets): chạm thẻ để đổi C → M → P → K. Mẫu dùng K cho vắng không phép, thay vì V như trong bài.*

## Cách tính tỷ lệ chuyên cần của học sinh và của lớp

Tỷ lệ chuyên cần = số buổi có mặt ÷ số buổi đã điểm danh. Chia cho số buổi **đã điểm danh** chứ không chia cho tổng số buổi của tháng — giữa tháng mà chia cho 9 thì em nào cũng chỉ được 40–50%, nhìn như bỏ học.

**G3 — chuyên cần trong tháng**, định dạng phần trăm (Định dạng › Số › Phần trăm):

```
=IF(F3=0;"";C3/F3)
```

**Thử lại**: Bình có mặt 7 trên 9 buổi đã điểm danh → 7 ÷ 9 = **77,8%**. Em Lê Minh An đi đủ 9 buổi → 100%. Chưa có buổi nào thì ô để trống thay vì báo #DIV/0!.

**Chuyên cần của cả lớp trong một buổi** giúp bạn thấy buổi nào vắng bất thường (trùng lịch thi ở trường, trời mưa to). Đặt ở dòng dưới danh sách, ví dụ dòng 41, rồi kéo sang phải:

**Tỷ lệ có mặt của buổi ở cột J** (học sinh từ dòng 3 tới 40):

```
=IFERROR((COUNTIF(J3:J40;"C")+COUNTIF(J3:J40;"M"))/COUNTA(J3:J40);"")
```

Thử lại với lớp 3 em ở hình bìa, buổi 29/10: An C, Bình C, Chi V → (2 + 0) ÷ 3 = **66,7%**. Buổi chưa học thì COUNTA = 0, IFERROR trả ô trống.

## Cảnh báo học sinh nghỉ nhiều

Học sinh bỏ lớp hiếm khi nghỉ một lèo — thường bắt đầu bằng hai buổi vắng liền, rồi chuyên cần tụt dần. Một cột cảnh báo giúp bạn gọi phụ huynh từ buổi thứ hai thay vì tới cuối tháng mới biết. Ba mức hay dùng:

- **Vắng không phép từ 2 buổi** trong tháng.
- **Nghỉ 2 buổi liền gần nhất** — P hoặc V, tính trên cả khoá chứ không chỉ trong tháng (nghỉ 29/10 và 03/11 vẫn là liền nhau).
- **Chuyên cần dưới 80%**, chỉ xét khi tháng đã có từ 4 buổi trở lên để khỏi báo nhầm đầu tháng.

**H3 — cảnh báo**: lấy 2 chữ cuối cùng của dòng bằng TEXTJOIN (bỏ ô trống), rồi kiểm từng chữ có phải P hoặc V không:

```
=IF(E3>=2;"Vắng không phép "&E3&" buổi";IF(AND(LEN(RIGHT(TEXTJOIN("";TRUE;J3:AS3);2))=2;ISNUMBER(FIND(LEFT(RIGHT(TEXTJOIN("";TRUE;J3:AS3);2);1);"PV"));ISNUMBER(FIND(RIGHT(TEXTJOIN("";TRUE;J3:AS3);1);"PV")));"Nghỉ 2 buổi liền";IF(AND(F3>=4;G3<0,8);"Chuyên cần dưới 80%";"")))
```

**Thử lại** với ba em ở hình bìa:

| Học sinh | Dòng điểm danh | 2 chữ cuối | Kết quả H3 |
|---|---|---|---|
| Lê Minh An | C C C C C C C C C | CC | (trống) |
| Trần Gia Bình | C C M C P C V C C | CC — E3 = 1, G3 = 77,8% | Chuyên cần dưới 80% |
| Phạm Thu Chi | C C C C C C C P V | PV | Nghỉ 2 buổi liền |

Chi cũng dưới 80% nhưng công thức báo lý do quan trọng hơn trước. Để cả dòng nổi lên: chọn B3:B40 › Định dạng có điều kiện › Công thức tuỳ chỉnh là =$H3<>"" › nền đỏ nhạt.

**Bẫy: số thập phân trong công thức:** Google Sheets để vùng Việt Nam dùng dấu phẩy thập phân, nên viết 0,8 như trong công thức trên. Nếu file để vùng Hoa Kỳ thì đổi thành 0.8 và đổi mọi dấu chấm phẩy thành dấu phẩy. Ngày ở dòng 2 cũng phải là ngày thật chứ không phải chữ — xem [cách sửa lỗi ngày tháng trong Google Sheets](https://www.hitava.cloud/blog/sua-loi-ngay-thang-google-sheets).

## Nối điểm danh với học phí theo buổi

Lớp thu theo buổi thì điểm danh chính là hoá đơn. Theo quy định trong bài (P không tính tiền, V vẫn tính), số buổi tính phí = buổi đã điểm danh − buổi nghỉ có phép.

**I3 — học phí tháng**, D1 là đơn giá một buổi:

```
=(F3-D3)*$D$1
```

**Thử lại**: Bình F3 = 9, D3 = 1 → (9 − 1) × 150.000 = **1.200.000đ**. An đi đủ 9 buổi → 1.350.000đ. Nếu lớp bạn không tính buổi V, đổi thành =(C3)*$D$1, tức chỉ tính buổi có mặt: Bình còn 7 × 150.000 = 1.050.000đ.

Có nhiều lớp, mỗi lớp một giá thì đừng gõ đơn giá vào từng tab. Lập một tab "Lớp" (A mã lớp, C đơn giá) và để ô D1 của mỗi tab lấy giá về: =VLOOKUP("TOAN8A";'Lớp'!A:C;3;FALSE). Tăng giá từ tháng sau thì sửa một chỗ — nhưng nhớ là tháng đã thu cũng tính lại theo giá mới, nên chốt số tiền các tháng cũ (dán giá trị) trước khi đổi.

Điểm danh chỉ trả lời được "tháng này bao nhiêu buổi". Còn thu theo tháng, trọn khoá, gói buổi, bảo lưu buổi nghỉ có phép, giảm anh chị em, phiếu có mã QR và công nợ — các phần đó có ở bài [quản lý lớp dạy thêm bằng Google Sheets](https://www.hitava.cloud/blog/quan-ly-lop-day-them-bang-google-sheets). Trước khi chia file cho giáo viên khác cùng điểm danh, khoá cột C:I để không ai gõ đè lên công thức: [cách khoá ô công thức trong Google Sheets](https://www.hitava.cloud/blog/khoa-o-cong-thuc-google-sheets).

→ [Quản lý lớp học PRO có sẵn tab Điểm danh 6 ký hiệu (C, M, P, K, B học bù, T học thử), tự đếm buổi, chuyên cần, nghỉ liên tiếp và tính học phí theo tháng, buổi, khoá hoặc gói; nghỉ có phép trong hạn mức được bảo lưu. Tab Nhắc việc báo buổi chưa điểm danh. Trên Google Sheets có điểm danh nhanh và Web App cho giáo viên.](https://www.hitava.cloud/san-pham/quan-ly-lop-hoc-pro)

## Báo điểm danh cho phụ huynh

Phụ huynh hay hỏi hai câu: con tháng này đi học đủ không, và đóng bao nhiêu. Một cột soạn sẵn tin nhắn trả lời cả hai — bạn chỉ việc chép dán vào Zalo.

**Tin nhắn tháng** cho học sinh ở dòng 3:

```
="Kính gửi phụ huynh em "&B3&". Tháng "&TEXT($B$1;"mm/yyyy")&" em học "&C3&"/"&F3&" buổi, nghỉ có phép "&D3&", vắng không phép "&E3&". Học phí tháng: "&SUBSTITUTE(TEXT(I3;"#,##0");",";".")&"đ."
```

**Thử lại** với Bình: "Kính gửi phụ huynh em Trần Gia Bình. Tháng 10/2026 em học 7/9 buổi, nghỉ có phép 1, vắng không phép 1. Học phí tháng: 1.200.000đ." SUBSTITUTE đổi dấu phẩy ngăn nghìn thành dấu chấm, phòng khi file để vùng khác; nếu đã là dấu chấm thì không đổi gì.

**Liệt kê ngày nghỉ trong tháng** (chỉ Google Sheets — dùng FILTER và ARRAYFORMULA):

```
=IFERROR(TEXTJOIN(", ";TRUE;ARRAYFORMULA(TEXT(FILTER($J$2:$AS$2;((J3:AS3="P")+(J3:AS3="V"))*($J$2:$AS$2>=$B$1)*($J$2:$AS$2<=EOMONTH($B$1;0)));"dd/mm")));"không có")
```

Thử lại: Bình nghỉ P ngày 15/10 và V ngày 22/10 → **15/10, 22/10**. An không nghỉ buổi nào → FILTER báo lỗi vì không có dòng nào, IFERROR trả "không có". Nối ô này vào tin nhắn: "…, nghỉ các ngày 15/10, 22/10".

![Trang tra cứu cho phụ huynh trên điện thoại: chào phụ huynh của Nguyễn Minh An, lớp TOAN8-A và ANH8-B, học phí cần đóng 2.858.000đ hạn 08/09, chuyên cần kỳ này mỗi lớp 4 ô C và 100%](https://www.hitava.cloud/img/blog/cach-diem-danh-hoc-sinh-bang-google-sheets/phu-huynh-tra-cuu.webp)
*Web App tra cứu cho phụ huynh trong mẫu Quản lý lớp học PRO (dữ liệu mẫu, mặc định tắt): xem chuyên cần và học phí bằng mã học sinh + mã tra cứu.*

Vài điều nên giữ khi báo điểm danh:

- **Báo vắng trong ngày.** Tin cuối tháng là để đối chiếu tiền; còn em vắng không phép thì nhắn phụ huynh ngay tối hôm đó — có khi phụ huynh tưởng con đang ở lớp.
- **Nhắn riêng, không đăng bảng điểm danh vào nhóm lớp.** Bảng có tên, số buổi vắng của mọi em; phụ huynh này không cần thấy con nhà khác nghỉ mấy buổi.
- **Không cho phụ huynh mở file.** Chia sẻ file Sheets cho phụ huynh là họ thấy toàn bộ danh sách, số điện thoại, học phí của cả lớp. Muốn phụ huynh tự tra cứu thì cần một trang riêng chỉ hiện dữ liệu của con họ, viết bằng Apps Script.
- **Zalo không tự gửi được.** Zalo không cho phần mềm tự nhắn tới tài khoản cá nhân, nên cách thực tế vẫn là soạn sẵn rồi chép dán; phụ huynh có email thì gửi hàng loạt bằng Apps Script.

## Đọc tiếp

- [Quản lý lớp dạy thêm bằng Google Sheets](https://www.hitava.cloud/blog/quan-ly-lop-day-them-bang-google-sheets): 8 bảng, 4 cách tính học phí, phiếu QR, lương giáo viên
- [Cách khoá ô công thức trong Google Sheets](https://www.hitava.cloud/blog/khoa-o-cong-thuc-google-sheets): Để giáo viên điểm danh mà không gõ đè công thức
- [Cách dùng hàm IF nhiều điều kiện](https://www.hitava.cloud/blog/cach-dung-ham-if-nhieu-dieu-kien): Viết cột cảnh báo nhiều mức gọn hơn
- [Hướng dẫn cài Quản lý lớp học PRO](https://www.hitava.cloud/huong-dan/quan-ly-lop-hoc-pro): Mở kỳ, điểm danh nhanh, bật Web App giáo viên và phụ huynh

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

**Nên để mỗi tháng một tab hay cả khoá một tab?**

Cả khoá một tab cho mỗi lớp, ngày nằm ở dòng tiêu đề. Công thức SUMPRODUCT theo ô tháng B1 cho bạn xem từng tháng mà không phải chép danh sách học sinh sang tab mới. Khoá sau thì tạo bản sao tab, xoá ký hiệu cũ, điền lịch mới.

**Giáo viên điểm danh bằng điện thoại được không?**

Mở file bằng ứng dụng Google Sheets là chọn được ký hiệu từ menu thả xuống. Nhưng giáo viên sẽ thấy mọi tab bạn chia sẻ, kể cả học phí. Muốn giáo viên chỉ thấy lớp mình thì cần trang điểm danh riêng viết bằng Apps Script, như Web App đi kèm Quản lý lớp học PRO (link riêng + mã PIN).

**Học sinh vào lớp giữa khoá thì có bị tính chuyên cần thấp không?**

Không, nếu các buổi trước khi em vào để trống. Công thức chuyên cần chia cho số buổi đã điểm danh (ô không trống), nên em vào ngày 20/10 và đi đủ 3 buổi vẫn được 100%.

**Có cần ký hiệu riêng cho học bù và học thử không?**

Nên có nếu lớp bạn hay cho học bù. Thêm B (học bù, tính là có mặt) và T (học thử, không tính phí, không tính chuyên cần) vào menu thả xuống, rồi thêm (J3:AS3="B") vào công thức có mặt. Đừng ghi chữ C cho buổi học bù — cuối tháng sẽ không biết buổi nào là bù.

**Công thức có chạy trên Excel không?**

Phần đếm buổi, chuyên cần, cảnh báo và học phí chạy trên Excel (TEXTJOIN cần Excel 2019 hoặc Microsoft 365). Công thức liệt kê ngày nghỉ dùng ARRAYFORMULA là của Google Sheets. Máy để vùng Hoa Kỳ thì đổi dấu chấm phẩy thành dấu phẩy.

Video: [Điểm danh & học phí lớp dạy thêm bằng Google Sheets, có mã QR](https://youtu.be/m8E_7QI9YI0)

## Mẫu liên quan

- https://www.hitava.cloud/san-pham/quan-ly-lop-hoc-pro

Trang bài viết: https://www.hitava.cloud/blog/cach-diem-danh-hoc-sinh-bang-google-sheets