Bỏ qua để đến nội dung chính
Điền NguyễnAZ

google-sheets

Cách tạo bảng chấm công online bằng Google Sheets (kết hợp Google Form)

13/09/2026· Điền Nguyễn AZ
Cách tạo bảng chấm công online bằng Google Sheets (kết hợp Google Form)

Chấm công online bằng Google Sheets hoạt động thế nào?

Với cửa hàng, văn phòng nhỏ chưa đầu tư máy chấm công vân tay, có thể dựng một hệ thống chấm công online chỉ bằng 2 công cụ miễn phí của Google:

  • Google Form: nhân viên mở link (lưu sẵn trên điện thoại) để bấm chấm "Vào ca" hoặc "Ra ca" — Form tự ghi lại thời gian chấm chính xác đến từng giây.
  • Google Sheets: nhận toàn bộ dữ liệu Form gửi về, rồi dùng công thức tự tính giờ vào, giờ ra và tổng số giờ làm của từng người mỗi ngày.

Nhân viên không cần cài app, không cần quẹt thẻ — chỉ cần điện thoại có trình duyệt và kết nối mạng.

Bước 1: Tạo Google Form chấm công

Vào forms.google.com, tạo Form mới với 2 câu hỏi:

  1. Họ và tên — chọn kiểu câu hỏi Trắc nghiệm (Multiple choice) hoặc Menu thả xuống (Dropdown), gõ sẵn danh sách tên nhân viên. Dùng dropdown thay vì để nhân viên tự gõ tên để tránh sai chính tả (ví dụ gõ thiếu dấu, viết tắt khác nhau mỗi lần) làm công thức ở bước sau không khớp được dữ liệu.
  2. Loại chấm công — cũng dùng dropdown, 2 lựa chọn cố định: Vào ca và Ra ca.

Không cần thêm câu hỏi giờ giấc — Google Form tự động ghi lại thời điểm gửi Form vào cột Timestamp khi có phản hồi, không cần nhân viên tự nhập.

Sau khi tạo xong, bấm Gửi (Send) → copy link Form → gửi cho nhân viên lưu làm bookmark trên điện thoại (hoặc in mã QR dán ở cửa ra vào để quét nhanh).

Bước 2: Liên kết Form với Google Sheets

Trong Form, chuyển sang tab Phản hồi (Responses), bấm biểu tượng Sheets màu xanh lá ở góc phải để tạo bảng tính liên kết. Google sẽ tự tạo một sheet tên Form Responses 1 với cấu trúc:

A B C
1 Timestamp Họ và tên Loại chấm công
2 13/09/2026 7:58:32 Nguyễn Văn A Vào ca
3 13/09/2026 17:02:10 Nguyễn Văn A Ra ca
4 13/09/2026 8:05:47 Trần Thị B Vào ca

Mỗi lần nhân viên bấm gửi Form, một dòng mới tự thêm vào sheet này — không cần thao tác gì thêm.

Lưu ý múi giờ: nếu Timestamp hiện lệch nhiều giờ so với giờ Việt Nam thực tế, vào File → Cài đặt (Settings) → múi giờ, chọn (GMT+07:00) Indochina Time. Mặc định Google Sheets có thể lấy múi giờ khác tùy tài khoản, cần kiểm tra ngay từ đầu trước khi dùng để tính lương.

Bước 3: Thêm cột Ngày để lọc theo từng ngày

Ở sheet Form Responses 1, thêm cột D tên Ngày, công thức tại D2:

=INT(A2)

INT() cắt bỏ phần giờ:phút:giây trong Timestamp, chỉ giữ lại phần ngày (dạng số serial ngày của Sheets) để dùng làm điều kiện lọc chính xác ở bước tính giờ làm. Bôi đen cột D, định dạng Format → Number → Date để hiển thị dễ đọc. Kéo công thức xuống hết các dòng có dữ liệu.

Bước 4: Tính giờ vào, giờ ra và số giờ làm bằng MINIFS/MAXIFS

Tạo một sheet mới tên BangGio, dựng bảng tổng hợp theo từng nhân viên/từng ngày:

A B C D E F
1 Ngày Họ và tên Giờ vào Giờ ra Số giờ làm Cảnh báo
2 13/09/2026 Nguyễn Văn A

Cột A và B nhập tay (ngày cần chấm công và tên nhân viên tương ứng — có thể dùng dropdown lấy từ sheet danh sách nhân viên để tránh gõ sai tên).

Giờ vào (C2):

=MINIFS('Form Responses 1'!A:A, 'Form Responses 1'!D:D, A2, 'Form Responses 1'!B:B, B2, 'Form Responses 1'!C:C, "Vào ca")

Giờ ra (D2):

=MAXIFS('Form Responses 1'!A:A, 'Form Responses 1'!D:D, A2, 'Form Responses 1'!B:B, B2, 'Form Responses 1'!C:C, "Ra ca")

MINIFS lấy thời điểm sớm nhất khớp đủ 3 điều kiện (đúng ngày, đúng tên, loại là "Vào ca") — phòng trường hợp nhân viên lỡ bấm chấm vào ca nhiều lần. MAXIFS ngược lại lấy thời điểm muộn nhất của "Ra ca". Bôi đen cột C, D, định dạng Format → Number → Time kiểu hh:mm để chỉ hiện giờ:phút thay vì cả ngày tháng.

Số giờ làm (E2):

=(D2-C2)*24

Vì Sheets lưu thời gian dưới dạng phân số của 1 ngày, phải nhân thêm 24 mới ra đúng đơn vị giờ. Định dạng cột E thành số thập phân (ví dụ 0.0) để dễ cộng dồn sang bảng lương.

Kéo cả 3 công thức xuống cho từng nhân viên, từng ngày là có ngay bảng giờ làm tự động, không cần cộng trừ thời gian bằng tay.

Bước 5: Cảnh báo đi muộn bằng công thức và Conditional Formatting

Giả sử ca làm bắt đầu lúc 8:00, thêm công thức tại cột F (Cảnh báo):

=IF(C2>TIME(8,0,0),"Đi muộn","")

TIME(8,0,0) tạo giá trị giờ 8:00 để so sánh với giờ vào thực tế ở cột C. Muốn tô màu nổi bật thay vì chỉ hiện chữ, bôi đen cột C, vào Format → Conditional formatting, chọn Custom formula is, nhập:

=$C2>TIME(8,0,0)

Chọn màu nền đỏ nhạt, bấm Done. Từ giờ, ô giờ vào nào muộn hơn 8:00 sẽ tự động nổi màu, không cần dò từng dòng.

So sánh chấm công giấy/sổ tay và chấm công online bằng Sheets

Tiêu chí Sổ chấm công giấy Google Form + Sheets
Ghi nhận thời gian Nhân viên tự ghi giờ, dễ ghi khống Timestamp tự động, không sửa được sau khi gửi
Tổng hợp giờ làm cuối tháng Cộng tay từng dòng, mất thời gian Công thức tự tính, cập nhật ngay khi có chấm công mới
Xem từ xa Không thể, phải có mặt tại chỗ Chủ/quản lý xem trực tiếp trên Sheets mọi lúc
Chi phí đầu tư Gần như 0 nhưng tốn công quản lý Miễn phí, chỉ tốn công dựng công thức ban đầu
Chống chấm hộ Không kiểm soát được Không kiểm soát được (không có định vị/vân tay)

Lỗi thường gặp

MINIFS/MAXIFS trả về 0:00 (hiển thị như nửa đêm) dù nhân viên có đi làm Do thiếu dữ liệu khớp điều kiện — thường vì nhân viên quên bấm chấm "Vào ca" hoặc "Ra ca" hôm đó, hoặc tên chọn trong Form không khớp tuyệt đối với tên nhập ở cột B sheet BangGio (thừa khoảng trắng, viết hoa/thường khác — Sheets không phân biệt hoa/thường nhưng vẫn phân biệt dấu cách thừa). Kiểm tra lại dữ liệu gốc ở sheet Form Responses 1 trước khi kết luận nhân viên nghỉ.

Timestamp lệch múi giờ so với thực tế Xảy ra khi chưa đổi múi giờ file về (GMT+07:00) Indochina Time ở Bước 2. Sửa xong cần kiểm tra lại các Timestamp cũ đã ghi trước đó — đổi múi giờ chỉ ảnh hưởng cách hiển thị của dữ liệu mới từ lúc đổi trở đi trong một số trường hợp, nên tốt nhất đổi múi giờ ngay từ khi tạo Form, tránh phải đối chiếu lại dữ liệu cũ.

Nhân viên bấm nhầm "Vào ca" hai lần liên tiếp trong ngày Không làm sai kết quả MIN/MAX (vẫn lấy đúng giờ sớm nhất), nhưng gây khó khi cần đối chiếu thủ công. Muốn xem toàn bộ log gốc của một người trong ngày, lọc trực tiếp sheet Form Responses 1 bằng bộ lọc (Data → Create a filter) theo cột Họ và tên và Ngày.

Cột Giờ vào/Giờ ra hiện cả ngày tháng thay vì chỉ giờ:phút Do chưa định dạng lại kiểu ô. Bôi đen vùng cần sửa, vào Format → Number → Time (không chọn Date time) để chỉ hiển thị phần giờ.

Khi nào nên chuyển sang máy chấm công chuyên dụng?

Cách làm trên phù hợp với đội ngũ vài người đến vài chục người, quản lý tin tưởng lẫn nhau. Khi quy mô lớn hơn hoặc cần kiểm soát chặt hơn, nên cân nhắc máy chấm công vân tay/khuôn mặt, hoặc app có định vị GPS khi chấm công — vì cách dùng Form ở trên không xác thực được người bấm có thực sự đang có mặt tại nơi làm việc hay không (nhân viên có thể nhờ đồng nghiệp bấm hộ).

Học Google Sheets thực chiến tại TP Vinh

Dựng được hệ thống chấm công tự động chỉ là một ứng dụng thực tế của Google Form, MINIFS/MAXIFS và Conditional Formatting. Nếu bạn muốn học Google Sheets bài bản, áp dụng ngay vào công việc quản lý nhân sự, kho, chi tiêu hàng ngày, tham khảo khóa học Google Sheets tại Điền Nguyễn AZ.

📞 Hotline / Zalo: 0362 465 361

👉 Xem chi tiết: Khóa học Google Sheets thực tế tại TP Vinh

#chấm công google sheets#bảng chấm công online#google form chấm công#google sheets nâng cao

Tài liệu miễn phí

30 phím tắt Excel hay dùng nhất

Tổng hợp phím tắt giúp thao tác Excel nhanh hơn — điền thông tin để tải file PDF miễn phí về dùng ngay.