Cách Chia Sẻ & Phân Quyền Google Sheets Cho Team: Hướng Dẫn Chi Tiết 2026

Chia sẻ Google Sheets cho cả team mà không kiểm soát được ai sửa gì — đó là công thức dẫn đến dữ liệu loạn, công thức hỏng.
Hướng dẫn đầy đủ về chia sẻ và phân quyền Google Sheets cho team: từ cơ bản đến nâng cao với Protected Ranges và Apps Script 2026.
Các Cấp Độ Quyền Truy Cập Trong Google Sheets
Google Sheets có 4 mức quyền chính khi chia sẻ file:
| Quyền | Xem | Comment | Chỉnh sửa | Chia sẻ tiếp | Xóa file |
|---|---|---|---|---|---|
| Viewer | ✅ | ❌ | ❌ | ❌ | ❌ |
| Commenter | ✅ | ✅ | ❌ | ❌ | ❌ |
| Editor | ✅ | ✅ | ✅ | ✅* | ❌ |
| Owner | ✅ | ✅ | ✅ | ✅ | ✅ |
*Editor có thể chia sẻ tiếp trừ khi Owner tắt quyền này.
Cách Chia Sẻ Google Sheets Cơ Bản
Chia Sẻ Với Người Cụ Thể
- Mở file Google Sheets
- Click nút Share (góc trên bên phải)
- Nhập email người cần chia sẻ
- Chọn quyền: Viewer / Commenter / Editor
- Bỏ tick "Notify people" nếu không muốn gửi email thông báo
- Click Share
Chia Sẻ Với Cả Tổ Chức (Google Workspace)
Nếu dùng Google Workspace (tài khoản công ty), bạn có thể chia sẻ với:
- Anyone with the link: Ai có link đều xem được (không cần Google account)
- Anyone in [your organization]: Chỉ người trong cùng domain công ty
- Specific people: Chỉ những email được liệt kê
Giới Hạn Quyền Chia Sẻ Tiếp
Để ngăn Editor chia sẻ file cho người khác:
- Click Share → Settings (biểu tượng bánh răng)
- Bỏ tick "Editors can change permissions and share"
- Save
Protected Ranges — Bảo Vệ Vùng Dữ Liệu Quan Trọng
Đây là tính năng quan trọng nhất để phân quyền nâng cao: cho phép Editor chỉnh sửa một số vùng nhất định, các vùng còn lại bị khóa.
Cách Tạo Protected Range
- Chọn vùng ô cần bảo vệ (ví dụ: cột A và B chứa công thức)
- Vào menu Data → Protect sheets and ranges
- Click Add a sheet or range
- Đặt tên mô tả (ví dụ: "Công thức tính tổng - không chỉnh sửa")
- Click Set permissions
- Chọn: "Restrict who can edit this range"
- Thêm email những người được phép chỉnh sửa vùng này
Use Cases Thực Tế
| Tình huống | Vùng bảo vệ | Ai được chỉnh sửa |
|---|---|---|
| Sheet tổng hợp doanh thu | Toàn bộ sheet (tính toán tự động) | Chỉ Manager |
| Nhập liệu bán hàng | Cột A-E (tiêu đề, công thức) | Chỉ Admin |
| Bảng lương nhân viên | Cột lương, hệ số | Chỉ Kế toán trưởng |
| KPI tracking | Công thức KPI | Chỉ HR Manager |
Bảo Vệ Cả Sheet (Tab)
Để khóa toàn bộ một tab (sheet):
- Vào Data → Protect sheets and ranges
- Chọn Sheet thay vì Range
- Chọn sheet muốn bảo vệ
- Thiết lập quyền tương tự
- Có thể tick "Except certain cells" để cho phép chỉnh sửa một số ô cụ thể
Shared Drives — Quản Lý File Cấp Tổ Chức
Nếu dùng Google Workspace, Shared Drives (trước đây là Team Drives) là giải pháp tốt hơn chia sẻ file thông thường:
Ưu Điểm Shared Drives
- File thuộc về tổ chức: Không bị mất khi nhân viên nghỉ việc
- Phân quyền theo nhóm: Manager / Content / Viewer
- Dễ quản lý: Một nơi chứa tất cả file của team
- Offline sync: Toàn bộ thành viên đều sync được
Cấp Độ Quyền Trong Shared Drive
- Manager: Quản lý thành viên, xóa Drive
- Content Manager: Upload, chỉnh sửa, xóa file (không quản lý thành viên)
- Contributor: Upload và chỉnh sửa file
- Commenter: Xem và comment
- Viewer: Chỉ xem
Apps Script — Tự Động Hóa Quản Lý Quyền
Khi team lớn, quản lý quyền thủ công rất tốn thời gian. Apps Script giúp tự động hóa:
Script 1: Tự Động Chia Sẻ Khi Thêm Vào Danh Sách
function shareWithNewMember() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const memberSheet = ss.getSheetByName('Team Members');
const dataSheet = ss.getSheetByName('Sales Data');
// Lấy danh sách email từ sheet Team Members
const emails = memberSheet.getRange('B2:B100').getValues()
.flat().filter(e => e !== '');
// Lấy quyền hiện tại
const editors = dataSheet.getEditors().map(u => u.getEmail());
// Chia sẻ cho người chưa có quyền
emails.forEach(email => {
if (!editors.includes(email)) {
dataSheet.addEditor(email);
Logger.log('Shared with: ' + email);
}
});
}
Script 2: Thu Hồi Quyền Tự Động Khi Nhân Viên Nghỉ
function revokeAccessForFormerEmployee() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const emailToRevoke = 'former.employee@company.com';
// Thu hồi quyền Editor
ss.removeEditor(emailToRevoke);
// Thu hồi quyền Viewer
ss.removeViewer(emailToRevoke);
// Ghi log
const logSheet = ss.getSheetByName('Access Log');
logSheet.appendRow([
new Date(),
emailToRevoke,
'Revoked',
Session.getActiveUser().getEmail()
]);
Logger.log('Access revoked for: ' + emailToRevoke);
}
Script 3: Báo Cáo Danh Sách Người Có Quyền
function generateAccessReport() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const reportSheet = ss.getSheetByName('Access Report')
|| ss.insertSheet('Access Report');
reportSheet.clearContents();
reportSheet.appendRow(['Email', 'Role', 'Generated At']);
ss.getOwners().forEach(u =>
reportSheet.appendRow([u.getEmail(), 'Owner', new Date()]));
ss.getEditors().forEach(u =>
reportSheet.appendRow([u.getEmail(), 'Editor', new Date()]));
ss.getViewers().forEach(u =>
reportSheet.appendRow([u.getEmail(), 'Viewer', new Date()]));
Logger.log('Report generated with ' +
(reportSheet.getLastRow() - 1) + ' entries');
}
Best Practices Phân Quyền Google Sheets Cho Team
1. Nguyên Tắc Least Privilege
Chỉ cấp quyền tối thiểu cần thiết. Nếu nhân viên chỉ cần đọc số liệu → cấp Viewer, không phải Editor.
2. Tách Biệt Data và Dashboard
- Sheet "Raw Data": chỉ người nhập liệu có quyền Edit
- Sheet "Dashboard": kéo dữ liệu tự động từ Raw Data, mọi người View
- Không ai có thể vô tình sửa dashboard
3. Đặt Tên Protected Range Rõ Ràng
Thay vì "Protected Range 1", đặt tên: "Công thức tổng hợp - Chỉ Admin chỉnh sửa". Khi có cảnh báo, mọi người hiểu ngay tại sao bị chặn.
4. Review Quyền Định Kỳ
Mỗi 3 tháng, chạy script generateAccessReport() để kiểm tra ai đang có quyền gì. Thu hồi quyền của nhân viên đã nghỉ ngay trong ngày.
5. Dùng Groups Thay Vì Individual Email
Tạo Google Group (team-sales@company.com) và chia sẻ cho Group. Khi có nhân viên mới, chỉ cần thêm vào Group là xong.
Quản Lý Team Kinh Doanh Chuyên Nghiệp Hơn
SheetStore cung cấp phân quyền chi tiết theo vai trò: Admin / Manager / Nhân viên / Kế toán — không cần tự viết script.
Xem Demo Phân QuyềnKhi Nào Google Sheets Không Đủ Cho Phân Quyền?
Google Sheets phân quyền theo file, không theo dữ liệu. Các giới hạn:
- Không thể cho nhân viên A xem khách hàng khu vực miền Nam, nhân viên B xem miền Bắc trong cùng một sheet
- Không có role-based access control (RBAC) thực sự
- Không có audit trail đầy đủ (ai xem gì, lúc nào)
- Không thể giới hạn download/export
Khi cần phân quyền theo dữ liệu (data-level security), cần chuyển sang phần mềm chuyên dụng như SheetStore với phân quyền chi tiết theo vai trò và vùng dữ liệu.
Cần Phân Quyền Nâng Cao Cho Team Bán Hàng?
SheetStore phân quyền theo vai trò, theo chi nhánh, theo danh mục sản phẩm — không cần viết code.
Xem thêm: Tất cả bài hướng dẫn Google Sheets | Phần mềm quản lý bán hàng SheetStore
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
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.