Cách khóa / bảo vệ các ô trong Bảng tính Google


9

Tôi đã tạo ứng dụng bảng tính rất đơn giản trong Bảng tính Google cho mẹ tôi. Nhưng tôi thực sự cần phải khóa / bảo vệ tế bào bằng các công thức để cô ấy không thể chỉnh sửa chúng. Mỗi lần tôi bảo cô ấy thử các phiên bản mới, cô ấy đã ghi đè lên các công thức.

Bất kỳ ý tưởng làm thế nào để tiếp cận điều đó từ quan điểm kỹ thuật ?

Tôi đã tìm kiếm trên mạng và dường như không thể thực hiện được ngay bây giờ trong Google Apps.

Câu trả lời:


9

Hiện tại không thể khóa một ô đã cho . Tuy nhiên, bạn có thể tạo các trang tính mới trong bảng tính và khóa chúng. Nếu bạn thực sự muốn ngăn cô ấy thay đổi công thức, bạn có thể có tất cả các kết quả / công thức ở trang tính thứ hai, tham khảo dữ liệu của trang đầu tiên, sau đó khóa trang tính thứ hai để nó chỉ đọc cho cô ấy.

Để tham chiếu dữ liệu từ trang này sang trang khác, hãy sử dụng cú pháp sheetname!range. Ví dụ: để lấy trung bình của cột A của bảng1 trong các hàng từ 2 đến 10, bạn sẽ sử dụng Average(sheet1!A2:A10).

Để thêm trang tính, sử dụng +dấu ở phía dưới bên phải của bảng tính. Bạn có thể chuyển đổi giữa và đổi tên trang tính bằng cách sử dụng các tab và mũi tên thả xuống ở phía dưới bên trái của bảng tính.

ảnh chụp màn hình tài liệu google


rất rất tốt đẹp giải thích. Cảm ơn bạn. Không chắc chắn nếu nó có thể sử dụng được trong trường hợp bạn có bảng đơn giản và muốn tính tổng các colums và hàng. Người dùng thường muốn xem tổng và dữ liệu trên một màn hình. Chà, nếu cô ấy tiếp tục xóa các công thức, tôi có một giải pháp cho điều đó :-)
Radek

Rất vui khi được giúp đỡ. Ngoài ra còn có một chức năng được gọi là importrangecó thể nhập toàn bộ một phần của một tờ vào một trang khác. Sử dụng điều đó, bạn có thể nhập toàn bộ dữ liệu của trang đầu tiên vào trang tính thứ hai và sau đó hiển thị tất cả các phương trình trên đó gần dữ liệu mà chúng tương ứng. Google có tài liệu cho nó , mà bạn có thể thấy hữu ích. Nó vẫn không phải là một giải pháp hoàn hảo, nhưng sẽ gần hơn vì nó sẽ hiển thị tất cả các kết quả trên một trang với dữ liệu gốc ít nhất.
nheo

có vẻ như đây là giải pháp duy nhất tại thời điểm này .... cảm ơn bạn
Radek

Không vấn đề gì. Nếu cuối cùng bạn tìm thấy một giải pháp tốt hơn, xin vui lòng cập nhật bài viết của bạn; Tôi rất muốn nghe về nó.
nhắt

4

Tôi phát hiện ra rằng nếu bạn tạo một bình luận đính kèm các ô không nên chỉnh sửa, bạn có thể yêu cầu nó cảnh báo ai đó khi họ di chuột qua ô để chỉnh sửa nó. Tất nhiên, nó không thực sự khóa tế bào, nhưng hy vọng, đủ số lần nhìn thấy ghi chú bật lên và có thể mẹ bạn sẽ ngừng thay đổi những con số đó theo cách thủ công.

Tôi nghĩ rằng bạn chỉ có thể thêm nhận xét một ô mỗi lần, vì vậy tùy thuộc vào số lượng ô là công thức, giải pháp này có thể không khả thi.


Bạn nói đúng rằng tôi không thể sử dụng nó trong trường hợp này vì các công thức có trong toàn bộ cột nhưng nó sẽ là giải pháp tuyệt vời trong một số trường hợp ...
Radek

4

Câu trả lời theo ngày hôm nay là "Phạm vi được đặt tên và được bảo vệ" trong menu Dữ liệu. Hoạt động trơn tru.


3
Hạn chế của giải pháp này là chủ sở hữu bảng tính không thể tự khóa các ô. Để giải quyết vấn đề của OP, OP cũng phải sở hữu bảng tính và chia sẻ với mẹ.
MetaEd

Tôi không thể thấy bất kỳ giới hạn cho giải pháp này. Bạn có thể giải thích? Thay đổi chủ sở hữu bảo vệ phạm vi của các tế bào chống lại chính mình.
Radek

3

Bạn có thể sử dụng tập lệnh ứng dụng google để viết cơ chế khóa của riêng bạn trong javascript.

Ví dụ:

Hãy nói rằng bạn có một công thức trong cột B và nó bằng với giá trị trong cột A + 1. Nếu chúng ta nhìn vào ô (B3), nó sẽ có một công thức trong đó là "= A3 + 1"

Để viết một kịch bản để bảo vệ điều này khỏi sự sửa đổi, bạn sẽ viết một cái gì đó như thế này bằng Script Editor:

function onEdit(event)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var CellRow = SpreadsheetApp.getActiveRange().getRow();
  var CellColumn = SpreadsheetApp.getActiveRange().getColumn();

  if (CellColumn == 2){
    sheet.getRange(CellRow, CellColumn).setFormula("=A"+CellRow+"+1");
    Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
  }
}

Nếu bạn làm cho nó hoạt động mỗi khi ai đó chỉnh sửa bất kỳ ô nào trong cột B, tập lệnh sẽ tự động đưa công thức của bạn trở lại và đưa ra thông báo cảnh báo.


3

Một cách giải quyết khác là sử dụng xác nhận dữ liệu.

Chuyển đến trình đơn Dữ liệu, nhấp vào xác thực ..., sau đó xác định phạm vi ô bạn cần "bảo vệ". Vd : SheetA!F2:F9999. Sau đó chọn Tiêu chí: Văn bản, bằng. Sau đó nhập vào hộp một cái gì đó như: "= *" mà không có dấu ngoặc kép. Bỏ chọn hộp "cho phép dữ liệu không hợp lệ ...". Tiết kiệm.

Điều này chỉ nên cho phép người dùng nhập một giá trị bắt đầu bằng = dấu (đó là khởi đầu của công thức của bạn để bảo vệ). Nếu họ nhập dấu = thì họ có thể sửa đổi ô đó.

Dấu hoa thị cho phép mọi thứ sau dấu = là hợp lệ. Bạn có thể chỉ định thêm để bảo vệ nó nhiều hơn: Ví dụ: Văn bản, bằng =sum(*), hoặc =AVG(B*:D*), v.v ...


1

Hãy thử làm cho các hộp nơi cô ấy được cho là nhập văn bản một màu khác và bảo cô ấy chỉ viết trong các hộp màu.


1

Giải pháp đơn giản từ phía sau khi Excel gặp vấn đề tương tự:

Một cách khác bạn có thể làm điều này là thông qua Xác thực dữ liệu. Sau khi bạn có một ô chứa các nội dung mong muốn,

Chọn Xác thực dữ liệu và sử dụng tùy chọn Tùy chỉnh. Đối với công thức nhập=""

Sau đó chọn "Từ chối đầu vào".


0

Trong Microsoft Excel tôi có thể khóa toàn bộ trang tính và sau đó chọn lọc mở khóa từng ô hoặc phạm vi.

Trong Bảng tính Google, tôi khóa tất cả các ô trong một hoặc nhiều phạm vi riêng biệt ngoại trừ các ô có sẵn cho người dùng khác nhập vào. Xem ví dụ này về một tờ Google tôi đã tạo ngày hôm nay: mẫu

Một biến thể từ Excel là tất cả trong bảng Google tất cả các ô bị khóa đều có các đường chéo màu xám làm nền.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.