多个if语句在Google脚本中不起作用

时间:2019-02-26 17:48:29

标签: google-apps-script

我正尝试使用两个不同的IF语句在编辑特定列后立即获得不同列的时间戳。例如,在第1列中进行任何编辑时,时间戳记应出现在第3列中,而在第10列中进行编辑则应导致时间戳记在第13列中。

但是发生的事情是,一旦第1列被编辑,两个时间戳都将更新。

代码如下:

function onEdit(){
  var spreadsheet=SpreadsheetApp.getActiveSpreadsheet();
  var currentSheet=spreadsheet.getActiveSheet();
  var actRange=currentSheet.getActiveRange();
  var rowIndex=actRange.getRowIndex();
  var colIndex=actRange.getColumn();

      if((colIndex=1) && (rowIndex>1)){
        currentSheet.getRange(rowIndex, 3).setValue(new Date());
        }  
      if((colIndex=10) && (rowIndex>1)){
         currentSheet.getRange(rowIndex, 13).setValue(new Date());
        }
       }

1 个答案:

答案 0 :(得分:0)

=是分配运算符,不是比较运算符。

尝试一下:

function onEdit(e){
  if((e.range.columnStart==1 || e.range.columnStart==10) && (e.range.rowStart>1)){
    e.range.offset(0,3).setValue(new Date());
  }  
}