Вставить ссылку на ячейку с другого листа

#google-apps-script #google-sheets #google-sheets-formula

#google-apps-script #google-sheets #google-sheets-формула

Вопрос:

Я пытаюсь заставить этот скрипт работать, но не могу его выполнить.

Итак, я хотел бы получить результат на листе 1 с листа 4.

 function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0]; 
ss.getRange('AM2').activate();
ss.getCurrentCell().setFormula('=[4] AL3');
  

Надеюсь, я близок?

Ответ №1:

Объяснение:

  • Во-первых, определите листы, с которыми вы хотите работать:

     var sheet1 = ss.getSheetByName('Sheet1');
    var sheet4 = ss.getSheetByName('Sheet4');
      
  • Получить значение ячейки AL3 в Sheet4 :

     var value = sheet4.getRange('AL3').getValue();
      
  • Установите его в ячейку AM2 в Sheet1 :

     sheet1.getRange('AM2').setValue(value);
      

Если вы хотите использовать формулу вместо этого, просто сделайте это:

 var sheet1 = ss.getSheetByName('Sheet1');
sheet1.getRange('AM2').setFormula('Sheet4!AL3');
  

Решение:

Я думаю, вы ищете это:

 function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('Sheet1');
var sheet4 = ss.getSheetByName('Sheet4');
var value = sheet4.getRange('AL3').getValue();
// sheet1.getRange('AM2').setValue(value); // if you want the value use this
sheet1.getRange('AM2').setFormula('Sheet4!AL3'); // if you want the formula use this
}
  

Если в названии листов между словом и числом есть пробел, например Sheet 1 , вместо Sheet1 и Sheet 4 вместо Sheet4 , используйте это решение:

 function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('Sheet 1');
var sheet4 = ss.getSheetByName('Sheet 4');
var value = sheet4.getRange('AL3').getValue();
//sheet1.getRange('AM2').setValue(value); // if you want the value use this
sheet1.getRange('AM2').setFormula("'Sheet 4'!AL3") // if you want the formula use this 
}