我的if语句似乎未输出任何内容

时间:2019-09-11 15:26:11

标签: google-apps-script google-sheets

我正在使用if语句,条件是一个单元格的值为“ TRUE”,如果我希望另一个单元格具有该语句中给出的值

我正在使用它来确定已选中哪些框。因此,如果选中一个框,它显示为“ TRUE”,那么我希望另一个单元格显示该框已检查的动作。例如,如果选中了购买框,则我希望其他单元格显示“已购买”。

var submit_type_corrective = submit_sheet.getRange('B6').getValue();
  var submit_type_Opportunity = submit_sheet.getRange('B7').getValue();
  var submit_type_Preventative =submit_sheet.getRange('E7').getValue();
  var type_submitted = log_sheet.getRange(lastRow_log+1,3);


  if (submit_type_corrective == 'TRUE'){
    type_submitted.setValue('Corrective');
  }


else if (submit_type_Opportunity == 'TRUE'){type_submitted.setValue('Opportunity')}
           else {type_submitted.setValue('Preventative')
    }

我希望单元格显示“校正”,但是即使选中该框也不会显示任何内容

1 个答案:

答案 0 :(得分:1)

Range.getValue()返回一个值作为其对应的类型(例如,数字,布尔值,日期或字符串)。

Google表格中复选框单元格的默认基础类型为布尔值,而不是字符串。

尝试更改:

  if (submit_type_corrective == 'TRUE') {

  if (submit_type_corrective == true) {

或者简单地

  if (submit_type_corrective) {

同样,您必须更新:

  if (submit_type_Opportunity == 'TRUE') {

  if (submit_type_Opportunity == true) {

  if (submit_type_Opportunity) {

提示:您可以通过

检查Google Apps脚本中值的类型。
Logger.log(typeof submit_type_corrective);

enter image description here