Hướng dẫn

Template Google Sheets Lịch Làm Việc Ca Trực 2027: Shift Schedule Tự Động Cho Nhà Hàng Và Bệnh Viện

Tuân HoangTuân Hoang
11 phút đọc
Ảnh minh họa bài viết: Template Google Sheets Lịch Làm Việc Ca Trực 2027: Shift Schedule Tự Động Cho Nhà Hàng Và Bệnh Viện

Template Google Sheets Lịch Làm Việc Ca Trực 2027: Shift Schedule Tự Động Cho Nhà Hàng Và Bệnh Viện

Lập lịch ca làm việc cho nhiều nhân viên với nhiều ca khác nhau là một trong những công việc phức tạp nhất trong quản lý nhân sự. Nhà hàng phải đảm bảo đủ nhân viên cho giờ cao điểm, bệnh viện cần ca trực 24/24, trung tâm cuộc gọi cần ca quay vòng. Google Sheets với các hàm WORKDAY, NETWORKDAYS và công thức thông minh có thể giải quyết bài toán này một cách hiệu quả.

Phần 1: Thách Thức Lập Lịch Ca Trực

1.1 Độ Phức Tạp Của Bài Toán Lập Lịch Ca

Lập lịch ca làm việc không đơn giản là phân công "ai làm ca gì". Có rất nhiều ràng buộc cần xem xét:

  • Luật lao động: Làm tối đa 8 tiếng/ngày, 48 tiếng/tuần, không quá 200 giờ tăng ca/năm
  • Công bằng: Phân công ca đêm, ca Tết, ca lẻ công bằng giữa các nhân viên
  • Kỹ năng: Ca trưởng phải là người có kỹ năng cao nhất trong ca đó
  • Ưu tiên cá nhân: Một số nhân viên xin nghỉ phép, đi học thêm, có con nhỏ...
  • Tỉ lệ bao phủ: Mỗi ca cần đủ số nhân viên tối thiểu theo vai trò

1.2 Vấn Đề Với Phương Pháp Truyền Thống

Nhiều doanh nghiệp vẫn dùng Excel (không công thức) hoặc thậm chí giấy biểu để lập lịch ca. Kết quả là:

  • Mất 4-8 giờ mỗi tuần cho việc lập và điều chỉnh lịch
  • Dễ xảy ra lỗi: Hai người cùng ca, hoặc ca không có người
  • Khó tính lương chính xác (giờ tăng ca, phụ cấp ca đêm...)
  • Nhân viên khiếu nại phân công không công bằng
  • Khó điều chỉnh đột xuất khi có người nghỉ ốm

Phần 2: Kiến Trúc Template Lịch Ca Trực Toàn Diện

2.1 Sheet 1: Danh Sách Nhân Viên

Cột Trường Mô tả Ví dụ
AMã NVMã duy nhấtNV-001
BHọ tênTên đầy đủNguyễn Văn A
CBộ phậnPhòng ban/Bộ phậnBếp
DChức vụVai tròBếp chính
ELoại hợp đồngFull-time/Part-timeFull-time
FSố giờ tiêu chuẩn/tuầnTheo hợp đồng48
GLương cơ bản/giờTính tăng ca25,000
HPhụ cấp ca đêm/giờCa đêm 22:00-06:005,000
IEmailGửi lịch qua emaila@email.com
JSĐTLiên lạc khẩn cấp0901234567
KNgày bắt đầu làmNgày chính thức01/01/2025
LTrạng tháiĐang làm/Nghỉ phép/Nghỉ việcĐang làm

2.2 Sheet 2: Cấu Hình Ca Làm Việc


Định nghĩa các ca làm việc:
| Mã ca | Tên ca | Giờ bắt đầu | Giờ kết thúc | Số giờ | Ca đêm? | Phụ cấp đêm |
|-------|--------|------------|-------------|--------|---------|-------------|
| S | Ca sáng | 06:00 | 14:00 | 8 | Không | 0% |
| A | Ca chiều | 14:00 | 22:00 | 8 | Không | 0% |
| N | Ca tối | 22:00 | 06:00 | 8 | Có | 30% |
| D | Ca đêm | 22:00 | 08:00 | 10 | Có | 30% |
| L | Ca ổn định | 08:00 | 17:00 | 8 | Không | 0% |
| X | Nghỉ (nghỉ phép/ốm) | - | - | 0 | - | - |
| O | Off theo lịch | - | - | 0 | - | - |
| AL | Annual Leave | - | - | 0 | - | - |

Tổng giờ làm việc thực tế (trừ ca đêm):
=SUMPRODUCT(
  (C2:C8<"22:00")*F2:F8 +
  (C2:C8>="22:00")*(24-TIMEVALUE(C2:C8)) +
  (C2:C8<"22:00")*(D2:D8<"06:00")*TIMEVALUE(D2:D8)
)

Số giờ ca đêm (22:00-06:00):
=IF(AND(C2="N", D2="S"), 8,
  IF(C2>="22:00",
    MIN(TIMEVALUE(D2)+IF(D2<"12:00",1,0), 6/24) - MAX(TIMEVALUE(C2), 22/24),
    MAX(0, MIN(TIMEVALUE(D2), 6/24) - 0)
  ) * 24
)

2.3 Sheet 3: Lịch Làm Việc Tháng (Monthly Shift Calendar)

Đây là sheet chính, hiển thị lịch ca của toàn bộ nhân viên trong tháng:


Cấu trúc Lịch Tháng:
Hàng 1: Tên tháng + năm (merge A1:AJ1)
Hàng 2: Tên nhân viên (cột A) + số thứ ngày 1-31 (cột B-AF)
Hàng 3: Thứ trong tuần tương ứng với ngày

Cột A: Mã NV hoặc Tên NV
Cột B trở đi: Ký hiệu ca (S/A/N/D/L/X/O/AL)

Ví dụ:
| NV | 1/3 | 2/3 | 3/3 | 4/3 | 5/3 | 6/3 | 7/3 | ...
|    | CN  | T2  | T3  | T4  | T5  | T6  | T7  | ...
|NV01| S   | S   | A   | A   | O   | O   | N   | ...
|NV02| A   | A   | O   | O   | S   | S   | A   | ...
|NV03| N   | O   | O   | S   | S   | A   | A   | ...

Công thức hiển thị tên ngày trong tuần:
=TEXT(DATE(YEAR(B$1),MONTH(B$1),B$2), "DDD")

Conditional Formatting theo loại ca:
Ca sáng (S): Màu xanh dương nhạt (#BBDEFB)
Ca chiều (A): Màu cam nhạt (#FFE0B2)
Ca tối/đêm (N/D): Màu tím nhạt (#E1BEE7)
Nghỉ (O/X): Màu xám nhạt (#F5F5F5)
Phép năm (AL): Màu vàng nhạt (#FFF9C4)

Cảnh báo thiếu nhân viên (COUNTIF theo cột):
=IF(
  COUNTIF(B3:B52, "S") < $B$MinStaff_Sang,
  "THIẾU NV CA SÁNG!",
  ""
)

Số nhân viên mỗi ca mỗi ngày:
Ca sáng: =COUNTIF(B:B, "S")
Ca chiều: =COUNTIF(B:B, "A")
Ca tối: =COUNTIF(B:B, "N")

2.4 Sheet 4: Tính Giờ Làm Việc Và Tăng Ca


Tổng kết giờ làm việc mỗi nhân viên trong tháng:

Công thức tính tổng giờ làm theo mã ca:
=SUMPRODUCT(
  (OFFSET('Lich Thang'!B3, MATCH(A2,'Lich Thang'!A:A,0)-3, 0, 1, 31) <> "O") *
  (OFFSET('Lich Thang'!B3, MATCH(A2,'Lich Thang'!A:A,0)-3, 0, 1, 31) <> "X") *
  (OFFSET('Lich Thang'!B3, MATCH(A2,'Lich Thang'!A:A,0)-3, 0, 1, 31) <> "AL") *
  VLOOKUP(
    OFFSET('Lich Thang'!B3, MATCH(A2,'Lich Thang'!A:A,0)-3, 0, 1, 31),
    'Cau Hinh Ca'!A:E, 5, 0
  )
)

Tính giờ tăng ca (vượt 8h/ngày hoặc 48h/tuần):
Giờ tiêu chuẩn: =VLOOKUP(A2, 'Danh Sach NV'!A:F, 6, 0) -- cột F: giờ tiêu chuẩn/tuần
Giờ thực tế: =Tổng giờ theo công thức trên
Giờ tăng ca: =MAX(0, Giờ thực tế - Giờ tiêu chuẩn)

Phụ cấp ca đêm:
=SUMPRODUCT(
  (OFFSET(...) = "N") + (OFFSET(...) = "D")
) * VLOOKUP(A2, 'Danh Sach NV'!A:H, 8, 0) * 8

Tổng lương cơ bản:
=B2 * VLOOKUP(A2, 'Danh Sach NV'!A:G, 7, 0)  -- B2: tổng giờ; cột G: lương/giờ

Tổng tăng ca (150% cho giờ tăng ca thường, 200% ngày lễ):
Giờ tăng ca thường: tang_ca * luong_gio * 1.5
Giờ tăng ca ngày lễ/cuối tuần: tang_ca_le * luong_gio * 2.0

WORKDAY function - bỏ qua cuối tuần khi tính ngày làm:
Ngày làm việc trong tháng (không kể cuối tuần):
=NETWORKDAYS(DATE(YEAR(TODAY()),MONTH(TODAY()),1),
             EOMONTH(TODAY(), 0))

Ngày làm việc còn lại trong tháng:
=NETWORKDAYS(TODAY(), EOMONTH(TODAY(), 0))

2.5 Sheet 5: Log Đổi Ca (Swap Ca)


Khi có nhân viên xin đổi ca:
| STT | Ngày đổi | NV xin đổi | Ca của NV | NV nhận đổi | Ca của NV kia | Lý do | Trạng thái | Người duyệt |
|-----|----------|-----------|----------|------------|--------------|-------|-----------|-------------|
| 1 | 15/03/2027 | NV-001 | Ca sáng | NV-005 | Ca chiều | Con ốm | Duyệt | Quản lý |
| 2 | 20/03/2027 | NV-003 | Ca tối | NV-007 | Ca sáng | Việc gia đình | Chờ duyệt | |

Apps Script tự động cập nhật lịch khi đổi ca được duyệt:
function onShiftSwapApproved(row) {
  const swapSheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('Log Doi Ca');
  const scheduleSheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('Lich Thang');

  const swapData = swapSheet.getRange(row, 1, 1, 9).getValues()[0];

  if (swapData[7] === 'Duyet') {
    const swapDate = swapData[1];
    const nv1 = swapData[2];
    const shift1 = swapData[3];
    const nv2 = swapData[4];
    const shift2 = swapData[5];

    // Tìm và swap giá trị trong Lịch Tháng
    const col = swapDate.getDate() + 1; // Ngày -> số cột

    const row1 = findEmployeeRow(scheduleSheet, nv1);
    const row2 = findEmployeeRow(scheduleSheet, nv2);

    if (row1 && row2) {
      scheduleSheet.getRange(row1, col).setValue(shift2);
      scheduleSheet.getRange(row2, col).setValue(shift1);
    }
  }
}

2.6 Sheet 6: Báo Cáo Chấm Công Tổng Hợp


Báo Cáo Chấm Công Tháng 3/2027:
| Mã NV | Tên NV | Số ngày làm | Giờ thực tế | Giờ TC | Phụ cấp đêm | Ngày phép | Tổng lương |
|-------|--------|------------|-------------|--------|------------|-----------|-----------|
| NV-001 | Nguyễn A | 26 | 208 | 16 | 80,000 | 0 | 5,480,000 |
| NV-002 | Trần B | 24 | 192 | 0 | 160,000 | 2 | 4,960,000 |

Tính tổng lương (bao gồm tăng ca và phụ cấp ca đêm):
=B2 * 25000 + C2 * 25000 * 0.5 + D2

Trong đó:
B2 = tổng giờ làm việc tiêu chuẩn
C2 = giờ tăng ca
D2 = tổng phụ cấp ca đêm
25000 = lương cơ bản/giờ
0.5 = hệ số tăng ca thường (150% = 100% + 50%)

Cấu hình cho ngày lễ (Quốc Khánh, Tết...):
Thêm sheet "Ngày Lễ 2027" với danh sách ngày lễ
Kết hợp với COUNTIFS để check ngày tăng ca có phải ngày lễ:
=COUNTIF('Ngay Le 2027'!A:A, EXACT_DATE)

Phần 3: Hướng Dẫn Chi Tiết Cho Nhà Hàng F&B

3.1 Đặc Điểm Ca Làm Việc Nhà Hàng


Ca đặc thù cho nhà hàng:
| Ca | Giờ | Vị trí | Mô tả |
|----|-----|--------|-------|
| Ca mở | 07:00-15:00 | Phòng bếp, thu ngân | Chuẩn bị khai trương |
| Ca lunch | 10:00-15:00 | Phục vụ bàn | Giờ cao điểm trưa |
| Ca chiều | 14:00-22:00 | Phục vụ bàn, thu ngân | Liên tục buổi chiều |
| Ca dinner | 17:00-23:00 | Phục vụ bàn | Giờ cao điểm tối |
| Ca đóng | 20:00-24:00 | Bếp, dọn dẹp | Đóng cửa |
| Ca ban đêm | 22:00-08:00 | Bảo vệ, bếp trưởng | |

Giờ cao điểm cần nhiều nhân viên nhất:
Sáng: 11:30 - 13:30 (cao điểm cơm trưa)
Tối: 18:00 - 20:30 (cao điểm ăn tối)

Quy tắc tối thiểu theo giờ cao điểm (Data Validation + Alert):
Thực hiện COUNTIFS trên Lịch Tháng cho mỗi khung giờ:
=IF(
  COUNTIFS('Lich Thang'!B:B,"A", ...) < MinRequiredStaff_Lunch,
  "THIẾU NV GIỜ LUNCH!",
  "OK"
)

3.2 Lập Lịch Ca Theo Quy Tắc Công Bằng


Nguyên tắc phân công công bằng:
1. Đếm số ca đêm, ca cuối tuần, ca lẻ trong tháng của mỗi NV
2. NV nào đã làm nhiều ca xấu nhất tuần trước sẽ được ưu tiên ca tốt tuần này

Theo dõi "điểm công bằng" (càng thấp càng được ưu tiên):
=SUMPRODUCT(
  (OFFSET('Lich Thang'!B3, ROW(A1)-1, 0, 1, 31) = "N") * 3 +  -- Ca tối: 3 điểm
  (OFFSET('Lich Thang'!B3, ROW(A1)-1, 0, 1, 31) = "D") * 4 +  -- Ca đêm: 4 điểm
  WEEKDAY(DATE(2027,3,COLUMN(B1:AF1)-1), 2) >= 6 *             -- Cuối tuần: +2
  (OFFSET('Lich Thang'!B3, ROW(A1)-1, 0, 1, 31) <> "O")
)

Nhân viên có điểm thấp nhất được ưu tiên chọn lịch trước:
=RANK(B2, $B$2:$B$30, 1)  -- 1 = xếp hạng tăng dần (thấp nhất trước)

Phần 4: Hướng Dẫn Cho Bệnh Viện Và Y Tế

4.1 Đặc Điểm Ca Trực Y Tế


Ca trực bệnh viện/phòng khám:
| Ca | Giờ | Số BS/Y tá cần | Ghi chú |
|----|-----|---------------|---------|
| Ca sáng | 06:00-14:00 | 2 BS + 4 YT | Phòng khám mở cửa |
| Ca chiều | 14:00-22:00 | 2 BS + 3 YT | Phòng khám + cấp cứu |
| Ca đêm | 22:00-06:00 | 1 BS + 2 YT | Cấp cứu, nội trú |

Ràng buộc đặc biệt y tế:
- Bác sĩ không được trực quá 2 ca liên tục (16h liên tục)
- Cần 8h nghỉ giữa 2 ca trực
- Ca trực cấp cứu cần BS có kỹ năng cấp cứu
- Bảo đảm ít nhất 1 BS chuyên khoa trong mỗi ca

Kiểm tra ràng buộc không trực liên tục:
=IF(
  AND(B2="N", C2="S"),  -- Ca tối -> sáng liên tiếp
  "VI PHẠM! Thiếu nghỉ",
  ""
)

Trên toàn bộ lưới (ARRAYFORMULA):
=ARRAYFORMULA(
  IF(
    AND(B2:AF2="N", C2:AG2="S"),
    "VI PHẠM",
    ""
  )
)

4.2 Lịch Trực On Call (Trực Hờ)


On Call - Bác sĩ trực hờ (Gọi đến khi cần):
| Ngày | BS on call | SĐT | BS dự phòng | SĐT dự phòng |
|------|-----------|-----|------------|-------------|
| 01/03 | BS. Nguyễn | 0901 | BS. Trần | 0902 |
| 02/03 | BS. Lê | 0903 | BS. Phạm | 0904 |

Vòng quay on call (tự động dựa trên danh sách BS):
=INDEX('Danh Sach NV'!B:B,
  MOD(DAY(A2)-1, COUNTA('Danh Sach NV'!B2:B20)) + 2
)

Lịch on call phải cover 24/7 mà không quá tải nhân viên:
Nếu có 12 BS -> mỗi BS on call 1 lần/12 ngày
Số ngày giữa 2 lần on call: =12 ngày (công bằng cho tất cả)

Phần 5: Hàm Google Sheets Chuyên Dụng Cho Lịch Ca

5.1 Hàm WORKDAY Và NETWORKDAYS


WORKDAY(start_date, days, [holidays]) - Tính ngày làm việc:
Ngày kết thúc sau 14 ngày làm việc (không tính cuối tuần và ngày lễ):
=WORKDAY(A2, 14, 'Ngay Le 2027'!A:A)

NETWORKDAYS(start_date, end_date, [holidays]) - Đếm ngày làm việc:
Số ngày làm việc trong tháng hiện tại:
=NETWORKDAYS(
  DATE(YEAR(TODAY()), MONTH(TODAY()), 1),
  EOMONTH(TODAY(), 0),
  'Ngay Le 2027'!A:A
)

Số ngày làm việc giữa 2 mốc thời gian:
=NETWORKDAYS(A2, B2, 'Ngay Le 2027'!A:A) - 1

NETWORKDAYS.INTL - Tùy chỉnh ngày nghỉ cuối tuần:
Với nhà hàng nghỉ T4 và CN:
=NETWORKDAYS.INTL(A2, B2, "0101001", 'Ngay Le 2027'!A:A)
-- Chuỗi "0101001": 0=làm, 1=nghỉ (T2T3T4T5T6T7CN)

5.2 Tính Giờ Tăng Ca Và Phụ Cấp Tự Động


Giờ tăng ca ngày thường (>8h/ngày):
=MAX(0, Gio_Lam_Ngay - 8)

Giờ tăng ca cuối tuần (100% giờ làm):
=IF(WEEKDAY(Ngay, 2) >= 6, Gio_Lam_Ngay, 0)

Giờ tăng ca ngày lễ (tính 200%):
=IF(COUNTIF('Ngay Le'!A:A, Ngay), Gio_Lam_Ngay, 0)

Tổng lương tăng ca trong tháng:
Tăng ca thường: =Sum_TC_Thuong * LuongCoban/8 * 1.5
Tăng ca cuối tuần: =Sum_TC_CuoiTuan * LuongCoban/8 * 2.0
Tăng ca ngày lễ: =Sum_TC_Le * LuongCoban/8 * 3.0

Phụ cấp ca đêm (22:00-06:00, phụ cấp 30%):
Giờ ca đêm: =SUMPRODUCT((CaType="N")*8 + (CaType="D")*8)
Phụ cấp: =GioLamDem * LuongGio * 0.3

Tổng lương tháng = Lương cơ bản + Tăng ca + Phụ cấp ca đêm
=B2*LuongGio + C2*LuongGio*0.5 + D2*LuongGio*0.3 + E2*LuongGio*1.5 + F2*LuongGio*2.0

Phần 6: Tự Động Gửi Lịch Qua Email


Apps Script gửi lịch ca tuần tới cho từng nhân viên:

function sendWeeklySchedule() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const scheduleSheet = ss.getSheetByName('Lich Thang');
  const employeeSheet = ss.getSheetByName('Danh Sach NV');

  const employees = employeeSheet.getDataRange().getValues();
  const schedule = scheduleSheet.getDataRange().getValues();

  // Tính ngày đầu tuần tới
  const nextMonday = getNextMonday();

  for (let i = 1; i < employees.length; i++) {
    const empId = employees[i][0];
    const empName = employees[i][1];
    const empEmail = employees[i][8];

    if (!empEmail) continue;

    // Tìm hàng của nhân viên trong lịch
    const empRow = findRowByValue(schedule, empId, 0);
    if (!empRow) continue;

    // Lấy lịch 7 ngày tới
    const weekSchedule = [];
    for (let d = 0; d < 7; d++) {
      const date = new Date(nextMonday);
      date.setDate(date.getDate() + d);
      const col = date.getDate() + 1;
      const shift = schedule[empRow][col] || 'O';
      weekSchedule.push({ date, shift });
    }

    // Tạo nội dung email
    let emailBody = '<h2>Lịch làm việc tuần tới của bạn</h2>';
    emailBody += '<table border="1">';
    emailBody += '<tr><th>Ngày</th><th>Ca làm việc</th></tr>';

    weekSchedule.forEach(function(day) {
      const shiftName = getShiftName(day.shift);
      emailBody += '<tr><td>' + formatDate(day.date) + '</td>';
      emailBody += '<td>' + shiftName + '</td></tr>';
    });
    emailBody += '</table>';

    MailApp.sendEmail({
      to: empEmail,
      subject: 'Lịch ca làm việc tuần ' + formatDate(nextMonday),
      htmlBody: emailBody
    });
  }
}

function getShiftName(code) {
  const shifts = {
    'S': 'Ca sáng (06:00-14:00)',
    'A': 'Ca chiều (14:00-22:00)',
    'N': 'Ca tối (22:00-06:00)',
    'D': 'Ca đêm (22:00-08:00)',
    'L': 'Ca hành chính (08:00-17:00)',
    'O': 'Nghỉ (theo lịch)',
    'AL': 'Nghỉ phép năm'
  };
  return shifts[code] || code;
}

// Cài đặt trigger chạy vào 18:00 mỗi thứ 6:
// Chủ nhật chạy thì gửi lịch cho tuần tới

Phần 7: Dashboard Quản Lý Lịch Ca


Tổng quan hôm nay:
- Nhân viên đang ở ca hiện tại: =COUNTIF(HomNayCa:HomNayCa, CaHienTai)
- Nhân viên vắng mặt (nghỉ): =COUNTIF(HomNayCa:HomNayCa, "O")
- Cảnh báo thiếu nhân viên: =IF(SoNVHienTai < MinNV, "THIẾU NV!", "Đủ NV")

Thống kê tháng:
- Tổng giờ tăng ca toàn bộ: =SUM(TangCa:TangCa)
- NV làm nhiều giờ nhất: =INDEX(TenNV, MATCH(MAX(TongGio), TongGio, 0))
- NV nghỉ nhiều nhất: =INDEX(TenNV, MATCH(MAX(NgayNghi), NgayNghi, 0))
- Tỷ lệ vắng mặt: =SUM(NgayNghi)/(SoNV*NgayLamViecThang)*100

Biểu đồ phân bố ca (Pie Chart):
Ca sáng: =COUNTIF(LichThang, "S")
Ca chiều: =COUNTIF(LichThang, "A")
Ca tối: =COUNTIF(LichThang, "N")
Nghỉ: =COUNTIF(LichThang, "O")

Phần 8: FAQ - Câu Hỏi Thường Gặp

Q: Làm sao xử lý khi có nhân viên nghỉ ốm đột xuất?

Thêm cột "Lý do vắng mặt" bên cạnh lịch ca. Khi có nhân viên nghỉ ốm, đổi ký hiệu ca sang "X" (nghỉ đột xuất) và ghi chú "Nghỉ ốm". Hệ thống sẽ tự động cảnh báo "thiếu nhân viên" nếu số NV hiện tại xuống dưới ngưỡng tối thiểu. Quản lý có thể xem danh sách NV có thể gọi vào làm thêm (ca nghỉ của họ vào ngày đó).

Q: Template có tính đúng phụ cấp lễ Tết không?

Có, bạn cần tạo sheet "Ngày Lễ 2027" với danh sách tất cả ngày lễ quốc gia và ngày Tết. Công thức tăng ca sẽ tự động kiểm tra COUNTIF với sheet này và áp dụng hệ số 300% cho ngày lễ. Theo Bộ Luật Lao Động VN: làm việc ngày lễ được hưởng 300% lương.

Q: Template hỗ trợ bao nhiêu nhân viên và bao nhiêu tháng?

Google Sheets có thể xử lý tốt đến 100 nhân viên và 12 tháng trong một file. Với nhiều hơn, bạn nên tách theo năm hoặc tách theo bộ phận. Mỗi tháng tạo một sheet "Lich_MM_YYYY" để giữ file nhẹ. Dùng IMPORTRANGE để tổng hợp báo cáo năm từ nhiều file tháng.

Q: Làm sao nhân viên có thể đăng ký ca mình thích trước khi quản lý lập lịch?

Tạo Google Form "Đăng ký mong muốn lịch làm việc" để nhân viên đăng ký ca mong muốn trước 2 tuần. Responses vào sheet "Yêu Cầu Ca". Khi lập lịch, quản lý có thể xem sheet này để cố gắng phân công phù hợp với mong muốn khi có thể, ưu tiên theo thứ tự yêu cầu.

Kết Luận

Lập lịch ca trực hiệu quả là nền tảng của hoạt động kinh doanh trong ngành dịch vụ và y tế. Với template Google Sheets này, bạn có thể:

  • Lập lịch tháng chỉ trong 30-60 phút thay vì mất cả ngày
  • Tự động tính tăng ca và phụ cấp ca đêm chính xác 100%
  • Gửi lịch ca tự động cho toàn bộ nhân viên qua email mỗi tuần
  • Quản lý đổi ca dễ dàng, minh bạch và có audit trail
  • Phát hiện ngay thiếu nhân viên trước khi xảy ra

Tải template miễn phí tại SheetStore và biến việc lập lịch phức tạp thành hệ thống tự động!

💡 Giải pháp sẵn có cho bạn

Không muốn tự làm? Dùng ngay Phần mềm POS quản lý quán cafe & nhà hàng — đầy đủ tính năng, cài đặt nhanh.

Xem sản phẩm →

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Google SheetsGoogle Apps ScriptCRMAutomationPhần mềm quản lý doanh nghiệp

Google Workspace Certified, 5+ years experience

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận