Google脚本IF文本声明

时间:2019-05-07 20:53:43

标签: javascript if-statement google-apps-script

我需要编写Google脚本IF语句,但对于TEXT则不是数字值。如果单元格x包含“是”,则y否则为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 :(得分:0)

尝试一下:

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)