Я создал очень простое приложение для работы с электронными таблицами в Google Spreadsheet для моей мамы. Но мне действительно нужно заблокировать / защитить ячейку формулами, чтобы она не могла их редактировать. Каждый раз, когда я велел ей попробовать новые версии, она переписывала формулы.
Есть идеи, как подойти к этому с технической точки зрения ?
Я искал в сети, и мне кажется, что это сейчас невозможно сделать в Google Apps.
источник
importrange
которая может импортировать целый раздел одного листа в другой. Используя это, вы можете импортировать данные всего первого листа во второй лист, а затем отобразить все уравнения там рядом с данными, которым они соответствуют. В Google есть документация , которая может оказаться вам полезной. Это все еще не было бы идеальным решением, но было бы ближе, так как оно отображало бы все результаты на одной странице, по крайней мере, с исходными данными.Я обнаружил, что если вы создаете комментарий, прикрепленный к ячейкам, которые не должны редактироваться, вы можете попросить его предупредить кого-то, когда он наведет курсор мыши на ячейку, чтобы отредактировать его. Это, конечно, на самом деле не блокирует ячейку, но, надеюсь, достаточно раз увидит всплывающую заметку, и, возможно, ваша мама перестанет вручную менять эти цифры.
Я думаю, что вы можете добавлять комментарии только по одной ячейке за раз, поэтому, в зависимости от того, сколько ячеек являются формулами, это решение может быть нежизнеспособным.
источник
Сегодняшний ответ - «Именованные и защищенные диапазоны» в меню «Данные». Работает плавно.
источник
Вы можете использовать скрипт приложений Google, чтобы написать свой собственный механизм блокировки в JavaScript.
Например:
Допустим, у вас есть формула в столбце B, и она равна значению в столбце A + 1. Если мы посмотрим на ячейку (B3), она должна иметь формулу "= A3 + 1"
Чтобы написать скрипт для защиты от изменений, вы должны написать что-то вроде этого, используя Script Editor:
Если вы работаете с ней каждый раз, когда кто-то редактирует какую-либо ячейку в столбце B, скрипт автоматически вернет вашу формулу и выдаст предупреждение.
источник
Обходной путь - использовать проверку данных.
Перейдите в меню «Данные», нажмите «Проверка» ..., затем определите диапазон ячеек, которые необходимо «защитить». Пример:
SheetA!F2:F9999
. Затем выберите Критерии: Текст, равно. Затем введите в поле что-то вроде: "= *" без кавычек. Снимите флажок «разрешить неверные данные ...». Сохранить.Это должно позволить пользователю только ввести значение, начинающееся со знака = (которое является началом вашей формулы защиты). Если они вводят знак =, они могут изменить эту ячейку.
Звездочка разрешает что-либо после = быть действительным. Вы могли бы указать это далее, чтобы защитить его больше: например: текст, равно
=sum(*)
или или=AVG(B*:D*)
и т. Д.источник
Попробуйте сделать поля, где она должна вводить текст, другого цвета и попросите ее писать только в цветные прямоугольники.
источник
Простое решение, когда в Excel возникла та же проблема:
Еще один способ сделать это - проверка данных. После того, как вы заполнили ячейку нужным содержимым,
Выберите Data Validation и используйте опцию Custom. Для формулы введите
=""
Затем выберите «Отклонить ввод».
источник
В Microsoft Excel я могу заблокировать весь лист, а затем выборочно разблокировать отдельные ячейки или диапазоны.
В таблицах Google я блокирую все ячейки в одном или нескольких отдельных диапазонах, кроме ячеек, которые должны быть доступны для ввода другим пользователям. Посмотрите этот пример листа Google, который я сделал сегодня: пример
Одним из отличий от Excel является то, что все на листе Google все заблокированные ячейки имеют серые диагональные полосы в качестве фона.
источник