Google Script IF Statement для текста - PullRequest
0 голосов
/ 07 мая 2019

Мне нужно написать оператор Google Scripts IF, но для TEXT, а не для числовых значений. Если ячейка x содержит «Да», тогда у еще z.

Небольшая проблема с синтаксисом в строке 2. Я перепробовал все, что смог найти, чтобы исправить. Пожалуйста, помогите!

  var workingcell = activesheet.getRange(3, 4).getValue();
  if (workingcell == "Yes"){
    activesheet.getRange(4, 4).setValue("TASK - BC to be given access to IMS.");
  } else{
    activesheet.getRange(4, 4).setValue("TASK - BC to create Slack Channel.");
  }

1 Ответ

0 голосов
/ 08 мая 2019

Попробуйте это:

function runTwo() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getRange(3,4,2,1);
  var vA=rg.getValues();
  if (vA[0][0].toString().toLowerCase()=="yes"){
    vA[1][0]="TASK - BC to be given access to IMS.";
  } else{
    vA[1][0]="TASK - BC to create Slack Channel.";
  }
  rg.setValues(vA);
}

Вот как функция onEdit ():

function onEdit(e) {
  var sh=e.range.getSheet();
  if(e.range.columnStart==4 && e.range.rowStart==3) {
    if(e.value.toLowerCase()=='yes') {
      e.range.offset(1,0).setValue("TASK - BC to be given access to IMS.");
    }else{
      e.range.offset(1,0).setValue("TASK - BC to create Slack Channel.");
    }
  }
}

Если ваша функция не запущена, как в первом примере, или пользователь получает правку во втором примере, то это невозможно. Там нет триггера, который обнаруживает изменения в одной ячейке.

Полагаю, вы могли бы использовать это как функцию ячейки. Как это:

function runTwo(A) {
  if (A.toString().toLowerCase()=="yes"){
    return "TASK - BC to be given access to IMS.";
  } else{
    return "TASK - BC to create Slack Channel.";
  }
}

Поместите его в D4 как =runTwo(D3)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...