Доброго времени суток! Необходимо в google sheets автоматически брать данные из предыдущего листа и подставлять в формулу. В поисках нашел решение, но оно работает только, если функцию разместить в отличной от имени ячейки, откуда получена информации с предыдущего листа. К примеру беру данные из предыдущего листа из ячейки J5 и вызываю функцию на текущем листе в ячейке J5 - выскакивает ошибка, что цикличные ссылки. Подскажите пожалуйста Как можно решить проблему?
Сама функция:
function getListPrev(range) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const index = sheet.getIndex();
const formula = sheet.getActiveRange().getFormula();
range = formula.match(/getListPrev\(([^\)]*?)\)/i)[1].trim();
const sheet_prev = (ss.getSheets()[index - 2] || null);
if (!sheet_prev)
throw new Error('Нет предыдущего листа!');
return sheet_prev
.getRange(range)
.getValues();
}
Вызов функции в аналогичной по расположению ячейке (J5):
Вызов функции в другой ячейки (вызов в ячейке B20, получение данных из ячейки B1):