Добавить переменную (имя листа) в функцию ячейки - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть 3 различных листа, названных в качестве последовательных дат: 2017-02-03, 2017-02-04, 2017-02-05, ...

В каждом я хочу резюмеднем ранее, который находится в ячейке G1 (в каждом листе).

Итак, я хочу что-то вроде этого:

G2 =(Name of this sheet -1)!G1

Итак, если, например, я нахожусь на листе 2017-02-04 У меня в G2 будет значение G1 на листе 2017-02-03

Как я могу это сделать?

1 Ответ

0 голосов
/ 22 февраля 2019

Это можно сделать только с помощью пользовательской функции, а не только формулы.Ниже я создал пользовательскую функцию, которую можно вызывать так: =GETLASTSHEETVALUE("G1") Обратите внимание на цитату вокруг G1, они важны.Он найдет лист непосредственно перед текущим листом и вернет значение запрашиваемой ячейки. не будет работать с диапазонами, только с одной ячейкой.

Добавьте следующий код в редактор сценариев электронной таблицы («Инструменты»> нажмите «Редактор сценариев»), затем сохраните и закройте.

function GETLASTSHEETVALUE(input){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var name = ss.getActiveSheet().getName();
  var sheets = ss.getSheets();

  for(var i = 0; i < sheets.length; i++){
    if(name === sheets[i].getName()) return sheets[i-1].getRange(input).getValue();
  }
  return "Error";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...