Вот ссылка на образец листа
У меня есть лист с высоким средним и низким в качестве ответов.Мне нужно изменить их на числа, чтобы я мог создать диаграмму, поэтому я использую функцию переключения.Однако данные являются динамическими, поэтому это зависит от нескольких факторов относительно количества данных. Я могу получить set.formula для обновления из первого набора данных, но только с использованием ссылок на ячейки.Могу ли я использовать динамические переменные внутри формулы, чтобы, если было 5 наборов данных, она копировала формулу 5x, но меняла ссылку на строку
в переменной + copyCell +
function weeklyReview()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Workzone Planning');
var sessionSheet = ss.getSheetByName('Daily Plan');
var calcSheet = ss.getSheetByName('Calc Sheet');
var chartSheet = ss.getSheetByName('WeeklyReviewCalcs');
var lastCol = sessionSheet.getLastColumn();
var numDays = sheet.getRange('f11').getValue();
var numSessions = sheet.getRange('c29').getValue();
var startFormula = chartSheet.getRange('c4').activate();
for (var a=0; a<numDays; a++)
{
var day = calcSheet.getRange(a+3, 1).getValue()
chartSheet.getRange('a1').setValue(day)
chartSheet.getActiveCell().setFormula ('=SWITCH(\'Daily
Plan\'!C15,"High", 2, "Medium", 1, "Low", 0, 0)');
chartSheet.getActiveCell().offset(1, 0).setFormula('=SWITCH(\'Daily Plan\'!C14, "High", 2, "Medium", 1, "Low", 0, 0)');
chartSheet.getActiveCell().offset(2, 0).setFormula('=SWITCH(\'Daily Plan\'!C19, "Yes", 1, "Half", -1, "No", -1, 0)');
chartSheet.getActiveCell().offset(3, 0).setFormula('=SWITCH(\'Daily Plan\'!C16, "High", 2, "Medium", 1, "Low", 0, 0)');
chartSheet.getActiveCell().offset(4, 0).setFormula('=SWITCH(\'Daily Plan\'!C17, "None", 2, "Some", 1, "Lots", 0, 0)');
chartSheet.getActiveCell().offset(5, 0).setFormula('=SWITCH(\'Daily Plan\'!C18, 100%, 2, 66%, 1, 33%, 0, 0)');
}
}
Я хочу, чтобы он прошел в строку 15 ежедневного листа плана для первой итерации, затем переместился вниз и пошел в строку 38 и т. д. ... на количество дней, которыеработают.