Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

Как скрыть (зашифровать формулы) в гугл таблице ?

Автор Максим Пожарский, 24.12.2022, 10:44:00

« назад - далее »

Максим Пожарский

Всем привет! Требуется помощь! Подскажите, пожалуйста, есть ли какой нибудь способ скрывать формулы в google sheets ?
На просторах рунета нашёл только способ через importrange, но этот вариант не подходит, так как таблица не так проста. Написан калькулятор расчёта. Я предоставляю доступ другим сотрудникам к калькулятору, но как сделать чтобы они формулы не видели ? Пробовал скрыть панель формул, но при доступе редактора любой сотрудник может открывать эту панель и видеть формулы. Если защищать диапазон с формулами, то калькулятор не производит расчёт, так как расчёт производиться с помощью кнопки в меню.

Заранее благодарен за помощь! Отдельное спасибо Дмитрию Щербакову за помощь с кнопками в меню, получилось круто, лучше чем с картинками

Дмитрий Щербаков(The_Prist)

Насколько я знаю такой возможности в Google просто нет.
Поэтому, предположу, что можно просто в тех скриптах, которые производят изменения добавить снятие/установку защиты.
Тут опять же - если защита установлена только на конкретные ячейки с формулам - они вроде бы должны пересчитываться, хоть и защищены.
Ну и вариант с importrange тоже не так плох. Придется настраивать перенос только ячеек с формулами с расчетного листа, а на расчетном листе явно делать завязки на лист, куда импортируется и где ввод данных происходит. Но на мой взгляд это вообще оптимальный вариант.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Максим Пожарский

Цитата: Дмитрий Щербаков(The_Prist) от 24.12.2022, 18:05:00
Ну и вариант с importrange тоже не так плох.

Там дело в том, что формулы меняются в зависимости от нажатия кнопки, то есть с помощью function к каждой кнопке в меню идет привязка определённой формулы.
function myFunction_Button1() { 
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('G7:G8').activate();
  spreadsheet.getCurrentCell().setFormula('=IFERROR(IF(COUNTIF(B7:F7;"");"";IF(INT(E7+F7-3/24-C7-D7-VLOOKUP(B7;UTC!A2:B1640;2;)/24)<0;"NoSho";INT(E7+F7-3/24-C7-D7-VLOOKUP(B7;UTC!A2:B1640;2;)/24)));"Введите данные в UTC-")\n');


Я пробовал через importrange, но те же кнопки уже отпадают, которые в меню, ими уже не воспользоваться, а если чисто в ячейках оставить нужные формулы и чуть подредачить калькулятор, то importrange сами формулы не тянет.

А по поводу защиты, подскажите, пожалуйста, что вы имеете ввиду ? Я просто не так давно со скриптами работаю, может чего не знаю..

casag

Максим Пожарский. Добрый день. Не знаю, как у вас там в файле, все устроено, но может быть вам поможет вот это https://t.me/google_sheets/753

Максим Пожарский

На первый взгляд то что нужно вроде! Я же правильно понимаю, что мне нужно создать второй лист google sheets (дубликат), с теми же скриптами, которые и в основной таблице ? И в дубликате прописать данный код, который вы предложили. Мне самое главное, чтобы сотрудники редактировать не могли те ячейки, где формулы, но это даже не самое главное, главное чтобы формулы было не видно им! Если этот метод поможет буду вам очень благодарен!!!

Я только пока не совсем понимаю, как и куда его вписать этот скрипт)

casag

#5
В комментариях под описанием есть видео, как это работает. Общая схема такая. Берете две книги. В первой все ваши макросы, во второй никаких макросов, формул - только листы с данными. При редактировании определенной ячейки во второй  книге(например ввод слова "рассчитать") запускается макрос из первой книги, проводится расчет и результат выводится в конкретную ячейку второй книги. Но, нужно смотреть. как у вас это организовано.
   Можно проще. в первую книгу записываете все формулы, а во вторую макрос, который берет формулу из первой книги, вставляет в нужную ячейку второй книги и затем удаляет формулу из ячейки, оставляя только полученное значение. Но этот способ не надежный, потому что этим же макросом продвинутые сотрудники, путем несложной манипуляции с кодом, легко получат доступ к формуле. С другой стороны продвинутому сотруднику проще самому написать формулу , чем воровать ее. Выбор за вами.

Яндекс.Метрика Рейтинг@Mail.ru