@Tyschenko

Как ссылаться на предыдущий лист в Google Sheets?

Добрый день. Подскажите, пожалуйста, как я могу ссылаться на предыдущий лист (не руками выбирать его, а именно автоматически)?

Создавая новый лист, я хочу, чтобы он брал данные из предыдущего листа (из тех же ячеек).
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
stomaks
@stomaks
Разработчик Google Apps Script (stomaks.me)
Получите индекс текущего листа:

const ss = SpreadsheetApp.getActiveSpreadsheet()
const sheet = ss.getActiveSheet();
const index = sheet.getIndex();


Затем получайте предыдущий лист по индексу
ss. getSheets()[index - 2];

Вам формула нужна?
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();
}


5f76e926c261d767962334.png

___
stomaks.me
g-apps-script.com
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ForestAndGarden
@ForestAndGarden
Пишете в ячейке A1 имя предыдущего листа, в формулах ссылаетесь на неё.
Ответ написан
Ваш ответ на вопрос

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

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