Apps Script в код подставить ID и имя листа из ячеек рабочего листа

Можно ли заменить жесткую привязку в коде NameDoc NameListDoc на ячейку из листа, периодически будет меняться как id документа, так и название листа, но не хочется залазить в код. На "Лист1" сейчас указано в ячейке А1 - id документа ...., в ячейке А2 - название листа 01_24. Текущий код:

function distrib() {
  var spreadsheet = SpreadsheetApp.getActive();
  var NameList = SpreadsheetApp.getActive().getSheetByName("Лист1");
  var NameDoc = SpreadsheetApp.openById('1iGfG3xSrkQ_7J3XU38LENpzwRprjTomAYLLQw89Gkr8');
  var NameListDoc = destinationSpreadSheet.getSheetByName("01_24");

  var f = NameList.getRange('C4').getValues() ; if (f != ''){NameListDoc.getRange('B5').setValues(f);}
  var f = NameList.getRange('C5').getValues() ; if (f != ''){NameListDoc.getRange('B6').setValues(f);}
}

Ответы (1 шт):

Автор решения: ZxNuClear

Если я правильно вас понял, то у вас есть таблица, предположим с листом Лист1, на котором в ячейках A1:A2 вы периодически меняете ID и имя листа внешней таблицы, с которой нужно проводить какие-то манипуляции. Тогда вы получаете значения из A1:A2

var getIDandName = SpreadsheetApp.getActive().getSheetByName("Лист1").getRange('A1:A2').getValues();

а дальше подставляете их в свою формулу. Например, если вы хотите получить данные с ячейки F1 таблицы, чьи ID и Имя листа берутся из ячеек A1:A2, то выглядит это так:

var NameListDoc = SpreadsheetApp.openById(getIDandName[0][0]).getSheetByName(getIDandName[1][0]).getRange('F1').getValue();
→ Ссылка