@arr0w

Автоматизация работы со строками?

Необходимо написать формулу:
spreadsheet.getRange('C2').activate();
spreadsheet.getCurrentCell().setFormula('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C2")');
1240 раз. Увеличивая выделенные значения на 1.
То-есть в каждой последующей ячейке должна получаться формула отличающаяся номером ячейки на 1.

Пример:
spreadsheet.getRange('C2').activate();
spreadsheet.getCurrentCell().setFormula('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C2")');
spreadsheet.getRange('C3').activate();
spreadsheet.getCurrentCell().setFormula('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C3")');
spreadsheet.getRange('C4').activate();
spreadsheet.getCurrentCell().setFormula('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C4")');


Пожалуйста, помогите написать скрипт.
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
Жёстко, металлично (с)
Можно сделать и так:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C2:C")


А если хочется всё-таки 1000+ формул, то как-то так:
const formulaTemplate = '=IMPORTRANGE("https://docs.google.com/spreadsheets/d/"; "Показатель!C2")';
let range = spreadsheet.getRange('C2:C1240');
let formulas = range.getFormulas();
formulas = formulas.map((row,ri)=>row.map(f=>formulaTemplate.replace('!C2', '!C'+(ri+2))));
range.setFormulas(formulas);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы