Hướng dẫn

Khóa Công Thức Trong Excel Không Cho Chỉnh Sửa Khi Chia Sẻ File

Tuân HoangTuân Hoang
16 tháng 9, 2026
Cập nhật: 7 tháng 10, 2026
11 phút đọc
Ảnh minh họa bài viết: Khóa Công Thức Trong Excel Không Cho Chỉnh Sửa Khi Chia Sẻ File

Thử hình dung anh Tuấn quản lý một xưởng in bao bì (tình huống minh họa), dùng chung một file Google Sheets tính giá đơn hàng cho 4 nhân viên kinh doanh. Tuần trước một bạn sale mới copy nhầm công thức tính giá cuộn theo VAT xuống 3 dòng dưới, kéo theo tham chiếu ô lệch mất, báo giá gửi khách thấp hơn giá vốn 12%. Đơn hàng 40 triệu suýt chốt với giá lỗ, may mà kế toán soát lại kịp. Anh Tuấn không trách nhân viên — file mở chia sẻ, ai cũng gõ được vào bất kỳ ô nào, chuyện gõ nhầm chỉ là thời gian. Đây là tình huống rất phổ biến với file Excel dùng chung qua email hoặc OneDrive: công thức tính giá, tính lương, tính hoa hồng nằm chung sheet với vùng nhập liệu, không có ranh giới nào ngăn người khác gõ đè lên. Khóa công thức trong Excel để không ai chỉnh sửa được khi chia sẻ file cần làm đúng 2 việc: cố định tham chiếu ô bằng dấu $ để công thức không lệch khi copy, và khóa vùng chứa công thức bằng Protect Sheet để không ai gõ đè được nội dung.

Vì sao công thức tự lệch khi copy — hiểu dấu $ trước khi khóa

Trước khi khóa được gì, phải hiểu tại sao công thức "tự vỡ". Excel mặc định dùng tham chiếu tương đối (relative reference) — khi bạn copy ô B2 chứa công thức =A2*1.1 xuống B3, Excel tự động đổi thành =A3*1.1. Bình thường đây là tính năng hữu ích, nhưng với công thức tính đơn giá, tính thuế, tính hoa hồng có tham chiếu đến một ô cố định (ví dụ ô chứa % VAT hoặc tỷ giá), việc tự dịch chuyển này chính là nguyên nhân gây sai số.

Ví dụ xưởng in của anh Tuấn: ô E1 chứa thuế VAT 8%, cột D là đơn giá gốc, cột E2:E50 là công thức =D2*(1+$E$1) tính giá sau thuế. Nếu gõ đúng, dấu $ trước E và trước 1 khóa cứng tham chiếu đến E1 dù copy xuống bao nhiêu dòng. Nhưng nhân viên mới copy công thức mà quên kiểm tra, hoặc gõ tay =D3*(1+E1) không có dấu $, kéo xuống dòng dưới Excel tự đổi thành E2, E3... — công thức âm thầm tham chiếu sai ô ngay cả khi ô đó đang trống hoặc chứa số khác.

Cách phân biệt 3 kiểu tham chiếu:

  • Tương đối — A1: dịch chuyển theo hướng copy, dùng khi công thức lặp lại theo hàng/cột (ví dụ tính thành tiền = đơn giá × số lượng cho từng dòng).
  • Tuyệt đối — $A$1: cố định cả cột lẫn dòng, dùng cho ô tham chiếu dùng chung như thuế suất, tỷ giá, đơn giá cố định.
  • Hỗn hợp — $A1 hoặc A$1: khóa một chiều, dùng khi copy công thức cả ngang lẫn dọc trong bảng ma trận (ví dụ bảng tính hoa hồng theo từng mức doanh số × từng nhân viên).

Cách nhanh nhất: bấm vào ô công thức, đưa con trỏ vào phần tham chiếu cần khóa, nhấn phím F4 để Excel tự chuyển vòng qua 4 kiểu (A1 → $A$1 → A$1 → $A1). Không cần gõ tay dấu $, tránh gõ nhầm vị trí.

Protect Sheet — khóa ô không cho gõ đè, không phải khóa cả file

Nhiều người nhầm giữa "khóa file" (đặt mật khẩu mở file) và "khóa ô" (cho xem, cho nhập vùng trống, nhưng chặn sửa vùng công thức). Với file chia sẻ nội bộ, cái cần là khóa ô, vì mục tiêu không phải giấu file mà là bảo vệ vùng tính toán trong khi vẫn để nhân viên nhập số liệu bình thường.

Cơ chế của Excel hơi ngược trực giác: mặc định MỌI ô trong sheet đều ở trạng thái "Locked" (khóa), nhưng thuộc tính này chỉ có tác dụng sau khi bật Protect Sheet. Vì vậy nếu bật Protect Sheet ngay mà không xử lý gì trước, toàn bộ sheet — kể cả vùng nhập liệu — sẽ bị khóa cứng, nhân viên không nhập được số lượng, đơn giá gì cả. Quy trình đúng gồm 3 bước:

  • Bước 1 — Bỏ khóa vùng nhập liệu trước. Chọn toàn bộ vùng nhân viên cần gõ (ví dụ cột số lượng, ghi chú đơn hàng). Chuột phải → Format Cells → tab Protection → bỏ tick Locked. Làm bước này trước khi bật bảo vệ, vì sau khi bảo vệ rồi sẽ không chỉnh được thuộc tính Locked nữa.
  • Bước 2 — Bật Protect Sheet. Vào tab Review → Protect Sheet. Tick các quyền muốn cho phép (thường để "Select unlocked cells" và bỏ "Select locked cells" nếu muốn ẩn luôn công thức khỏi tầm nhìn). Đặt mật khẩu nếu cần, nhưng lưu ý mật khẩu Protect Sheet của Excel không phải mã hóa mạnh — người rành có thể phá bằng công cụ chuyên dụng, nên đừng dùng nó để giấu dữ liệu nhạy cảm, chỉ dùng để ngăn thao tác nhầm.
  • Bước 3 — Kiểm tra lại bằng cách thử gõ vào ô công thức. Excel sẽ báo "The cell or chart you're trying to change is protected" — đúng nghĩa của việc khóa thành công.

Ví dụ thực tế: quán ăn của một khách hàng SheetStore dùng sheet tính tiền cuối ngày, cột công thức tự cộng tổng theo ca sáng/chiều/tối nằm ngay cạnh cột nhân viên ghi số bàn. Chỉ cần bỏ khóa đúng 3 cột ghi số liệu, khóa toàn bộ phần còn lại, nhân viên ca nào cũng nhập được số của mình mà không đụng vào công thức tổng. Cách tính tổng cuối ngày kiểu này áp dụng được cho nhiều mô hình quán ăn, chi tiết có thể xem thêm ở bài cách tính tiền quán cơm cuối ngày không sai.

Khóa từng vùng riêng cho từng người — không phải ai cũng cần thấy hết công thức

Vấn đề nâng cao hơn: xưởng in của anh Tuấn có 4 sale, mỗi người chỉ nên sửa được đơn hàng của mình, không ai được đụng vào đơn của người khác, và không ai được thấy công thức tính giá vốn (vì đó là thông tin nội bộ, sale không cần biết giá vốn thật để tránh lộ ra ngoài khi thương lượng với khách). Protect Sheet thường chỉ khóa/mở đồng loạt, không phân biệt được ai với ai.

Excel có tính năng Allow Edit Ranges (tab Review) giải quyết đúng việc này: tạo nhiều vùng được đặt tên, mỗi vùng gán một mật khẩu riêng hoặc giới hạn theo user Windows. Ví dụ tạo vùng "Sale_A" chỉ chứa các dòng đơn hàng của nhân viên A, gán mật khẩu riêng cho vùng đó. Khi bật Protect Sheet, nhân viên A gõ đúng mật khẩu của mình mới sửa được vùng đó, các vùng khác vẫn khóa. Cách này hợp với công ty có vài chục nhân viên dùng chung 1 file Excel offline, nhưng thành thật mà nói, quản lý nhiều mật khẩu vùng theo cách thủ công này khá cồng kềnh — mỗi lần thêm nhân viên mới lại phải vào lại Allow Edit Ranges để set thêm, dễ quên và dễ lộ mật khẩu qua email nội bộ.

Nếu đội ngũ làm việc chủ yếu trên Google Sheets thay vì Excel offline, phân quyền theo range mượt hơn nhiều vì gắn trực tiếp với tài khoản Google thay vì mật khẩu tĩnh — có thể tham khảo cách làm chi tiết ở bài cách khóa ô công thức trong Google Sheets tránh sửa nhầm và bài phân quyền xem/sửa theo từng sheet, nếu công ty đang cân nhắc chuyển hẳn quy trình báo giá sang Sheets để tránh vòng gửi-nhận file Excel qua email mỗi ngày.

Ẩn hẳn công thức khỏi thanh Formula Bar — khi khóa chưa đủ

Khóa ô (Locked) chỉ ngăn sửa, không ngăn xem. Ai click vào ô công thức vẫn thấy nguyên công thức hiện trên thanh Formula Bar phía trên, kể cả khi sheet đã Protect. Với xưởng in, việc sale nhìn thấy công thức =D2*1.35 (hệ số lời 35%) là rò rỉ thông tin giá vốn không mong muốn — dù họ không sửa được, họ vẫn đọc được logic tính giá.

Excel có thuộc tính thứ hai đi kèm Locked, tên là Hidden, nằm cùng tab Format Cells → Protection. Tick Hidden cho vùng công thức (song song với giữ Locked), sau khi Protect Sheet, công thức trong các ô đó sẽ không hiện trên Formula Bar nữa — người dùng chỉ thấy kết quả số, không thấy công thức phía sau. Đây là thứ nhiều người quản lý file không biết tồn tại, vì Excel không nhắc gì đến nó ở giao diện Protect Sheet chính.

Một tình huống dùng nhiều: file tính hoa hồng bán hàng có công thức chia bậc theo doanh số (dưới 50 triệu hưởng 3%, 50-100 triệu hưởng 5%, trên 100 triệu hưởng 7%). Chủ shop không muốn nhân viên biết chính xác ngưỡng và công thức, chỉ muốn họ thấy số tiền hoa hồng cuối cùng. Kết hợp Locked + Hidden + Protect Sheet giải quyết đúng nhu cầu này mà không cần tách file riêng.

Giới hạn thật của cách khóa này — và khi nào nên đổi cách làm khác

Cần nói thẳng: Protect Sheet của Excel là rào chắn ở mức thao tác thông thường, không phải bảo mật thực sự. Ai có kiến thức VBA cơ bản có thể unprotect sheet bằng vài dòng macro trong vài giây, kể cả khi có mật khẩu — đây là lỗ hổng đã tồn tại nhiều phiên bản Excel và Microsoft chưa vá triệt để vì bản chất thiết kế là chống-nhầm-lẫn chứ không phải chống-tấn-công. Nếu file chứa dữ liệu thật sự nhạy cảm (lương, hợp đồng, giá vốn chi tiết), đừng coi Protect Sheet là lớp bảo vệ cuối cùng — hãy giới hạn quyền truy cập file từ gốc (ai được mở file) thay vì chỉ khóa bên trong. Một giới hạn khác ít ai để ý: khóa ô không ngăn được người dùng xóa nguyên hàng/cột chứa công thức nếu bạn quên tắt quyền "Delete Rows/Columns" trong hộp thoại Protect Sheet. Nhiều người tick sai, để mặc định cho phép xóa dòng, kết quả là công thức vẫn "bị sửa" theo kiểu gián tiếp — không ai gõ đè, nhưng cả dòng chứa công thức biến mất khi ai đó dọn dẹp dữ liệu thừa.

Với file càng nhiều người dùng, càng nhiều loại quyền cần phân biệt (xem-only, nhập liệu, sửa công thức, admin), việc duy trì thủ công qua Format Cells + Protect Sheet + Allow Edit Ranges bắt đầu tốn công quản lý hơn là giải quyết vấn đề — nhất là khi file định kỳ cần cập nhật công thức (đổi % thuế, đổi bậc hoa hồng) mà mỗi lần đổi phải unprotect, sửa, protect lại, dễ quên bước cuối. Nếu quy trình báo giá hoặc tính lương đã ổn định và lặp lại hàng tháng, việc dùng sẵn một mẫu Google Sheets có sẵn cấu trúc phân quyền và công thức đã khóa từ đầu (như các mẫu quản lý bán hàng, tính lương trên SheetStore) tiết kiệm được vòng dựng-khóa-kiểm tra lại này mỗi lần.

Chọn công thức Sheets hay chuyển sang Apps Script khi file phức tạp dần

Khi số lượng công thức khóa tăng lên — nhiều tầng IF lồng nhau, nhiều vùng bảo vệ khác nhau cho từng phòng ban — bản thân việc bảo trì công thức cũng trở thành rủi ro riêng, tách biệt với rủi ro bị sửa nhầm. Một công thức 5 tầng IF lồng khóa cứng vẫn có thể sai logic ngay từ đầu, chỉ là không ai sửa nhầm được nữa thôi. Đây là lúc cần cân nhắc liệu nên tiếp tục nhồi thêm công thức Sheets hay chuyển phần tính toán phức tạp sang Apps Script, nơi logic được viết thành code có thể kiểm thử và version-control rõ ràng hơn là dò từng ô. Bài công thức Sheets hay Apps Script cho báo cáo định kỳ có tiêu chí cụ thể để quyết định thời điểm nên chuyển.

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

Dấu $ trong công thức Excel dùng để làm gì khi khóa công thức?

Dấu $ tạo tham chiếu tuyệt đối, giữ nguyên địa chỉ ô hoặc cột/hàng khi copy công thức sang chỗ khác, tránh công thức tự dịch chuyển sai lệch. Ví dụ $A$1 giữ cố định cả cột lẫn hàng, còn A$1 chỉ giữ hàng. Đây là bước đầu trước khi khóa ô bằng Protect Sheet.

Làm sao khóa ô công thức nhưng vẫn cho nhập liệu ô khác trong Excel?

Chọn toàn bộ sheet, vào Format Cells > Protection, bỏ tick Locked. Sau đó chọn riêng các ô chứa công thức, tick lại Locked. Cuối cùng vào Review > Protect Sheet để kích hoạt, lúc này chỉ ô công thức bị khóa, ô nhập liệu vẫn sửa bình thường.

Chia sẻ file Excel cho khách hàng thì nên khóa công thức hay ẩn công thức luôn?

Nếu chỉ cần tránh sửa nhầm, khóa ô (Locked) kèm Protect Sheet là đủ, khách vẫn xem được công thức trên thanh Formula Bar. Muốn giấu luôn công thức thì tick thêm Hidden trong Format Cells > Protection trước khi bật Protect Sheet.

Protect Sheet trong Excel có đặt mật khẩu được không và quên mật khẩu thì sao?

Có, khi bật Protect Sheet có ô nhập password tùy chọn. Nếu không đặt, ai cũng gỡ khóa được qua Review > Unprotect Sheet. Nếu đặt rồi quên mật khẩu, Excel không có cách khôi phục chính thức, nên lưu mật khẩu ở nơi riêng trước khi khóa file quan trọng.

Bạn muốn áp dụng ngay mà không phải tự xây từ đầu?

Khám phá các mẫu Google Sheets và phần mềm quản lý dựng sẵn cho doanh nghiệp Việt tại SheetStore Marketplace.

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