Защищайте ячейки таким образом, чтобы я мог добавить к ним только +1 - PullRequest
0 голосов
/ 29 мая 2020

У меня есть куча ячеек с числами. Я хочу, чтобы они защищали их таким образом, чтобы я мог только добавить к ним +1. Теперь я делаю это вручную (4 становится 5 et c .et c.).

Предполагается, что в Google Spreadsheets нет изящной стрелки вверх / вниз для увеличения / уменьшения ячейки +1 / -1 , Я думаю, я должен использовать скрипт.

Примерно так

function increment() {  SpreadsheetApp.getActiveSheet().getRange("F5").setValue(SpreadsheetApp.getActiveSheet().getRange("F5").getValue() + 1);
}

Но если я использую этот скрипт (создаю множество рисунков (grrr)), я предполагается создать x одинаковых функций? Кажется немного глупым.

Это дает мне ошибки

function increment(mycell) {  SpreadsheetApp.getActiveSheet().getRange(mycell).setValue(SpreadsheetApp.getActiveSheet().getRange(mycell).getValue() + 1);
}

Использование: приращение (F5)
Ошибка: приращение функции (F5) не найдено.

?

1 Ответ

0 голосов
/ 29 мая 2020

Проблема с вашим подходом заключается в рекурсии.

Формулы листа по умолчанию пересчитываются, поэтому, если вы вводите в ячейку формулу, которая увеличивает значение в другой ячейке на 1 - когда значение увеличивается, это вызовет перерасчет формулы и запросит повторное увеличение значения и т. д.

Таким образом, вы не можете реализовать свою идею таким образом

Временное решение

  • Создайте функцию, которая увеличивает значение текущей ячейки
  • Вы привязываете эту функцию, например, к кнопке и запускаете выполнение после того, как вы щелкнете в нужной ячейке и нажмете кнопку

Пример функции:

function increment() {  
  SpreadsheetApp.getActiveSheet().getCurrentCell().setValue(SpreadsheetApp.getActiveSheet().getCurrentCell().getValue() + 1);
}

Чтобы создать кнопку:

  • Go из пользовательского интерфейса Таблиц на Insert->Drawing
  • Нарисуйте форму на ваш выбор и нажмите Save and close
  • Нажмите на три вертикальные точки в правом верхнем углу чертежа
  • Выберите Assign script enter image description here
  • Введите название развлечения ction (без ())
  • Щелкните ячейку, значение которой вы хотите увеличить
  • Щелкните свой рисунок, чтобы запустить сценарий - готово!

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...