У меня есть таблица с ячейками, которые имеют функции / формулы, как этот:
Мне нужен скрипт, который создает новую строку, копируя вместе с ней функции / формулы последней использованной строки. Я нахожу этот скрипт, который создает новую строку, но он не копирует функции / формулы . Как я могу реализовать эту задачу копирования в Google Apps Script без необходимости выбирать и копировать вручную?
google-sheets
google-apps-script
Ученик Питонисты
источник
источник
Ответы:
Используйте код ниже, чтобы скопировать также формулы как нормальные значения. Добавьте код, выбрав Инструменты в меню электронных таблиц. Затем выберите редактор сценариев и добавьте код. Убедитесь, что нажали кнопку «ошибка» и аутентифицировали скрипт.
Код
замечание
Установка contentOnly в
false
даст стандартную копию. Если установить егоtrue
, будут вставлены только значения. Найденный вами пример сценария выполняет намного больше, чем вставка значений .....пример
Я создал файл примера для вас: Добавить строку с формулой
источник
Эта ArrayFormula может делать то же самое без использования скрипта. Введите его в D4, и он будет автоматически перенесен в любое количество пустых ячеек под ним.
Примечания: «B4: B» означает, посмотрите все ячейки, начиная с B4 и до конца столбца.
В то время как ArrayFormula заботится о копировании себя в ячейки под ним. Просто убедитесь, что клетки под ним пустые.
источник
В случае, если вам нужно добавить новую строку сверху (первая строка) и скопировать формулу из первой верхней строки, вам нужно будет копировать формулы в зависимости от использования
getFormulas()
иsetFormulas()
функций.firstRow
Например, вы можете изменить значение на 2, если в вашей электронной таблице есть заголовки.источник
Для решения этой проблемы я использовал
setFormula(range)
, например:Ваша формула будет автоматически увеличиваться в соответствии с индексом строки.
Наконец, вы можете добавить триггер onUpdate или onEdit.
источник
onUpdate
Триггер не существует.