Как установить формула с условием IF? - PullRequest
1 голос
/ 16 октября 2019

Я создаю инструмент для своей компании и хочу, чтобы он создал новый лист и разместил его список на «основном листе». Когда флажок установлен в строке основного листа, я хочу, чтобы ячейка на «дополнительном листе» показывала «Готово», иначе «не завершено».

Моя проблема в том, что формула не была правильно применена к ячейке.

Я пытался избежать "или" в функции setFormula, но ничего не изменилось, и у меня все еще есть "ОШИБКА" вячейка

function newsheet(){
var s = SpreadsheetApp.getActive();
//All lines to create the new sheet
s.getRange('L1').setValue("=IF(MainSheet!H3=TRU;\"FINISH\";\"NOT FINISHED\")");
}

//I also tried the following :

function tests(){
  var s = SpreadsheetApp.getActive();
  var finished = '"FINISHED"';
  var not_finished = '"NOT FINISHED"';
  s.getRange('L1').setFormula('=IF(MainSheet!H3=TRUE;'+finished+';'+not_finished+')');
}

Я хочу, чтобы эта строка применила формулу, чтобы любое изменение флажка в любой момент могло изменить ячейку без сценария, но сейчас у меня есть «ошибка анализа формулы» в обоих тестах.

Изображение показывает несоответствие между ячейкой с формулой, написанной скриптом, ячейкой копирования / вставки и формулой копирования / вставки в ячейке

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

После нескольких попыток я нашел кое-что:

    function tests(){
  var s = SpreadsheetApp.getActive();
  s.getRange('L1').setFormula("IF(H3=TRUE;\"TERMINEE\";\"EN COURS\")");
}

Это работает, но мой сценарий был таким же вчера (но на французском) и больше не понимает французский.

0 голосов
/ 16 октября 2019

Я предлагаю вам чередовать одинарные и двойные кавычки, чтобы избежать путаницы с побегом. Также в вашей формуле есть небольшая ошибка: «TRU» вместо «TRUE».

Это работает:

function newsheet(){
var s = SpreadsheetApp.getActive();
//All lines to create the new sheet
s.getRange('L1').setValue('=IF(MainSheet!H3=TRUE;"FINISH";"NOT FINISHED")');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...